我尝试通过从 iTerm2(macos 14.6.1,Skim 1.7.4)运行以下命令来显示一行:
/Applications/Skim.app/Contents/SharedSupport/displayline 2 example.pdf
但除了将 .pdf 置于前台之外,什么也没有发生。我看不到任何突出显示或任何指示第 2 行的内容。我该怎么办?
我尝试通过从 iTerm2(macos 14.6.1,Skim 1.7.4)运行以下命令来显示一行:
/Applications/Skim.app/Contents/SharedSupport/displayline 2 example.pdf
但除了将 .pdf 置于前台之外,什么也没有发生。我看不到任何突出显示或任何指示第 2 行的内容。我该怎么办?
Displayline是 Skim 的一个 LaTeX 增强模块,专为跨平台 PDFLaTeX 生成的 PDF 设计,这些 PDF 带有附带的 synctex 文件。因此,它可以在 Okular、Acrobat、Skim 等中使用。
从编程的角度来看,您不必使用LaTeX 来编写 synctex 文件,但除非您研究格式,否则这并不容易。它基于矩形和放大级别。
编译时,同一个文件夹中至少应该有三个文件。
在编辑器中,TeX 文件的行会有一个数字。这里是第 9 行
因此,当我们使用该数字(9)调用启用 tex 的 PDF 查看器时,该行将通过在附带的 .synctex 文件中查找矩形来突出显示区域。
请注意,由于 PDF 没有行号,因此 TeX 第 9 行是此 PDF 中的第一个区域。
同样,当我们单击 PDF 中的那一行(此处为行
1 ABC
)将被转换为 tex 编辑器行号,因此在此示例中为21
。该系统与 PDF 系统的左下角原点相反。因此,它是左上角方向的。因此,如果我们将放大倍数减半,则突出显示将是一半大小,并且朝向页面的左上角。
为了扩展编程方面,您可以不使用 LaTeX,编写一个简化的代理文件。因此,如果您要打印此问答,我们可以添加这样的附属文件。
然后为了突出显示第 2 行,我们将其称为这样。
上面的示例显示了适合整个“点”大小的缩放比例。但是,您可以根据需要更改小于点的大小,方法是增加低值并更改放大倍数或单位。
您可以阅读规范以了解这些标记的含义。但首先,我未经测试的滥用是基于页面的
{1...}1 {2...}2
。字节偏移长度指针是这样的!7
(在 2 个页面之间),包括前一个!50
,即前一个的字节长度等!112
。(1,3
矩形位于xxx,yyy:www,hhh,ddd
左下角,在第 2 页,来自文件 1,源代码行 3。看,它很容易解析!