Как набрать (напечатать) только первую букву группы текста?
Например, как biblatex
определяются bibtex
первые буквы имени?
MWE для начала:
\documentclass[]{article}
\begin{document}
This prints \firstinit{just the first letter}.
My hero is \firstinit{John} \firstinit{Paul} Jones.
\end{document}
решение1
Рутине \justfirst
нужен свой аргументнетв фигурных скобках, но завершается известным количеством. Таким образом, \firstinit
сговаривается с \justfirst
, без ведома пользователя, чтобы предоставить его просто так, с a \relax
в качестве терминатора, потому что он вряд ли появится в тексте пользователя.
\documentclass[]{article}
\def\firstinit#1{\justfirst#1\relax}
\def\justfirst#1#2\relax{#1}
\begin{document}
This prints \firstinit{just the first letter}.
My hero is \firstinit{John} \firstinit{Paul} Jones.
\end{document}
Конечно, если вы имели в виду для многословных фраз вывод первой буквыкаждыйсловом, это немного сложнее. ПЕРЕСМОТРЕНО, чтобы воспользоваться преимуществами рекурсии; ПЕРЕСМОТРЕНО, чтобы исключить использование пакетов. ПЕРЕСМОТРЕНО, чтобы предотвратить поражение от «ламы».
\documentclass[]{article}
\def\firstinit#1{\justfirst#1 \relax\relax}
\def\justfirst#1#2 #3\relax{#1\if\relax#3\else{} \justfirst#3\relax\fi}
\begin{document}
This prints \firstinit{just the first llama in the list}.
My hero is \firstinit{John} \firstinit{Paul} Jones.
\end{document}