我在 LaTeX 中创建了大量相同的文档,只有地址发生了变化(并且地址只是 5 个可能中的 1 个)
因此,如果我的可能地址列表是:
DC | 1600 Pennsylvania Avenue, Washington, DC FV | 2014 Forest Hills Drive, Fayetteville, NC NY | 1 World Trade Center, New York, NY SP | 742 Evergreen Terrace, Springfield, USA
我希望能够输入(例如)\fillinadd{DC}
并让它在文本中填写正确的地址,所以如果我有一封这样的信件:
\documentclass{letter}
\signature{Maurice Moss}
\newcommand{\fillinadd}[1]{#1}
\begin{document}
\begin{letter}{
Fire Department \\
\fillinadd{DC}}
\opening{Dear Sir / Madam,}
Fire! Fire! Help me! 123 Carrendon Road. Looking forward to hearing from you.
\closing{All the best,}
\end{letter}
\end{document}
它会将“DC”替换为“1600 Pennsylvania Avenue, Washington, DC”,但如果我输入“SP”,它会打印出 742 Evergreen Terrace。
或者,如果有更好的方法来识别这些可能的地址(即#1,#2等),我也可以使用它。
答案1
如果您只需要五个地址,则将它们定义为命令。您可以将定义放在单独的文件中并将其输入到主文件中,或者直接将它们放在序言中。
\newcommand{\DC}{%
123 Main Street,\\
Washington, DC%
}
\newcommand{\LA}{%
123 Main Street,\\
Los Angeles, CA%
}
如何编写命令将取决于它们的最终用途。这里我假设如下:
\newcommand{\fromaddress}{%
\noindent%
\begin{tabular}{l}
#1\\
\end{tabular}%
}
你可以像这样使用它:
\fromaddress{\DC}
答案2
这是我所做的
\documentclass{letter}
\signature{Maurice Moss}
\newcommand{\DC}{1600 Pennsylvania Avenue, Washington, DC}
\newcommand{\FV}{2014 Forest Hills Drive, Fayetteville, NC}
\newcommand{\NY}{1 World Trade Center, New York, NY}
\newcommand{\SP}{742 Evergreen Terrace, Springfield, USA}
\begin{document}
\begin{letter}{
Fire Department \\ \DC}
\opening{Dear Sir / Madam,}
Fire! Fire! Help me! 123 Carrendon Road. Looking forward to hearing from you.
\closing{All the best,}
\end{letter}
\end{document}