使 tex 詞彙表文件可供跨系統的所有文件訪問

使 tex 詞彙表文件可供跨系統的所有文件訪問

我創建了一些相當大的glossaries帶有符號、縮寫詞等的文件

Glossary_Acronyms.tex
Glossary_Glossary.tex
Glossary_Symbols.tex

tex對於具有多個文件作為文檔的程式設計項目。每個glossariestexfile 是一個可在專案的多個文件中重複使用的單一檔案。我建立了一個目錄來儲存整個儲存庫中所有文件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 儲存庫,我無法保證他們使用 2 個儲存庫檢查的相同相對路徑。

現在我的問題是,是否有可能將絕對定位添加\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 位於同一目錄中的所有 aux 檔案這可能會對混合相對和絕對路徑的聲明產生影響。請注意 ;語法與 Windows 略有不同,但路徑應為 *nix/style,因此在所有電腦上

set TEXINPUTS=.;..//;directory/on/user/machine;directory/on/server;etc

您對術語表的特定查詢可能適合第 7.3 節https://en.wikibooks.org/wiki/LaTeX/Glossary#Glossary_definitions

以及相關的縮寫問題/答案在這裡
建立單獨的首字母縮寫和術語表列表

相關內容