仅排版一组中的第一个字母

仅排版一组中的第一个字母

我怎样才能排版(打印)一组文本的首字母?

例如,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} 

在此处输入图片描述

相关内容