使 tex 词汇表文件可供系统内的所有文档访问

使 tex 词汇表文件可供系统内的所有文档访问

我创造了一些相当大的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 类目录来添加包含stycls文件的目录。但这也适用于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

以及相关缩写问题/答案在这里
创建单独的首字母缩略词和词汇表

相关内容