有没有包含常见编程语言名称预定义宏的软件包?我的意思是,宏可以帮助以良好的方式编写 C++、C#、F# 等内容,就像 \TeX 一样?我已经编写了一些自己的宏来做到这一点,但肯定有人已经想到了这一点,并在软件包中准备了这样有用的宏。
编辑:这是我自己使用的宏。可能对其他人有用。
\newcommand{\CPP}{C\nolinebreak[4]\hspace{-.05em}\raisebox{.3ex}{\small++}\xspace}
\newcommand{\CS}{C\nolinebreak[4]\hspace{-.05em}\raisebox{.2ex}{\small\#}\xspace}
\newcommand{\FS}{F\nolinebreak[4]\hspace{-.05em}\raisebox{.2ex}{\small\#}\xspace}
答案1
作为答案排版“C++”(cplusplus)最漂亮的方法?show,对于如何排版这些花哨的名字,并没有统一的共识。也没有适合它们的包。
因此,你最好使用你的定义,可能以一种更独立于上下文的方式编写;例如你的
\newcommand{\CPP}{C\nolinebreak[4]\hspace{-.05em}\raisebox{.3ex}{\small++}\xspace}
如果在以较大尺寸排版的章节标题中使用,将会产生错误的结果,因为\small
是硬编码的:
你可以用这个包做得更好relsize
,或者,由于你需要的扩展不是很大,所以可以使用\scalebox
:
\documentclass{article}
\usepackage{xspace,graphicx}
\newcommand{\CPP}{C\kern-.05em \raisebox{.3ex}{\scalebox{.9}{++}}\xspace}
\begin{document}
{\Large\texttt{\string\Large} size: \CPP\par}
\texttt{normal} size: \CPP\par
{\small\texttt{\string\small} size: \CPP\par}
\end{document}
正如您在下图中看到的,字体大小得到了尊重。
使用\kern-.05em
代替可\hspace{-.05em}
确保在 C 和两个加号之间不插入断点。或者
\newcommand{\CPP}{\mbox{C\hspace{-.05em}\raisebox{.3ex}{\scalebox{.9}{++}}}\xspace}
也会这么做。
您可以对\CS
和执行类似的操作\FS