以纯文本形式写入“C++”会导致设置不好看,因为“+”号太大且间距太大:
我在网上看到过几种用于排版“C++”符号的宏,从轻微的字距调整到缩小、升高和降低“+”符号。您的\cpp{}
宏版本是什么?
答案1
根据普遍要求(或至少类似的要求),我对此作出了答复。
C++ FAQ 提到了这个具体问题:https://isocpp.org/wiki/faq/misc-environmental-issues#latex-macros他们希望提供的两件事是更好的排版和防止换行,给出了两种可能性:
\newcommand{\CC}{C\nolinebreak\hspace{-.05em}\raisebox{.4ex}{\tiny\bf +}\nolinebreak\hspace{-.10em}\raisebox{.4ex}{\tiny\bf +}}
\def\CC{{C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\tiny\bf ++}}}
第一个可以防止换行,稍微提高 ++ 并将它们放在更近的位置。
第二个仅防止换行并稍微提高++。
这两个选项都将 ++ 加粗,并将其排版得小一点。链接中还提供了另外两个,但我不明白它们有什么重要性,似乎可以防止换行这必须有这样的宏。
编辑:如果您想使用相对大小,可以使用relsize
包裹,代码变成
\newcommand\CC{C\nolinebreak\hspace{-.05em}\raisebox{.4ex}{\relsize{-3}{\textbf{+}}}\nolinebreak\hspace{-.10em}\raisebox{.4ex}{\relsize{-3}{\textbf{+}}}}
\newcommand\CC{C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\relsize{-3}{\textbf{++}}}}
不过我没有最喜欢的,从来不需要排版 C++ :)。经过一些尝试,第二个绝对是我的最爱,带字距调整的版本看起来太像 Haskell 运算符了。
答案2
就我个人而言,我最喜欢它的外观C\texttt{++}
。它也非常简单!
答案3
以下是 C++ 标准中的 C++ 排版方式:
\newcommand{\Rplus}{\protect\hspace{-.1em}\protect\raisebox{.35ex}{\smaller{\smaller\textbf{+}}}}
\newcommand{\Cpp}{\mbox{C\Rplus\Rplus}\xspace}
看起来像这样:
答案4
另一个“正确”的方法是使用包裹texlogos
,其中将 C++ 徽标定义为:
\DeclareRobustCommand{\cpluspluslogo}{\hbox{C\hspace{-0.5ex}
\protect\raisebox{0.5ex}
{\protect\scalebox{0.67}{++}}}}
话虽如此,我确实更喜欢其他帖子中展示的外观,尤其是 Pieter 的第二篇。