修改模板

修改模板

我正在使用模板对于词汇,我需要稍微修改一下。

\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

相关内容