带有保留 LaTeX 符号的特殊文本命令

带有保留 LaTeX 符号的特殊文本命令

当然,我在这里遗漏了一些东西,但我记不起=(了。我想构建一个接受特殊 LaTeX 符号并正确显示它们的命令。特殊的意思是\_或其他一些,并尊重空格、页面/换行符。特殊文本可以是\rmfamily\ttfamily,并且不需要连字符。

\documentclass{article}

\newcommand{\specialtext}{\ttfamily #1}

\begin{document}

\specialtext{This a special text with \ # _}

\end{document}

答案1

感谢 David Carlisle 的妙招(见逐字环境中的可选参数),他帮助我做了以下事情(根据 egreg 的建议,针对 T1 编码进行了编辑):

\documentclass{article}
\usepackage{verbatimbox}
\usepackage{readarray}
\renewcommand\encodingdefault{T1}
\parskip 1ex\parindent 0em

\newenvironment{venv}{\verbatim\venvinner}{\endverbatim}
\makeatletter
\newcommand\venvinner[1][]{{\nfss@catcodes\scantokens{\gdef\tmp{#1}}}\tmp}
\makeatother

\begin{document}

\normalsize
\begin{venv}[\LARGE]
this is a test of \LARGE verbatim
\end{venv}

Back to normal text outside of verbatim

\normalsize
\begin{venv}[\large]
\tiny this is a test of \large verbatim
that begins with a \ character, which
is tricky business when using optional 
arguments in a verbatim environment.
\end{venv}

Back to normal text outside of verbatim

\normalsize

\begin{venv}[\rmfamily]
Here is verbatim text in \rmfamily.
\end{venv}

\begin{venv}[\slshape]
And we have verbatim in \slshape
\end{venv}

\end{document}

在此处输入图片描述

附言:最后我想补充的是,该verbatimbox软件包采用了这种 [可选预处理] 逻辑,以便将内容逐字逐句地塞入框中。但在这种情况下,它必须显示在一页上,因为框不能跨页显示。

相关内容