我正在使用模板对于词汇,我需要稍微修改一下。
\newcommand{\entry}[5]{\markboth{#1}{#1}\textbf{#1}\ {/#2/}\ \textit{#3}\ $\bullet$\ {#4}}
% Defines the command to print each word on the page, \markboth{}{} prints the first word on the page in the top left header and the last word in the top right
目前,每个词条的推荐结构如下:四个参数:单词、发音、分类和定义。例如
naive /naív/ 形容词 • 表示缺乏经验、智慧或判断力。
但是许多单词具有多重含义,因此我需要在条目推荐中使用列表,如下所示:
单词 /发音/名词• 含义 1 • 含义 2 形容词• 含义 1 含义 2
有谁能教我如何修改它吗?
答案1
问题在于 TeX 是基于宏的:它最多可以替换传递给宏的 10 个模式。也就是说,据我所知,LaTeX 中没有可用的函数方法。也就是说,提前处理未知数量的变量并不容易。
因此,这里有一种直接的方法:将\newcommand
使用的内容拆分overleaf
成几个,然后逐个调用它们。可能有更优雅的方法来实现这一点。
因此,只需调用\entry
(主题和发音)、\type
(名词、副词等)和其中一个\meanX
(取决于传递的含义数量)宏即可。使用缩进可以更好地跟踪 Latex 源代码中更复杂的条目。不要忘记使用适当的包来显示正确的语音/发音:我的只是一个指示。
\documentclass[10pt]{article}
%\usepackage{}% use the appropriate package for phonetics/pronunciation
\newcommand{\entry}[2]{\textbf{#1}\ {/#2/}}
\newcommand{\type}[1]{\textit{#1}\ $\bullet$}
\newcommand{\meansA}[1]{{#1.}}
\newcommand{\meansB}[2]{{#1;}{ #2.}}
\newcommand{\meansC}[3]{{#1;}{ #2;}{ #3.}}
\begin{document}
\entry{Right}{(rait)}
\type{adjective}
\meansA{morally good}
\type{noun}
\meansB{law}{justice}
\type{adverb}
\meansC{direction}{directly}{correctly}
\entry{Latex}{LAH-tekh}
\type{abbreviation}
\meansA{a typesetting program}
\type{noun}
\meansA{a milky fluid found in many plants}
\end{document}
附言:改用这种方法可能是明智之举\providecommand
。