\input 命令实际使用哪个文件

\input 命令实际使用哪个文件

\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/latextex/generictex

答案2

据我所知,

\input{filename}

插入文件“filename”——如果不存在,它会自动查找“filename.tex”

您可以使用

\input{filename.tex}

以消除任何歧义。

相关内容