我想完成以下任务:编写函数\mydictionary{}
,每两行取下面的内容
aa
bb
cc
dd
ee
ff
etc
并输出格式化
\textbf{aa}\textit{bb}
\textbf{cc}\textit{dd}
\textbf{ee}\textit{ff}
etc
我怎样才能在 LaTeX 中做到这一点?
提前致谢。
答案1
答案2
我是编写宏的新手,因此这里有一个我发现更容易推理的简单变体:使用两个哨兵值,一个用于终止宏,一个用于标识参数的结束。
\documentclass{article}
\def\mydictionary#1 #2 #3!{%
\textbf{#1}\textit{#2}
\ifx Z#3\else\mydictionary#3!\fi}
\begin{document}
\mydictionary
aa
bb
cc
dd
ee
ff
Z!
\end{document}
当然,如果您的文本内部有任何!,或者某些奇数行以 Z 开头,则需要选择不同的分隔符才能获得所需的结果。