我该如何在LaTeX中写出漂亮的"C++"呢?例如C$++$
看起来不太好:加号太大,空间太多。
我该如何在LaTeX中写出漂亮的"C++"呢?例如C$++$
看起来不太好:加号太大,空间太多。
在这种情况下的标准解决方案是使用verbatim:
\verb!C++!
~
),但通常您需要在命令后转义空格,以便LaTeX知道它是实际的空格:“\cpp\ is fun”。否则,它会认为空格只是将\cpp
的调用与其余测试分开。 - Michael Mrozek我一直在使用下面的代码来排版我的硕士论文中漂亮的C++代码。这段代码是从一个德语论坛中抄袭而来的。你只需要复制粘贴所有的代码到一个新的.tex文件中,然后选择适合你的部分即可…
\documentclass{article}
\usepackage{relsize}
\usepackage{lipsum}
%c from texinfo.tex
\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
%c C plus plus
\def\C++{%
\ifmonospace%
C++%
\else%
C\kern-.1667em\raise.30ex\hbox{\smaller{++}}%
\fi%
\spacefactor1000 }
%c C sharp
\def\Csharp{%
\ifmonospace%
C\#%
\else%
C\kern-.1667em\raise.30ex\hbox{\smaller{\#}}%
\fi%
\spacefactor1000 }
\begin{document}
\begin{center}
{\Huge C++ $\rightarrow$ \C++ \& \Huge C\# $\rightarrow$ \Csharp}\\
\bigskip
\ttfamily
{\Huge C++ $\rightarrow$ \C++ \& \Huge C\# $\rightarrow$ \Csharp}\\
\bigskip
\sffamily
{\Huge C++ $\rightarrow$ \C++ \& \Huge C\# $\rightarrow$ \Csharp}
\end{center}
\section{\C++}
\lipsum[1]
\subsection{\Csharp}
\lipsum[1]
\end{document}
您可以尝试使用打字机字体。
\texttt{C++}
我发现以下内容可以得到良好的结果:
\def\Cplusplus{C\raisebox{0.5ex}{\tiny\textbf{++}}}
这是我很久以前使用的:
\newcommand*{\Cpp}{C\ensuremath{++}\xspace}
可以像\Cpp
一样使用(需要xspace
包)。但正如你所说,它并不是很美观。
这个回答是关于tex网站上同样问题的,它提供了一个我认为看起来不错的方式。
%C++
\newcommand\Cpp{C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\relsize{-3}{\textbf{++}}}}
%C#
\newcommand\Csh{C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\relsize{-3}{\textbf{\#}}}
在texlogos包中有一个\cpluspluslogo
命令,"+ "符号被正确地定位。
关于此问题的讨论,请参见TeX - LaTeX Stack Exchange:Prettiest way to typeset “C++” (cplusplus)?。