如何在环境表格中使用 \verb?

如何在环境表格中使用 \verb?

我建议将 a作为第三个参数\verb|\sffamily|放入命令中,但 LaTeX 报错 3 个错误。这是我的代码。multicolumn

\documentclass{article}
\usepackage{array}
\begin{document}
\begin{tabular}{|c|c|}\hline
\multicolumn{2}{c|}{\verb|\sffamily|} 
\end{tabular}
\end{document}

这是我的错误 截图 2019-01-31_19-57-04.png

答案1

先前的答案涵盖了类似情况的标准方法:使用\texttt(直接使用或通过新命令),或者以某种方式在正常上下文中保存逐字内容,然后稍后加载。

这是使用 的替代方法fvextra。这需要最新版本 v1.4。 fvextra现在提供了一个\Verb命令(注意大写),在大多数情况下,该命令可在其他命令内运行,但有一些限制,例如没有#%。有关限制的详细信息请参阅文档。

\documentclass{article}
\usepackage{array}
\usepackage{fvextra}
\begin{document}
\begin{tabular}{|c|c|}\hline
\multicolumn{2}{c|}{\Verb|\sffamily|} 
\end{tabular}
\end{document}

fvextra现在还提供了一个命令,用于在另一个命令中不起作用的 \EscVerb情况。类似于和正常的,只是反斜杠用作转义字符(成为、成为等),并且参数必须用一对花括号分隔。 \Verb\EscVerb\Verb\verb\\\\##

\documentclass{article}
\usepackage{array}
\usepackage{fvextra}
\begin{document}
\begin{tabular}{|c|c|}\hline
\multicolumn{2}{c|}{\EscVerb{\\sffamily}} 
\end{tabular}
\end{document}

答案2

这里有一种方法。将逐字内容保存在verbbox之前的中tabular,然后从 中调用它tabular

\documentclass{article}
\usepackage{array,verbatimbox}
\begin{document}
\begin{myverbbox}{\sfverb}\sffamily\end{myverbbox}
\begin{tabular}{|c|c|}\hline
\multicolumn{2}{|c|}{\sfverb}\\
\hline
\end{tabular}
\end{document}

在此处输入图片描述

上面我使用了一个命名的verbbox。如果一次只需要一个,那么你可以使用默认命名的verbbox

\documentclass{article}
\usepackage{array,verbatimbox}
\begin{document}
\begin{verbbox}\sffamily\end{verbbox}
\begin{tabular}{|c|c|}\hline
\multicolumn{2}{|c|}{\theverbbox}\\
\hline
\end{tabular}
\end{document}

答案3

在这种情况下,您不能将其用作\verb另一个命令的参数\multicolumn

对于具体问题,\verb没有必要;我建议做

\newcommand{\cs}[1]{\texttt{\symbol{`\\}#1}}

现在

\multicolumn{2}{c|}{\cs{sffamily}}

将工作。

答案4

我将使用verbdef表格外部的逐字内容定义一个宏,然后在表格内部使用该宏。

\documentclass{article}
\usepackage{array}
\usepackage{verbdef}
\begin{document}
\verbdef\myverbtext|\sffamily|
\begin{tabular}{|c|c|}\hline
\multicolumn{2}{c|}{\myverbtext}
\end{tabular}
\end{document}

newverbs软件包还提供了一个\collectverb{<code>}<char><verbatim><char>宏,它可以为您收集逐字记录并将其提供给宏。但是,这\collectverb{\multicolumn{2}{c|}}|\sffamily|在这里不起作用,因为\collectverb表格行之间不允许出现这种情况(! Misplaced \omit.)。

相关内容