\input
如果我们在各个目录中有许多同名文件,那么当我们使用命令时如何知道包含哪个文件
答案1
如果您查看日志文件,则会显示输入文件的完整路径,它会告诉您输入了哪个文件。
如果您想提前控制输入哪个文件,那么您需要查看 TEXINPUTS,它可以被设置为环境变量或(现在更常见)作为文件中的设置texmf.cnf
。
您可以使用kpsexpand
来查看当前值。
为我
kpsexpand '$TEXINPUTS'
生产
.:
{/home/davidc/.texlive2015/texmf-config,
/home/davidc/.texlive2015/texmf-var,
/home/davidc/texmf,
!!/usr/local/texlive/2015/texmf-config,
!!/usr/local/texlive/2015/texmf-var,
!!/usr/local/texlive/texmf-local,
!!/usr/local/texlive/2015/texmf-dist}/tex/{kpsewhich,generic,}//
因此每个:
段都按顺序进行搜索,所以当前目录(.
)是第一个,然后按列出的顺序搜索每个目录,//
在任何子目录中递归搜索结尾的路径,!!
不搜索以实际文件系统开头的路径(这会很慢)但是会查阅预先制作的文件列表(texhash
或命令) ,最后的mktexlsr
形式意味着对于 latex 来说,例如在搜索之前搜索在搜索之前(整个)之前搜索。{kpsewhich,generic,}
tex/latex
tex/generic
tex
答案2
据我所知,
\input{filename}
插入文件“filename”——如果不存在,它会自动查找“filename.tex”
您可以使用
\input{filename.tex}
以消除任何歧义。