我喜欢拥有一致的文档,并且喜欢在写完文档后对格式做出一些决定。我使用自己的占位符 LaTeX 命令来包装一些单词或表达式。例如,我想使用一个名为\Shortcut
wrap 的命令\lstinline
,并带有合适的样式参数。(我\lstinline
最终是否使用并不重要,我可能会将其更改为\textcolor
或其他)。到目前为止,我的方法只是有效。但它在环境中不起作用tabular
。我该如何让它工作?这是我的 MWE:
\documentclass{book}
\usepackage{tabularx}
\usepackage{listings}
\usepackage{xcolor}
\lstdefinestyle{inlcode}{
language=C,
identifierstyle=\color{blue!75!black}
}
\newcommand\Shortcut{\lstinline[style=inlcode]}
\begin{document}
\Shortcut{test} % <--- works
\begin{tabular}[t]{cc}
1 & 2 \\
\Shortcut{one} & two % <--- doesn't work
\end{tabular}
\end{document}
答案1
我已经改变了您的自定义命令的定义以允许使用参数。
的一般语法\newcommand
如下:
\newcommand{<name>}[<number of arguments>]{<code>}
\documentclass{book}
\usepackage{tabularx}
\usepackage{listings}
\usepackage{xcolor}
\lstdefinestyle{inlcode}{
language=C,
identifierstyle=\color{blue!75!black}
}
\newcommand{\Shortcut}[1]{\lstinline[style=inlcode]{#1}}
\begin{document}
\Shortcut{test}
\begin{tabular}[t]{cc}
1 & 2 \\
\Shortcut{one} & two
\end{tabular}
\end{document}