Latex “如何写作”;C++&引用;乳胶

Latex “如何写作”;C++&引用;乳胶,latex,Latex,如何用LaTeX编写“C++”,使输出看起来很好。例如C$++$看起来不太好:加号太大,空间太大。你可以尝试使用打字机字体 \texttt{C++} 此类情况的标准解决方案是使用逐字记录: \verb!C++! 这是我很久以前用过的Looong: \newcommand*{\Cpp}{C\ensuremath{++}\xspace} 像\Cpp一样使用(需要xspacepackage)。但正如你所说,它并不真的美丽

如何用LaTeX编写“C++”,使输出看起来很好。例如
C$++$
看起来不太好:加号太大,空间太大。

你可以尝试使用打字机字体

\texttt{C++}

此类情况的标准解决方案是使用逐字记录:

\verb!C++!

这是我很久以前用过的Looong:

\newcommand*{\Cpp}{C\ensuremath{++}\xspace}

\Cpp
一样使用(需要
xspace
package)。但正如你所说,它并不真的美丽
\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}
对于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{\#}}}

我发现以下几点可以提供很好的结果:

\def\Cplusplus{C\raisebox{0.5ex}{\tiny\textbf{++}}}

软件包中有一个
\cplupluslogo
命令“正确定位“+”符号”


关于TeX-LaTeX堆栈交换的另一个讨论:。

我喜欢这个解决方案,但C看起来不好…不像其他文本,所以我想将plusplus符号附加到一个普通的C上。我尝试使用它,但不起作用:C\thinspace\verb!++!我知道了,C{}\动词!++!。。。这看起来像是我想要的,但是我如何定义它,它不会吞噬下面的空间;这样做:\def\cpp{C{}\texttt{++}@user643722您可以在定义中包含一个不间断的空格(
~
),但通常在命令后转义该空格,以便LaTeX知道它是一个实际的空格:“\cpp\很有趣”。否则,它会认为空格只是将对
\cpp
的调用与test@user643722空间被解析器占用,因此您无法在定义中修复它。我自己看到和使用的方法是将宏括在大括号内,如“{\cpp}很有趣”,这将使解析器不再依赖下面的空格来注意宏名称的结束。谢谢!!结果很好……我在代码中不理解的一个问题……你怎么能把C++没有数学环境或动词“巨大”?对不起,我不理解你的问题。代码中的\mage只是为了让它更可见一点。如果您使用文件开头的定义,您应该能够在任何环境中的任何地方编写\C++代码……好的,谢谢,我对加号的使用感到有点困惑。我知道数学环境是不可或缺的,但现在我意识到不是。还不错;对我来说,这样看起来好一点:\def\ifmonospace{\ifdim\fontdimen3\font=0pt}\def\Cpp{%\ifmonospace{C++}\else{C\kern-.13em\raise.65ex\hbox{\textbf{\tiny{++}}\fi spacefactor1000}回答得不错,尽管我更喜欢\textsf{C\kern-.05em\raise 43ex\hbox{\smer[5]{\textbf{tiny{+}.04em}你可以看看另一个问题,它看起来很棒,效果也很好。另请参见tex.se.com上的建议答案:我喜欢这个结果,而且它不需要添加一大堆额外的内容。无法编辑,因为编辑队列已满,但C#行上缺少一个结尾}。