嗨,如果这个问题可能已经被问过了,我很抱歉。我尝试创建一个这样的命令:
\documentclass{scrbook}
\newcommand{\code}[1]{\texttt{#1}}
\newcommand{\smallx}[1]{
\begin{center}
\begin{Verbatim}[commandchars=\\\{\}]
\code{#1}
\end{Verbatim}
\end{center}
}
\begin{document}
\smallx{tensor.\textbf{vector}(name=None, dtype=config.floatX)}
\end{document}
我希望可以像这样使用:
\smallx{namespace.\textbf{vector}(name=None, dtype=config.floatX)}
使用简短的命令显示简单的代码行。
实际上它正在工作。PDF 已创建,但我还收到以下错误:
FancyVerb 错误:...f{vector}(name=None, dtype=config.floatX)}(后跟:)
和
段落在 \FV@BeginScanning 完成之前结束。...f{vector}(name=None)}(后跟:)
输出如下:
有人能向我解释一下我需要做什么才能消除这些错误并让它只显示输入\smallx{}
答案1
您不需要Verbatim
仅仅覆盖它;另一方面,Verbatim
不能将其包含在另一个命令的参数中。
由于您要使用粗体等宽字体,因此您还需要一种具有粗体变体的字体。
最后,在定义中使用空格和空行时要更加小心:TeX 不像 C 那样是自由形式,因为它是一种旨在排版的语言。
\documentclass{scrbook}
\usepackage[lighttt]{lmodern}
\newcommand{\code}[1]{\texttt{#1}}
\newcommand{\smallx}[1]{%
\begin{center}
\code{#1}
\end{center}%
}
\begin{document}
\smallx{tensor.\textbf{vector}(name=None, dtype=config.floatX)}
\end{document}
\begin{center}
和之后的行尾\code{#1}
\end{center}
不需要被屏蔽,因为center
它们构成了一个段落。