如何在LaTeX中表示类名?

17

您认为在 LaTeX 文档中呈现类名的最佳方式是什么(写有关软件的文章)。

我目前正在使用 \texttt(等宽字体),这通常很好用,但是我的类名会超出页面边缘。

因此,我要求:

  • 提供另一种(美观)表示类名的替代方案
  • 提供确保我的类名不会超出页面边缘的方法

致敬, Touko


如果有人试图排版 LaTeX 类的名称,惯常做法是使用\textsf{classname} - Alex Hirzel
3个回答

19

\texttt是一个很好的选择。

如果您的类名最终“超出边界”,那是因为LaTeX默认不会对\texttt文本进行连字号分隔。 (您可能会因此收到“overfull hboxes”的警告。)

有两种可能的解决方案:要么重写文本,使类名不出现在行尾,要么告诉LaTeX对类名进行连字号分隔(如果这对您可接受)。 对于后者,请查看hyphenat package。 尝试像这样使用:

\usepackage[htt]{hyphenat}

你还可能需要告诉LaTeX在哪些类名称处断字,方法如下:

This\-Is\-My\-Long\-Class\-Name

(对于类ThisIsMyLongClassName)。


2
为了让“over-margin-going”类名换行并使用连字符,\sloppy 看起来可以很好地解决。当找到这个连字号时,可以在 http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyphoff 中找到更多信息。 - Touko

13

也许更好的方法是定义自己的宏:

\newcommand{\classname}[1]{\texttt{#1}}

然后您可以像这样使用它:

\classname{MyClass}

这样做意味着你的类名会被标记为类名,而不是打字机风格的文本。


4
您可以使用url包,尽管它的名字是url,但它可以用于以打字机字体排版任何类型的文本,允许换行。

嗯,\url{}具有丰富的内置逻辑,专门用于排版URL!尝试滥用它来排版打字机字体的随机内容可能一开始看起来很吸引人,但后来可能会让你吃亏。 - Gyom
@Gyom 我说的是“url包”,而不是“\url命令”。该包的文档中写道:“[它]旨在用于电子邮件地址、超链接、目录/路径等通常没有空格的内容。[...]可以使用\cs{urldef}定义新的类似url的命令。” - Jouni K. Seppänen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接