我怎样才能排版(打印)一组文本的首字母?
例如,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
\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}