有没有一种简单的方法可以.sty
通过类似于“ texdoc
”的方式来打开“ ”文件?我正在寻找一种可以texsty
简单地打开.sty
文件的方法。
答案1
Windows(无 cyg)
本机 Windows 确实不适合这样做。我已经有一段时间没有编写批处理文件脚本了,但可以尝试一下:
将以下内容保存为文件texsty.bat
并将其放在您的PATH
(或命令提示符的工作目录中):
@echo off
for /f "usebackq tokens=*" %%a in (`kpsewhich %*.sty`) do "C:\Program Files\Texmaker\texmaker" "%%a"
使用例如texsty hyperref
。如果您希望能够指定不以结尾的文件.sty
(例如,,,,.cls
),那么您可以在批处理文件中紧接着删除扩展名,但随后必须调用例如文件(在这种情况下,最好调用它而不是)。.pdf
.dtx
.clo
.sty
%*
sty
texsty hyperref.sty
texstart
texsty
这假设 Texmaker 安装在默认路径中。对于其他编辑器/路径,可以相应地编辑命令行。还应该可以使用start
与文件关联的默认程序sty
,但这对我来说通过此批处理文件不起作用...
我从中得到了语法批处理相当于 Bash 反引号。
Bash(或类似的 shell)
为了完整性,如果使用bash
,我会将以下函数定义添加到我的~/.bashrc
文件中:
texsty ()
{
# invoke kpsewhich, but remove any unwanted characters that may show up on Windows
local kpseret="$(kpsewhich "$1.sty" | tr -d '\r')"
if [ -z "$kpseret" ]; then
echo "'$1' not found."
else
xdg-open "$kpseret"
#or for Windows, use start instead of xdg-open:
#start "$kpseret"
fi
}
这只是将 egreg 在其评论中提供的方法包装成更方便的函数。再次,以 eg 形式调用。就个人而言,我可能更喜欢通过从调用中删除并重命名函数,然后以 eg 形式调用来获得texsty hyperref
更通用的方法。texstart
.sty
kpsewhich
texstart hyperref.sty
答案2
不幸的是,Windows 不具备 Unix 命令的灵活性。这必须通过两步过程或使用脚本来完成,正如公认的答案所言。
您使用kpsewhich filename.sty
定位,然后键入路径和编辑器名称(在我的情况下)notepad
。如果您经常这样做,请下载 sublime2 并将其放在路径上。
EDLIN.EXE
不再支持!但是仍然有效,如果您愿意,EDIT
可以替换Notepad
。EDIT
这个答案对我来说更像是一个提醒。