更新:这里已经制定了一个解决方案:\ifthenelse 中的字符串比较
重复使用文本的另一种方法是提炼包裹如上所述这里。
我正在翻译一部古印度/藏文文本(以诗节写成)及其注释(以散文写成)。我想将根文本的诗节(原文加上我的翻译)放在一个单独的文件中。然后我想在其他不同的文本中重复使用它:仅翻译根文本,翻译注释并插入引用的根诗节等等。
我认为这对 XML 来说有点儿像,但是对我来说这似乎太复杂了...所以我想用乳胶来做。
我的 root.tex 就像一个数据库:
记录 1:节号,原文,德语翻译,另一种翻译
记录 2: stanza-nr、原文、德语翻译、另一种翻译 ....
然后,在我的 publication.tex 中,我会使用宏命令(例如 \insertroot[g]{stanza-nr})从 root.tex 中获取数据。(可选参数可以帮助我插入我想要的内容,德语翻译、原文、两者......)
我开始用简单的方法做这件事:我在 root.tex 中为每个节定义一个 \newcommand{stanzaxxx}{}(其中 xxx 是节的字母编号,因为 Latex 不接受命令中的数字)。我通过 publication.tex 中的 \input{root} 使这些宏可用,并在适当的位置插入宏 \stanzanoxxx。这意味着我必须为每个节创建一个新命令(文本中大约有 1.000 个)。
我认为应该有一个更智能的解决方案——我想也许 Bibtex 也可以为此目的进行调整?
欢迎任何建议。
我现在的做法是这样的:
root.tex 的一部分 - 每个节都有自己的命令(a 表示 0、b 表示 1 等):
\newcommand{\abaab}{1. Mich respektvoll verneigend vor den
Sugatas, vor dem Körper der Wahrheit, den sie besitzen,
sowie vor ihren Kindern und ebenso vor allen, die der
Verehrung wert sind, will ich die Ausübung der Disziplin
der Sugata-Kinder entsprechend den Schriften in
zusammengefasster Form darlegen.}
\newcommand{\abaac}{2. Etwas, das es zuvor noch nicht
gegeben hat, habe auch ich hier nicht zu sagen; und ich
besitze nicht die Kunstfertigkeit in der Komposition von
Schriften: Deshalb habe ich auch keine Absicht, anderen zu
nutzen; vielmehr schreibe ich dieses, um meinen eigenen
Geist daran zu gewöhnen.}
\newcommand{\abaad}{3. Aufgrund der Gewöhnung an das
Heilsame mag die Kraft meines Vertrauens durch diese
[Kontemplationen] zeitweilig anwachsen; und wenn andere,
die mir in ihren Veranlagungen ähnlich sind, diese sehen,
so mag es auch für sie von Bedeutung sein.}
commentary.tex 的一部分 - 在此示例中,第 01 章的第 001 节是通过相应的宏命令插入的:
\begin{quote}
\abaab{}
\end{quote}
Der Autor verneigt sich respektvoll mit den drei Toren [Körper, Rede und Geist] vor den
Objekten der Verehrung. Zunächst verneigt er sich vor den Drei Juwelen: ... etc. etc.
仅包含根节的 publication.tex 的一部分:
\chapter*{Eintritt in das Leben zur Erleuchtung}
\section*{1. Die Vorzüge des Erleuchtungsgeistes}
\abaab{} \par
\abaac{} \par
\abaad{} \par
\abaae{} \par
优点是,如果我在 root.tex 中更正翻译,它将自动影响所有其他出版文件中的引用。
我想要的是这样的:
每条记录对应一个节(否、原文、翻译):
{1}{bde shegs chos kyi sku ...}{Vor den Sugatas, ihrem Dharmakaya ...}
{2}{sngon chad ma byung ba ...}{Etwas, was bisher noch nicht gesagt ...}
ETC。
当打印节时,我希望通过宏(例如 \stanza{1})检索数据,例如,它会告诉 Latex 检索节 1 的翻译。类似这样的操作。这样我就不必为每个节定义单独的命令了。