我如何重新定义诸如(实际文本)美元符号之类的字符?

我如何重新定义诸如(实际文本)美元符号之类的字符?

我在文档中使用 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比“小一号” \normalsizerelsize包裹提供\smaller有用的信息。请参阅更改相对于当前字体大小的字体大小

相关内容