diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/beamer/base/beamerbaseverbatim.sty |
Initial commit
Diffstat (limited to 'macros/latex/contrib/beamer/base/beamerbaseverbatim.sty')
-rw-r--r-- | macros/latex/contrib/beamer/base/beamerbaseverbatim.sty | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/macros/latex/contrib/beamer/base/beamerbaseverbatim.sty b/macros/latex/contrib/beamer/base/beamerbaseverbatim.sty new file mode 100644 index 0000000000..8017e8ada3 --- /dev/null +++ b/macros/latex/contrib/beamer/base/beamerbaseverbatim.sty @@ -0,0 +1,167 @@ +% Copyright 2003--2007 by Till Tantau +% Copyright 2010 by Vedran Mileti\'c +% Copyright 2011,2012,2015 by Vedran Mileti\'c, Joseph Wright +% Copyright 2016 by Joseph Wright +% Copyright 2017,2018 by Louis Stuart, Joseph Wright +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Public License. +% +% See the file doc/licenses/LICENSE for more details. + +\mode +<presentation> + + +\newwrite\beamer@verbatimfileout + +\def\beamer@verbatimreadframe{% + \begingroup + \let\do\@makeother\dospecials + \count@=127 % + \@whilenum\count@<255 \do{% + \advance\count@ by 1 % + \catcode\count@=11 % + }% + \@makeother\^^L% and whatever other special cases + \@makeother\^^I % Allow tab chars + \endlinechar`\^^M \catcode`\^^M=12% + \@ifnextchar\bgroup{\afterassignment\beamer@specialprocessframefirstline\let\beamer@temp=}{\beamer@processframefirstline}}% + +{ + \catcode`\{=12 %\} + \catcode`\<=1 %\> + \gdef\beamer@specialprocessframefirstline<%>{ + \beamer@processframefirstline{%} + } +} + +\begingroup + \catcode`\^^M=12 % + \endlinechar=-1 % + \long\gdef\beamer@processframefirstline#1#2^^M{% + \def\beamer@test{#1#2}% + \ifx\beamer@test\beamer@stopframefirst% + \let\next=\beamer@framewritten% + \else% + \def\beamer@test{#1}% + \def\beamer@test@par{\par}% + \ifx\beamer@test\beamer@test@par + \def\beamer@test{^^J}% + \else% + \@onelevel@sanitize\beamer@test + \edef\beamer@test{\beamer@test\space}% + \edef\beamer@test{\expandafter\zap@space\beamer@test\@empty}% + \fi + \@temptokena{#2}% + \immediate\write\beamer@verbatimfileout{\beamer@test\the\@temptokena}% + \let\next=\beamer@processframeline% + \fi% + \next% + }% + \protected\long\gdef\beamer@processframeline#1^^M{% + \edef\beamer@test{\beamer@strip@whitespace#1\beamer@strip@stop}% + \ifx\beamer@test\beamer@stopframe% + \let\next=\beamer@framewritten% + \else% + \immediate\write\beamer@verbatimfileout{#1}% + \let\next=\beamer@processframeline% + \fi% + \next% + }% +\endgroup + +\begingroup +\lccode`\+=`\^^I % +\catcode`\ =12\relax +\lowercase{% +\endgroup +\gdef\beamer@strip@whitespace#1{% +\ifx#1\beamer@strip@stop +\else +\ifx#1 \expandafter\expandafter\expandafter\beamer@strip@whitespace +\else +\ifx#1+\expandafter\expandafter\expandafter\expandafter\expandafter +\expandafter\expandafter\beamer@strip@whitespace +\else +\noexpand#1% +\beamer@strip@end +\fi +\fi +\fi +}% +}% + +\long\def\beamer@strip@end\fi\fi\fi#1\beamer@strip@stop{\fi\fi\fi\unexpanded{#1}} +\def\beamer@strip@stop{\beamer@strip@stop} + +\def\beamer@setupstoppers#1{% + { + \escapechar=-1\relax% + \xdef\beamer@stopframe{\string\\end\string\{#1\string\}} + \xdef\beamer@stopframefirst{\noexpand\end\string\{#1\string\}} +} +} + + +\def\beamer@framewritten{\endgroup% + \beamer@afterexternalframe% +} + + + + +% The following code is partly adapted from code from the alltt package. + +\mode +<all> +{ +\begingroup +\lccode`\~=`\' +\lowercase{\endgroup +\newenvironment{semiverbatim}{% + \trivlist + \item\relax + \if@minipage + \else + \vskip\parskip + \fi + \leftskip\@totalleftmargin + \rightskip\z@skip + \parindent\z@ + \parfillskip\@flushglue + \parskip\z@skip + \@@par + \@tempswafalse + \def\par{% + \if@tempswa + \leavevmode\null\@@par\penalty\interlinepenalty + \else + \@tempswatrue + \ifhmode\@@par\penalty\interlinepenalty\fi + \fi} + \obeylines + \def\verbatim@nolig@list{\do\`\do\,\do\'\do\-} + \verbatim@font + \let\org@prime~% + \everymath\expandafter{\the\everymath + \catcode`\'=12 \let~\org@prime} + \everydisplay\expandafter{\the\everydisplay + \catcode`\'=12 \let~\org@prime} + \def\dospecials{\do\ \do\$\do\&% + \do\#\do\^\do\_\do\%\do\~\do\`\do\,\do\'\do\-} + \let\do\@makeother + \dospecials + \def\\{\char`\\} + \def\{{\char`\{} + \def\}{\char`\}} + \frenchspacing\@vobeyspaces + \everypar \expandafter{\the\everypar \unpenalty}} +{\endtrivlist}} +} + + +\mode +<all> |