我必须承认,我对 LaTeX 几乎一无所知。无论如何,我的问题如下:
我想在文本中包含符号\flat
和\sharp
。不幸的是,只有这样输入时才会收到错误。所以我在某处声明了这一点
\newcommand{\vb}{\ensuremath{\flat}}
而且效果很好。不幸的是,我需要带有此符号的文本始终为斜体。因此,当我写B\vb
(斜体)时B
,和平面符号将相交。
有什么方法可以强制将平面符号变为斜体吗?
答案1
字体中没有斜体。但如果你确实需要它,并且你使用 pdfTeX 直接输出为 PDF,那么你可以尝试这个:
\def\flatit{\setbox0=\hbox{$\flat$}%
\pdfliteral{q 1 0 .3 1 0 0 cm}\rlap{$\flat$}\pdfliteral{Q}\kern\wd0 }
{\it B\flatit C}
如果您没有使用直接 PDF 输出的 pdfTeX,而是通过(x)dvipdfm(x)
(XeTeX 选择这种方式)创建 PDF,那么您可以添加以下定义:
\def\pdfliteral#1{\special{pdf:literal #1}}
答案2
如果使用正确的输入,符号就不会发生冲突:
\documentclass{article}
\begin{document}
{\itshape B$\flat$ B$\sharp$}
\textit{B}$\flat$ \textit{B}$\sharp$
$B\flat$ $B\sharp$
\end{document}
如果你真的需要在斜体上下文中使用平面符号,请在其前面加上\/
:
{\itshape B\/$\flat$}
当然,您可以像以前一样定义您的个人命令。