%%
%% 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-2021 by Martin Scharrer <martin@scharrer-online.de>
%% --------------------------------------------------------------------
%% 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}[%
    2021/01/06
    v1.6
    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'.
