%20com%20sa%C3%ADda%20de%20%5Cjobname%2F%5Ctoday.png)
Eu tenho usado "FauxSC" deSteven B. Segletese estou muito feliz com isso. Exceto uma coisa que não consigo resolver: fornecer texto normal como entrada está tudo bem, mas assim que for \today ou \jobname ou qualquer comando desse tipo (que acaba cuspindo texto), ele quebra com umConstante alfabética inadequada.
MWE acabou no original de Stevens, basta copiá-lo e colocar um \fauxsc{\today}.
Meu TeX, infelizmente, não é bom o suficiente para consertar isso. Acho que é a quebra do \ifnum, mas não sei como fazer com que ele assuma o valor do \today.
Qualquer ajuda seria ótima, obrigado!
Responder1
Você pode definir um \fauxscexp
para os casos em que possui uma sequência de controle para expandir.
\documentclass{article}
\usepackage{fontspec}
\newcommand\fauxsc[1]{\fauxschelper#1 \relax\relax}
\def\fauxschelper#1 #2\relax{%
\fauxschelphelp#1\relax\relax%
\if\relax#2\relax\else\ \fauxschelper#2\relax\fi%
}
\def\Hscale{.83}\def\Vscale{.72}\def\Cscale{1.00}
\def\fauxschelphelp#1#2\relax{%
\ifnum`#1>``\ifnum`#1<`\{\scalebox{\Hscale}[\Vscale]{\uppercase{#1}}\else%
\scalebox{\Cscale}[1]{#1}\fi\else\scalebox{\Cscale}[1]{#1}\fi%
\ifx\relax#2\relax\else\fauxschelphelp#2\relax\fi}
\newcommand{\fauxscexp}[1]{%
\begingroup\edef\x{\endgroup\noexpand\fauxschelper#1 \relax\relax}\x
}
\begin{document}
Normal: \fauxsc{Small Caps}
Job name: \fauxscexp{\jobname}
Today: \fauxscexp{\today}
\end{document}