%% %% This is file `newverbs.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% newverbs.dtx (with options: `newverbs.sty') %% %% IMPORTANT NOTICE: %% %% For the copyright see the source file. %% %% Any modified versions of this file must be renamed %% with new filenames distinct from newverbs.sty. %% %% For distribution of the original source see the terms %% for copying and modification in the file newverbs.dtx. %% %% This generated file may be distributed as long as the %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% Copyright (c) 2012-2022 by Martin Scharrer %% -------------------------------------------------------------------- %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. %% %% The Current Maintainer of this work is Martin Scharrer. %% %% This work consists of the files newverbs.dtx and newverbs.ins %% and the derived file newverbs.sty. \ProvidesPackage{newverbs}[% 2022/10/25 v1.6a Define new 'verb' commands and short verb. characters] \newcommand*\newverbcommand{\new@verbcommand\newcommand} \newcommand*\renewverbcommand{\new@verbcommand\renewcommand} \newcommand*\provideverbcommand{\new@verbcommand\providecommand} \def\new@verbcommand#1#2{% \@ifnextchar[% {\new@@verbcommand{#1}{#2}}% {\new@@verbcommand{#1}{#2}[\verb]}% } \let\newverbs@end\@empty \def\new@@verbcommand#1#2[#3]#4#5{% #1*#2{% \relax\ifmmode\hbox\else\leavevmode\null\fi \bgroup \newverbcommand@settings \ifx\newverbs@end\@empty \expandafter\def\expandafter\verb@egroup\expandafter{\verb@egroup\newverbs@end}% \fi \begingroup\def\@tempa{#5}% \expandafter\expandafter\expandafter\endgroup \expandafter\expandafter\expandafter\def \expandafter\expandafter\expandafter\newverbs@end \expandafter\expandafter\expandafter{\expandafter\@tempa\newverbs@end\egroup}% \def\newverbs@txend{#5\egroup}% \verbatim@font\let\verbatim@font\relax #4#3% }% } \def\newverbs@tabularxsupport{% \begingroup \def\origa@TX@vb##1{\def\@tempa####1##1{\toks@{####1}\edef\@tempa{\the\toks@}% \expandafter\TX@v\meaning\@tempa\\ \\\ifnum0=`{\fi}}\@tempa!} \def\origb@TX@vb##1{\def\@tempa####1##1{\toks@{####1}\edef\@tempa{\the\toks@}% \expandafter\TX@v\meaning\@tempa\\\\\ifnum0=`{\fi}}\@tempa!}% \ifcase0% \ifx\TX@vb\origa@TX@vb 1\else \ifx\TX@vb\origb@TX@vb 1\fi\fi \relax \endgroup \PackageWarning{newverbs}{Couldn't patch 'TX@vb' macro of the 'tabularx' package. Definition unknown.}% \else \endgroup \PackageInfo{newverbs}{Patching 'TX@vb' macro of the 'tabularx' package.}% \def\TX@vb##1{\def\@tempa####1##1{\toks@{####1}\edef\@tempa{\the\toks@}% \expandafter\TX@v\meaning\@tempa\\\\\ifnum0=`{\fi}\newverbs@txend}\@tempa!}% \fi \let\newverbs@tabularxsupport\relax } \def\newverbs@txend{} \@ifpackageloaded{tabularx}{% \newverbs@tabularxsupport }{% \AtBeginDocument{\@ifpackageloaded{tabularx}{\newverbs@tabularxsupport}{}}% } \def\newverbcommand@settings{% \let\verb@orig@egroup\verb@egroup \let\verbbox\@tempboxa } \provideverbcommand{\qverb}{\qverbbeginquote}{\qverbendquote} \@ifundefined{openinnerquote}{% \def\qverbbeginquote{``}% \def\qverbendquote{''}% }{% \def\qverbbeginquote{\openautoquote}% \def\qverbendquote{\closeautoquote}% } \newverbcommand{\fverb} {\setbox\verbbox\hbox\bgroup\color@setgroup} {\color@endgroup\egroup\fbox{\box\verbbox}} \RequirePackage{shortvrb} \def\MakeShortVerb{% \@ifstar {\newverbs@MakeShortVerb*}% {\newverbs@MakeShortVerb{}}% } \def\newverbs@MakeShortVerb#1{% \@ifnextchar[% {\newverbs@@MakeShortVerb{#1}}% {\@MakeSpecialShortVerb{#1}{\verb}}% } \def\newverbs@@MakeShortVerb#1[#2]{% \@MakeSpecialShortVerb{#1}{#2}% } \def\@MakeSpecialShortVerb#1#2#3{% %\expandafter\ifx\csname cc\string#3\endcsname\relax %\else % \DeleteShortVerb{#3}% %\fi \def\@shortvrbdef{#2#1}% \@MakeShortVerb{#3}% } \newcommand*\MakeSpecialShortVerb{% \@ifstar {\@MakeSpecialShortVerb{*}}% {\@MakeSpecialShortVerb{}}% } %% \subsection{Collect verbatim argument} \newcommand*\collectverb{% \begingroup \verbatim@font \@ifstar \@scollectverb \@collectverb } \def\@collectverb#1{% \verb@eol@error \let\do\@makeother \dospecials \@vobeyspaces \frenchspacing \@noligs \@@collectverb{#1}% } \def\@scollectverb#1{% \verb@eol@error \let\do\@makeother \dospecials \@noligs \@@collectverb{#1}% } \def\@@collectverb#1#2{% \ifnum`#2=`\{% \catcode`\}\active \else \catcode`#2\active \fi \begingroup \ifnum`#2=`\{% \lccode`\~`\}% \else \lccode`\~`#2% \fi \lowercase{\endgroup \def\@@@collectverb##1~}{#1{##1}\endgroup}% \@@@collectverb } \newcommand*\collectverbenv{% \begingroup \verbatim@font \@ifstar \@scollectverbenv \@collectverbenv } \def\@collectverbenv#1{% \newverb@catcodes \@vobeyspaces \frenchspacing \@noligs \expandafter\@@collectverbenv\expandafter{\@currenvir}{#1}% } \def\@scollectverbenv#1{% \newverb@catcodes \@noligs \expandafter\@@collectverbenv\expandafter{\@currenvir}{#1}% } \begingroup \catcode`\|=0 \catcode`\(=1 \catcode`\)=2 \@makeother\{ \@makeother\} \@makeother\\ |catcode`|^^M=|active% |gdef|@@collectverbenv#1#2(% |long|def|@@@collectverb##1^^M##2^^M\end{#1}(#2(##2)|endgroup|end(#1))% |@@@collectverb% )% |endgroup% \newcommand*\Collectverb{% \begingroup \@ifstar \@sCollectverb \@Collectverb } \def\@Collectverb#1{% \verb@eol@error \let\do\@makeother \dospecials \obeyspaces \@@Collectverb{#1}% } \def\@sCollectverb#1{% \verb@eol@error \let\do\@makeother \dospecials \@@Collectverb{#1}% } \def\@@Collectverb#1#2{% \ifnum`#2=`\{% \catcode`\}\active \else \catcode`#2\active \fi \begingroup \ifnum`#2=`\{% \lccode`\~`\}% \else \lccode`\~`#2% \fi \lowercase{\endgroup \def\@@@Collectverb##1~}{\endgroup#1{##1}}% \@@@Collectverb } \newcommand*\Collectverbenv{% \begingroup \@ifstar \@sCollectverbenv \@Collectverbenv } \def\@Collectverbenv#1{% \newverb@catcodes \obeyspaces \expandafter\@@Collectverbenv\expandafter{\@currenvir}{#1}% } \begingroup \catcode`\^^I=\active \gdef\newverb@catcodes{% \let\do\@makeother \dospecials \obeylines \endlinechar=13 \catcode`\^^I=\active \def^^I{\newverb@tab}% } \gdef^^I{\newverb@tab}% \endgroup \edef\newverb@tab{\space}%\space\space\space} \def\@sCollectverbenv#1{% \newverb@catcodes \expandafter\@@Collectverbenv\expandafter{\@currenvir}{#1}% } \begingroup \catcode`\|=0 \catcode`\(=1 \catcode`\)=2 \@makeother\{ \@makeother\} \@makeother\\ |catcode`|^^M=|active% |gdef|@@Collectverbenv#1#2(% |long|def|@@@Collectverb##1^^M##2^^M\end{#1}(|endgroup#2(##2)|end(#1))% |@@@Collectverb% )% |gdef|misj(|def^^M(^^J))% |endgroup% \newcommand\newverbsfont{% \verbatim@font \frenchspacing } \newcommand*\Verbdef{% \@ifstar {\@Verbdef*}% {\@Verbdef{}}% } \def\@Verbdef#1#2{% \Collectverb#1{\DeclareRobustCommand#2}% } \providecommand*\verbdef{% \@ifstar {\newverbs@verbdef*}% {\newverbs@verbdef{}}% } \def\newverbs@verbdef#1#2{% \Collectverb#1{\newverbs@@verbdef{#2}}% } \def\newverbs@@verbdef#1#2{% \DeclareRobustCommand{#1}{{\newverbsfont#2}}% } \endinput %% %% End of file `newverbs.sty'.