我有以下 LaTeX:
\documentclass{article}
\begin{document}
\newcommand{\lit}[1]{{\texttt #1}}
\lit{()} \lit{(hello)} \lit{(}\lit{)}
\lit{hello}
\end{document}
输出结果如下:
我很好奇为什么前两个右括号与前括号的样式不同。有什么想法吗?
答案1
\newcommand{\lit}[1]{{\texttt #1}}
\lit{()}
经过一步扩展后\lit{()}
变为:
\texttt ()
\texttt
需要一参数,用括号括起来:
\texttt{(})
因此,第一个开括号是用打字机字体书写的,而第二个开括号则不是。
因此你需要在周围加上花括号#1
:
\newcommand{\lit}[1]{\texttt{#1}}
答案2
heiko 的回答很好,但还有另一种方法:
\newcommand{\lit}[1]{{\ttfamily #1}}
\ttfamily
是“持久的”;它会影响以下文本中的所有内容,直到组结束。它与\bfseries
或平行\itshape
。