有没有一种简单的方法可以通过类似于“texdoc”的东西来打开“.sty”文件?

有没有一种简单的方法可以通过类似于“texdoc”的东西来打开“.sty”文件?

有没有一种简单的方法可以.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%*stytexsty hyperref.stytexstarttexsty

这假设 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.stykpsewhichtexstart hyperref.sty

答案2

不幸的是,Windows 不具备 Unix 命令的灵活性。这必须通过两步过程或使用脚本来完成,正如公认的答案所言。

您使用kpsewhich filename.sty定位,然后键入路径和编辑器名称(在我的情况下)notepad。如果您经常这样做,请下载 sublime2 并将其放在路径上。

在此处输入图片描述

EDLIN.EXE不再支持!但是仍然有效,如果您愿意,EDIT可以替换NotepadEDIT

这个答案对我来说更像是一个提醒。

相关内容