我在文档中使用 Palatino 字体的文本/旧式数字,我发现美元符号 ( \$
) 对于大多数美元数字来说太大了。我发现,如果我将美元符号的字体大小减小一号,效果会更好,如下所示:
{\small\$}1,000
但这很麻烦,所以我想进行改变,\$
以便它可以自动处理尺寸变化。
我立即想到的是\def\${{\small\$}}
,但显然(无论如何,在您天真地尝试之后,这显然会导致无限递归。除了 之外,我还可以使用哪种控制序列来表示字体美元符号\$
?
答案1
这是一种可能性;我们只需重新定义\textdollar
(\mathdollar
如果您打算在数学中使用它,则可能如此)。我垂直缩放它,但不水平缩放。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[osf]{mathpazo}
\usepackage{graphicx}
\DeclareTextCommand{\textdollar}{T1}{\scalebox{1}[.85]{\symbol{`\$}}}
\begin{document}
\$100 or \$600
{\footnotesize \$100 or \$600}
\end{document}
注意:根据上下文,命令\$
被定义T1
为(使用编码)执行\textdollar
或\mathdollar
。因此无需重新定义\$
。
答案2
存储原始副本\$
,然后重新定义以满足您的需要:
\documentclass{article}
\let\olddollar\$% Store \$
\begin{document}
This solution is worth \$0.02.
\renewcommand{\$}{{\small\olddollar}}%
This solution is worth \$0.02.
\end{document}
\$
但请注意,当在 a 内部使用时,此更改可能无法按预期工作\footnote
。为此,您应该考虑相对的$
内的字体大小\normalsize
。也就是说,\small
比“小一号” \normalsize
。relsize
包裹提供\smaller
有用的信息。请参阅更改相对于当前字体大小的字体大小。