.png)
나는 "FauxSC"를 사용해 왔습니다.스티븐 B. 세글레츠그리고 그것에 매우 만족합니다. 내가 해결할 수 없는 한 가지를 제외하면: 일반 텍스트를 입력으로 제공하는 것은 모두 괜찮지만 \today 또는 \jobname 또는 그러한 명령(결국 텍스트를 뱉어내는)이 발생하자마자잘못된 알파벳 상수.
MWE는 Stevens 원본으로 끝났습니다. 복사해서 \fauxsc{\today}를 넣으세요.
불행하게도 내 TeX는 이 문제를 해결하기에 충분하지 않습니다. \ifnum이 깨지는 것 같은데 \today의 값을 어떻게 가져오는지 모르겠습니다.
어떤 도움이라도 좋을 것입니다. 감사합니다!
답변1
\fauxscexp
확장할 제어 순서가 있는 경우에 대해 정의할 수 있습니다 .
\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}