僅排版組中的第一個字母

僅排版組中的第一個字母

如何僅排版(印刷)一組文字的第一個字母?

例如,如何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與 合謀,以 a作為終止符來提供它,因為它不太可能出現在用戶文本中。\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} 

在此輸入影像描述

相關內容