3

Fonts that do not have real small caps simply scale down capital letters when you use \textsc. This looks unbalanced, as the letters are too thin. Can this be improved?

1 Answers1

8

One idea is to simply scale down capitals and then "fatten" them, which in my opinion looks much better than simple scaling. The fattening can be implemented by copying and shifting by a small amount several times. This example uses the fourier font, which doesn't include real small caps.

\documentclass[a4paper, 11pt, pdftex]{scrartcl}

\usepackage{microtype}
\usepackage{fourier}
\usepackage{graphicx}

\newcommand{\fakesc}[1]{\textls[100]{\rlap{\scalebox{0.8}[0.75]{#1}}\hskip0.02ex\rlap{\scalebox{0.8}[0.75]{#1}}\hskip0.02ex\scalebox{0.8}[0.75]{#1}}}

\begin{document}
\noindent
Lorem Ipsum \textsc{Lorem Ipsum} Lorem Ipsum \\
Lorem Ipsum L\fakesc{OREM} I\fakesc{PSUM} Lorem Ipsum
\end{document}

Here is a pictorial view:

Improved small caps

This solution is not perfect. Vertical serifs (like in the E above) tend to become too thick, and diagonal strokes that were the same thickness as vertical strokes are no longer of the same thickness (like in the M above). However, I think these objections are minor, and the final result is better than the standard fake small caps.

David Carlisle
  • 757,742
  • 5
    Purists will not like this solution, but I'm not a purist...+1 – Steven B. Segletes Nov 04 '13 at 17:32
  • @StevenB.Segletes I think your modification makes the letters look a bit too narrow. With my values, I tried to make the vertical strokes of the letters to be approximately the same for the normal letters and the fake small caps. – Håkon Marthinsen Nov 04 '13 at 22:44
  • Understood. I will delete the prior comment forthwith. – Steven B. Segletes Nov 04 '13 at 22:45
  • @StevenB.Segletes learning new words on tex.se, that's a thing for me, now. – thymaro May 19 '18 at 07:01
  • 1
    @thymaro Language is fun, as long as one does not become omphaloskeptic about it. – Steven B. Segletes May 21 '18 at 10:12
  • This is such a useful answer, but I wonder: is it possible to have \fakesc behave like \textsc for mixed case arguments? That is \fakesc{Lorem Ipsum}?.

    My use case is as follows: I use a variant of the metropolis theme in Beamer, but I use MyriadPro and mdsymbol packages instead of Fira Sans. I like Myriad Pro with coordinated symbols for presentations. But Myriad Pro does not have proper small caps, so I can't currently support two of the title format options provided my the metropolis theme.

    – GTK Dec 31 '18 at 06:03
  • @GTK That is possible, but requires a bit of programming. Maybe you should make it into a separate question. – Håkon Marthinsen Jan 02 '19 at 08:28