不懂\輸入

不懂\輸入

這似乎是一個非常愚蠢的問題,但我無法弄清楚如何識別要\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在輸入檔案時使用副檔名的一個很好的理由。

相關內容