我已指派完成以下任務。由於我不擅長乳膠,我想知道它的可能性。
我想在開發文件時分配參數。前任:
file1.tex
\chapter chapter_name1 [arg1=true]or [arg1]
file2.tex
\chapter chapter_name2 [arg1][arg2]
\include<file3> (here it should go to file3.tex and again checks there relevant argument in order to include correct chapter/section)
file3.tex
\section chapter_name1 [arg2][arg3]
\subsection sunsection_name [arg4]
myfile.tex
它有一些循環和解析器來分割輸入參數以包含相關文件。
在終端編譯時,我應該決定(透過傳遞參數)將哪一章插入myfile.pdf
文件中。前任:
pdflatex "\def \parameter {arg2 arg3} input{myfile.tex}"
那麼myfile.pdf
應該有
chapter_name2
section_name1
我聽說過xargs
和xkeyval
包,但我很難理解。我仍然不確定它對我有什麼幫助。我的任務可行嗎?如果是這樣,請建議我該做什麼?
為了避免混淆,我修改了問題。
我為用戶提供了大量的爭論。對於不同的用戶我想顯示不同的內容。為此,我想透過顯示和不顯示文件的某些內容(例如章節、小節)來產生不同的輸出。
我的想法是:在編寫章節/部分時,我聲明它可以透過將參數設為 true 或 false 來向哪種使用者顯示。
如果 user1==true 那麼它應該存在於 user1.pdf 中
例如
巨集是(例如):\Modifiedchapter [bool arg1][bool arg2][bool arg3]
\Modifiedchapter <chapterName1> [user1==true][user2==false][user3==false]
\Modifiedchapter <chapterName2> [user1==true][user2==true][user3==false]
\Modifiedsection <sectionName1> [user1==true][user2==true][user3==true]
如果我透過user1
anduser3
作為“True”,那麼我的輸出應該包含
命令(例如):“\def\arg1=true, arg2=false, arg1=true \input{myfile}”
chapterName1
sectionName1
我怎樣才能做到這一點?
答案1
這是個好主意不是更改標準命令的語法,例如\chapter
和\section
。儘管 LaTeX 允許您改進系統的任何部分,但利用這種靈活性將使您的文件片段難以在任何其他上下文中處理。
您已經在使用\include
它,它旨在支援部分編譯,這似乎是您的真實用例。
使用時\include
你應該不是使用檔案副檔名,你應該只使用
\include{file3}
否則LaTeX將找不到相關aux
文件。
添加\includeonly{file3}
(可以透過類似於您的範例的命令列完成,或者只是添加到您的主文件中)將導致被包含,並且通過跳過file3
引用的任何其他文件。\include