我创造了一些相当大的glossaries
带有符号、首字母缩略词等的文件
Glossary_Acronyms.tex
Glossary_Glossary.tex
Glossary_Symbols.tex
tex
对于有多个文档作为文档的编程项目。每个文档glossaries
文件是单个tex
文件,可在项目的多个文档中重复使用。我创建了一个common
目录来存储整个存储库中所有文档中使用的文件tex
。我设法通过以下定义访问这个公共目录:
\newcommand{\commonpath}{../Common}
并使用此路径语句相对地添加了单个文档的路径。
\input{\commonpath/Glossary_Acronyms.tex}
\input{\commonpath/Glossary_Glossary.tex}
\input{\commonpath/Glossary_Symbols.tex}
这些文档是 SVN 存储库的一部分。我在 Windows 上使用 MikTeX 2.9。我个人使用 Kile 作为 IDE,但依赖 IDE 的文件不是存储库的一部分。我不使用xindy
。我使用 makeindex 和imakeidx
对于我遇到同样问题的索引。我还没有使用命令聚合,例如 arara 或 latexmk,但还是感谢你的提示。
现在我想将另一个新文档作为另一个 SVN 存储库的一部分进行编写,并重新使用相同的文档glossaries
文件。我当然可以将文件复制到新项目中。但是,我想在所有文档中保持一种通用的“语言”。因此,我宁愿在一个位置工作和更改一个文件,而不是保持多个文件同步。对于我的本地安装,我现在知道两个存储库及其tex
文档相对于彼此的相对位置,因此我可以这样做
\input{../[THEORIGINALPROJECT]/Common/Glossary_Acronyms.tex}
\input{../[THEORIGINALPROJECT]/Common/Glossary_Glossary.tex}
\input{../[THEORIGINALPROJECT]/Common/Glossary_Symbols.tex}
。但是,如果第三个人签出两个 SVN 存储库,我无法保证他们使用两个存储库签出的相同相对路径。
现在我的问题是,是否有可能将的绝对定位添加\commonpath
到 LaTeX 搜索路径中?我如何才能访问唯一的glossaries
来自多个项目的文件?
是否有可能使单个tex
文件在整个系统中可用,例如通过directories
的路径MikTeX Console
?还是最好将文件打包成一个新包自己部署?我知道我可以通过生成本地 texmf 类目录来添加包含sty
或cls
文件的目录。但这也适用于tex
文件吗?
有人能给我一些提示吗?最好的方法是什么?
答案1
有很多人比我更有资格回答,所以请随意接受稍后的答案,但是您要求提供提示,并且可能太多了,无法仅进行评论。
我仍然不确定您的 SVN 事务将文件签出到哪里,但应该很容易在更新后保留一个副本以供常见下载。请注意映射驱动器或文件夹路径具有底层空格重音等,有时这些可能会导致问题。
我看到您正在查询 arara 的用途,这可能会产生影响。
MiKTeX 将尊重 TEXINPUTS=,当我将您的词汇表文件放在那里时,输入中就不需要文件夹路径或扩展名。
只需放在所有序言中
\input{Glossary_Acronyms}
\input{Glossary_Glossary}
\input{Glossary_Symbols}
您如何处理构建目录,所有辅助文件都与 main.tex 位于同一目录中?这可能会影响混合相对和绝对路径的声明。请注意,; 语法与 Windows 略有不同,但路径在所有机器上都应该是 *nix/style
set TEXINPUTS=.;..//;directory/on/user/machine;directory/on/server;etc
您对词汇表的特定查询可能适合第 7.3 节https://en.wikibooks.org/wiki/LaTeX/Glossary#Glossary_definitions
以及相关缩写问题/答案在这里
创建单独的首字母缩略词和词汇表