我目前正在为德国一所大学撰写硕士论文。我在工作中使用了几种不同的编解码器(如 H.264)。在我的 Latex 文档中编写它们的正确/合理方法是什么?以下是我的问题示例:
Latex 知道句子的正确结尾吗?(H.264 中的点可能被视为结尾)
I also used H.264 and H.265. I also ...
我应该用 ~ 将两个单词连在一起吗?
I also used DivX~Mpeg-4. I also ...
编解码器名称是否特殊?它们是否应该与普通单词区别对待?
I also used \texttt{H.264}.
我意识到我的问题有点宽泛。希望至少对第 1 点和第 2 点有明确的答案。我希望对问题 3 有“正常”的解答方式(我没有指导方针)
答案1
你的三个问题的答案是
- 是的!:没有空格之间的点并不标记新句子,
- 不!:“DivX Mpeg-4”形成一个封闭的单元,不应分离,但有更好的方法 - 使用
\mbox
- 如示例中所示,并且 - 是的!标记是一种重要的印刷特征。
除了第三点之外,你还要记住 LaTeX 的目的是使用逻辑标记。因此,正如评论所说,您应该定义类似这样的内容\newcommand{\Htwosixfour}{\texttt{H.264}}
。或者更好的是:
\newcommand{\markcodec}{\texttt}
\newcommand{\Htwosixfour}{\markcodec{H.264}}
这样,您就可以通过重新定义一个宏来更改所有编解码器宏的标记,如果您要处理多个编解码器,这一点至关重要。例如,如果出于某些原因,您最终不想有任何标记,您可以说
\newcommand{\markcodec}{\relax}
您还应该使用xspace
专门为这些类型的宏设计的包:\newcommand{\Htwosixfour}{\markcodec{H.264}\xspace}
。
在完整的示例中,我还为整个过程定义了一个包装器,以便在定义编解码器的控制字时不会重复。
\documentclass{article}
\usepackage{xspace}
\newcommand{\markcodec}{\texttt}
\newcommand{\NewCodecMarkup}[2]{%
\providecommand#1{}
\def#1{\mbox{\markcodec{#2}}\xspace}
}
\NewCodecMarkup{\Htwosixfour}{H.264}
\NewCodecMarkup{\DivXmpegfour}{DivX\,Mpeg-4}
%\newcommand\Htwosixfour{\markcodec{H.264}\xspace}
%\newcommand\DivXmpegfour{\markcodec{DivX\nobreakspace Mpeg-4}\xspace}
\begin{document}
I used \Htwosixfour and \DivXmpegfour.
\end{document}
更新
您也可以使用这种轻量级方法(感谢 egreg!):
\documentclass{article}
\newcommand{\codec}[1]{\mbox{\ttfamily #1}}
\begin{document}
I used \codec{H.264} and \codec{DivX\,Mpeg-4}.
\end{document}
现在,这取决于你的喜好,是写\Htwosixfour
还是\codec{H.264}
写。由你决定。如果你是一个优柔寡断的人(:-))并且想同时使用这两种方法,你可以声明
\newcommand{\codec}[1]{\mbox{\ttfamily #1}}
\newcommand{\NewCodecMarkup}[2]{%
\providecommand#1{}
\def#1{\codec{#2}\xspace}
}