這似乎是一個非常愚蠢的問題,但我無法弄清楚如何識別要\input
在 xelatex 中輸入的檔案。我認為我正在做正確的事情,但由於某種原因它不起作用。
我的主文件如下圖所示:
\documentclass{report}
\begin{document}
\input(testinput.tex)
\end{document}
testinput.tex
我在同一目錄中有一個名為的檔案。如果在該目錄中運行xelatex
它,它會抱怨找不到該文件,但如果我輸入文件名,則運行正常。
This is XeTeX, Version 3.14159265-2.6-0.99996 (TeX Live 2016) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
(./test.tex
LaTeX2e <2017/01/01> patch level 3
Babel <3.9r> and hyphenation patterns for 83 language(s) loaded.
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/report.cls
Document Class: report 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/size10.clo)) (./test.aux)
! I can't find file `(testinput.tex)'.
l.3 \input(testinput.tex)
(Press Enter to retry, or Control-D to exit)
Please type another input file name: testinput.tex
(./testinput.tex) [1] (./test.aux) )
Output written on test.pdf (1 page).
Transcript written on test.log.
我對自己做錯了什麼感到困惑。我在沒有擴展的情況下嘗試過這一點.tex
,並看到了相同的結果。
答案1
您的輸入建議您()
在檔案名稱兩邊使用括號 ( )。將參數(強制)傳遞給 LaTeX 指令的正確方法是使用大括號 ( {}
)。所以你應該使用下面的程式碼:
\documentclass{report}
\begin{document}
\input{testinput.tex}
\end{document}
順便說一句,這與任何引擎無關。
更新:由於 LaTeX 會自動附加,.tex
您也可以使用以下內容:
\documentclass{report}
\begin{document}
\input{testinput}
\end{document}
但請注意,這裡 LaTeX 將首先檢查文件testinput
,然後查看testinput.tex
.這可能是.tex
在輸入檔案時使用副檔名的一個很好的理由。