排版“C++”(cplusplus)最漂亮的方法?

排版“C++”(cplusplus)最漂亮的方法?

以纯文本形式写入“C++”会导致设置不好看,因为“+”号太大且间距太大:

纯文本形式的“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 ++}}}

第一个可以防止换行,稍微提高 ++ 并将它们放在更近的位置。

版本 1

第二个仅防止换行并稍微提高++。

版本 2

这两个选项都将 ++ 加粗,并将其排版得小一点。链接中还提供了另外两个,但我不明白它们有什么重要性,似乎可以防止换行必须有这样的宏。

编辑:如果您想使用相对大小,可以使用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{++}。它也非常简单!

C++

答案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 的第二篇。

相关内容