5

I am using text/old-style figures in my document with the Palatino font, and I find that the dollar sign (\$) is too large for most dollar figures. I've found that it looks good if I take the font size of just the dollar sign down by one, like so:

{\small\$}1,000

But this is a pain, so I'd like to change \$ so it handles the size shift automatically.

My immediate thought was to do \def\${{\small\$}}, but obviously (obvious after you've naïvely tried it anyway), that results in infinite recursion. What sort of control sequence can I use to represent the font dollar sign other than \$?

3

Here's a possibility; we have just to redefine \textdollar (and possibly \mathdollar, if you plan to use it in math). I scale it vertically, but not horizontally.

\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}

enter image description here

Note. The command \$ is defined (with the T1 encoding) to either do \textdollar or \mathdollar, depending on the context. So there's no need to redefine \$.

2

Store the original copy of \$ and then redefine it to suit your needs:

enter image description here

\documentclass{article}
\let\olddollar\$% Store \$
\begin{document}

This solution is worth \$0.02.

\renewcommand{\$}{{\small\olddollar}}%
This solution is worth \$0.02.

\end{document}

Note though that this change may not work as expected when using \$ inside (say) a \footnote. For that you should consider the relative font size of $ inside \normalsize. That is, \small is "one size smaller" than \normalsize. The relsize package offers \smaller which would help here. See Change font size relative to current font size.

  • Oh, duh :-) Thanks for the tip on relsize – I don't anticipate ever using a dollar sign in anything except running text, but it's always better to head off possible problems ahead of time. So in the end I used \usepackage{relsize} / \let\olddollar\$ / \renewcommand\${{\relsize{-0.5}\olddollar}} – scorchgeek May 11 '15 at 23:09
  • @SorenBjornstad: Use \renewcommand{\$}{{\smaller\$}}. – Werner May 11 '15 at 23:10
  • Unless I've misread it, according to the docs, \smaller is equivalent to \relsize{-1}, which is not what I want – that takes it down to 8 point rather than the 9 point value of \small. – scorchgeek May 11 '15 at 23:11
  • @SorenBjornstad: \smaller is equivalent to \smaller[1] which is equivalent to \relsize{-1}, which prints \small under \normalsize, whatever your \normalsize is. If \normalsize is 10pt, then \small is 9pt. See What point (pt) font size are \Large etc.? – Werner May 11 '15 at 23:17
  • I'm not trying to be contrary (and thanks for your help!), but they are definitely not identical. The docs say: "Half-steps are possible, as in \relsize{-0.5} to change from 10 pt \normalsize to 9 pt \small, but other numbers are rounded to the nearest half-integer." \smaller yields a smaller dollar sign than \relsize{-0.5} (and the dollar sign produced by the latter looks superior in terms of size to my eyes). If I zoom to 500% in my PDF viewer and measure, the unmodified $ is 38pt high, the \relsize{-0.5} and the {\small\$} are both 34pt high, and the \smaller sign is 30pt high. – scorchgeek May 11 '15 at 23:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.