如何创建一个类似\ verb的新LaTeX命令?

时间:2009-11-20 17:39:01

标签: latex

我一直在使用LaTeX,但是从来没有真正弄脏我的手,宣布一个新命令,因为我试图避免这种情况。

但是,我需要经常在我的文档中添加等宽文本,我使用\verb就可以了,除了动词字体大小比普通文本字体大。所以我需要更改字体大小和撤消完成,如\small{}\verb#My monospace code#\normalsize{}。这不是很方便且容易出错。

有更好的方法吗?我可以为此定义一个新命令吗?怎么样?

5 个答案:

答案 0 :(得分:3)

为什么不使用\texttt{}命令获取等宽文本?

我不确定为什么\verb命令会为您提供比正常情况更大的文字(对我而言,\verb与常规文字的尺寸完全相同,而\texttt{}也是如此)。但是,如果您确实想要创建一个新命令来获取较小的等宽文本,则可以尝试在标题中定义命令,如下所示:

\newcommand{\smalltt}[1]{{\small\texttt{#1}}}

[1]表示该命令采用一个参数(文本为小型和等宽的。)当然,您将其用作\smalltt{my smaller monospaced text.}

答案 1 :(得分:1)

正如诺亚所说,\verb文本和正常输出之间的大小不应该不同。发布一个小的,完整的表单示例是个好主意:

\documentclass{article}
\begin{document}
Text and \verb|verbatim % text|.
\end{document}

如果你想通过格式化逐字处理文本,那么观察catcodes的需要就会变得有点复杂。我会查看fancyvrb或listing软件包。

答案 2 :(得分:1)

定义像verbatim命令一样的新命令实际上非常困难。 LaTeX verbatim包中包含一些有用的东西。

如果您使用的是times软件包,则Computer Modern verbatim字体与PostScript时间字体不相符。有关更合适的逐字(打字机)字体,请尝试

\renewcommand{\ttdefault}{aett}

答案 3 :(得分:1)

将以下行放入文档中包含的.sty文件中: \ renewcommand {\逐字@字体} {\ ttfamily \小}

答案 4 :(得分:0)

让我举一些新命令的例子:

\newcommand{\zope}{Zope}

现在我在我的Latex文本中提供\zope,它被上面指定的文本替换。如果我需要进行全局变更,我可以做到这一点。

\newcommand{\bi}{\begin{itemize}}
\newcommand{\ei}{\end{itemize}}

在上述两个命令的帮助下,现在我可以将我的列表编写为:

\bi
\item 1st item
\item 2nd item 
\item and so on...
\ei

这说明了如何在newcommand的帮助下缩短某些命令。

现在让我们考虑一个带有参数的新命令。

\newcommand{\filepath}[1]{\verb!#1!}

要使用此命令,我会编写\filepath{abc.xml}之类的内容,在处理命令时将由\verb!abc.xml!替换。

另一个例子:

\newcommand{\ida}[1]{\textcolor{blue}{#1}}

借助此\ida{myVariable}替换为\textcolor{blue}{myVariable}

我希望这个小教程有助于达到目的。