我希望能够从 WinEdt 树中的其他目录中打开 bib 文件。但是,WinEdt 无法找到它们(见下图)。项目/文件编译;LaTeX 设置正确。唯一的问题是我无法单击树中的文件来打开它。
该文件le.bib
位于我的个人 texmf 目录结构中,该目录结构已添加到 MiKTeX。LaTeX 可以找到并处理它,\bibliography{le}
但 WinEdt Tree 无法找到它。
我知道我可以将文件移动到项目目录中,但我不想这样做。我有通用的 bib 文件,我会在多个文档中重复使用它们,我不想复制它们。
理想情况下,我想告诉 WinEdt 查找文件的搜索路径。这样我就不必将路径硬编码到文件中。
我正在使用 WinEdt 11。我在网上搜索并挖掘了选项界面,但我找不到让 WinEdt 找到这些文件的方法。如有任何建议,我将不胜感激。
答案1
对我来说,它确实有效\addbibresource
,我认为我之前添加的这段代码可以做到这一点。但我现在无法测试。
如果在我的本地 ConfigEx/Input.in 中有
//UF implemented kpsewhich search
DIRECTIVE="\addbibresource??{??}"
FILENAME="%[!|Exe('%b\Macros\Input\GetBibFiles.edt');Assign('UFfiletemp','%-0');Exe('%b\Macros\Ulle\UFkpsewhich.edt');|];%$('UFfiletemppath');"
EXTENSION="*;.bib"
是GetBibFiles.edt
一个标准文件。UFkpsewhich.edt
包含以下内容
// The file to search should be in %$('UFfiletemp')
// The returned path will be in %$('UFfiletemppath')
//First check relative to the main file:
// Assign('UFfiletemp','citeall.sty'); // nur tests
IfFileExists("%P\%$('UFfiletemp');","Assign('UFfiletemppath','%P\%$(|UFfiletemp|);');JMP('Exit')");
// then use kpsewich
WinExe("", "kpsewhich %$('UFfiletemp');", "%b", "kpsewhich ...", 10110, 0,"","%b\_findtexmf.log");
ReadFile( "%b\_findtexmf.log", 1);
SubstituteInString( "%!1", "/", "\",0,2);
//Get rid of white space to the right:
FormatString("%!2", 3, "trimright");
Assign('UFfiletemppath','%!3');
:Exit::
//Prompt("Path: %$('UFfiletemppath');");