Latex “如何写作”;C++&引用;乳胶
如何用LaTeX编写“C++”,使输出看起来很好。例如Latex “如何写作”;C++&引用;乳胶,latex,Latex,如何用LaTeX编写“C++”,使输出看起来很好。例如C$++$看起来不太好:加号太大,空间太大。你可以尝试使用打字机字体 \texttt{C++} 此类情况的标准解决方案是使用逐字记录: \verb!C++! 这是我很久以前用过的Looong: \newcommand*{\Cpp}{C\ensuremath{++}\xspace} 像\Cpp一样使用(需要xspacepackage)。但正如你所说,它并不真的美丽
C$++$
看起来不太好:加号太大,空间太大。你可以尝试使用打字机字体
\texttt{C++}
此类情况的标准解决方案是使用逐字记录:
\verb!C++!
这是我很久以前用过的Looong:
\newcommand*{\Cpp}{C\ensuremath{++}\xspace}
像
\Cpp
一样使用(需要xspace
package)。但正如你所说,它并不真的美丽我一直在使用下面的代码在我的硕士论文中键入一个好看的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}
对于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#行上缺少一个结尾}。