我希望在 Latex 数学模式中不仅有斜体数字,还有斜体美元符号。
我发现有些人使用 \pounds 符号可以得到这种效果,但我无法做到这一点,而且无论如何这似乎是一个不受欢迎的效果: 特殊符号 \pounds 更改为美元符号以对齐
那么,获得斜体美元符号的正确方法是什么?如果数字可以是斜体,那么美元符号当然也可以是斜体,对吗?
添加了一个最小工作示例:
\documentclass[]{article}
\usepackage[T1]{fontenc}
\begin{document}
\begin{tabular}{lll}
\verb+\$+ & \$ & as expected\\
\verb+\textit{\$}+ & \textit{\$} & as expected\\
\verb+$\$$+ & $\$$ & as expected\\
\verb+$\mathit\$$+ & $\mathit\$$ & not expected\\
\verb+$\mathit{\mathchar"0024}$+ & $\mathit{\mathchar"0024}$ & not expected\\
\verb+$\mathit{\mathdollar}$+ & $\mathit{\mathdollar}$ & not expected\\
\end{tabular}
\end{document}
答案1
只要您只使用字母和数字\mathit
(特别是没有希腊大写字母),只需更改\mathdollar
为尊重数学组,并添加"7000
到数学代码中。
\documentclass{article}
\usepackage[T1]{fontenc}
\begingroup\edef\x{\endgroup
\mathchardef\mathdollar=\the\numexpr"7000+\the\mathdollar\relax
}\x
\DeclareMathAlphabet{\mathit}{T1}{cmr}{m}{it}
\begin{document}
\begin{tabular}{lll}
\verb+\$+ & \$ & as expected\\
\verb+\textit{\$}+ & \textit{\$} & as expected\\
\verb+$\$$+ & $\$$ & as expected\\
\verb+$\mathit{\$}$+ & $\mathit\$$ & as expected\\
\end{tabular}
\end{document}
这需要将相关字体更改\mathit
为 T1 编码的字体。
不同的策略是重新定义\mathdollar
以用于\text
具体\mathit
案例。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\AtBeginDocument{\sbox0{$\mathit{\xdef\mathitgroup{\the\fam}}$}}
\mathchardef\latexmathdollar=\mathdollar
\protected\def\mathdollar{%
\ifnum\mathgroup=\mathitgroup
\text{\normalfont\itshape\textdollar}%
\else
\latexmathdollar
\fi
}
\begin{document}
\begin{tabular}{lll}
\verb+\$+ & \$ & as expected\\
\verb+\textit{\$}+ & \textit{\$} & as expected\\
\verb+$\$$+ & $\$$ & as expected\\
\verb+$\mathit{\$}$+ & $\mathit\$$ & as expected\\
\end{tabular}
\end{document}
两种代码的输出相同。
答案2
嗯,当我们想在数学模式下使用斜体美元符号时,我们必须有点小心。我的计划是:
- 在数学模式下使用
\mathrm
($$
即 - 称呼
\textit
里面\mathrm
- 类型
\$
在里面\textit
让我们看看这是否有效:
\documentclass[a4paper]{report}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\begin{document}
Here we have an equation: $x + \mathrm{\textit{\$}} = \pounds$.
\end{document}
事实证明确实如此!无需花哨的编码或设置新命令,但每次输入都有些冗长,尤其是如果您在文档中经常使用它。所以在这里,我采用了一种聪明的方法;我完全设置了一个新命令:
\documentclass[a4paper]{report}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\newcommand{\dollarit}{\mathrm{\textit{\$}}}
\begin{document}
Here we have an equation: $x + \dollarit = \pounds$.
\end{document}
现在输入您的文档将是很多更容易,因为您不必\mathrm{\textit{\$}}
每次都输入那些可怕的命令,您只需写下来\dollarit
就可以了!
只需快速说明一下:您不一定要写\dollarit
,您可以指定你自己命令所以它将最适合你(只需将\dollarit
第一个花括号中的内容替换newcommand
为你想要的任何内容即可)。
祝你度过美好的一天。干杯。
编辑:您也可以直接进入\textit{\$}
数学模式,它就会工作。但是,由于将原始文本模式与数学环境混合会带来一些缺陷,我选择建议您采用更长但更安全的方式来实现结果 -当不使用罗马字母时总是用 包围\text
环境\mathrm
;它可以拯救生命。以下是出现在相反的情况。