如何让 Windows 上的 pdflatex 像 Linux 上的 pdflatex 一样处理文件?此外,grid 包

如何让 Windows 上的 pdflatex 像 Linux 上的 pdflatex 一样处理文件?此外,grid 包

测试文档https://ctan.org/pkg/grid?lang=en在 Linux 上工作得很好,但在 Windows 上不行。我想在 Windows 上使用该软件包。pdflatex 为 Windows 和 Linux 平台提供不同的输出。即“out”文件。在用 BOOKMARK 替换 dtxmark 并复制到 tmp.out 后,grid 软件包在 pdflatex 的第二遍中使用了 out 文件。

Linux:

\BOOKMARK [1][-]{section.1}{About this package}{}% 1 

\BOOKMARK [2][-]{subsection.1.1}{Package options}{section.1}% 2 

\BOOKMARK [2][-]{subsection.1.2}{Package specific coding:}{section.1}% 3 

\BOOKMARK [2][-]{subsection.1.3}{Limitations of the package}{section.1}% 4 

\BOOKMARK [1][-]{section.2}{Ordinary Text}{}% 5 

\BOOKMARK [1][-]{section.3}{Displayed Text}{}% 6 

\BOOKMARK [1][-]{section.4}{Some bizarre text}{}% 7

视窗:

\BOOKMARK [1][-]{section.1}{\376\377\000A\000b\000o\000u\000t\000\040\000t\000h\000i\000s\000\040\000p\000a\000c\000k\000a\000g\000e}{}%
1

\BOOKMARK [2][-]{subsection.1.1}{\376\377\000P\000a\000c\000k\000a\000g\000e\000\040\000o\000p\000t\000i\000o\000n\000s}{section.1}%
2

\BOOKMARK [2][-]{subsection.1.2}{\376\377\000P\000a\000c\000k\000a\000g\000e\000\040\000s\000p\000e\000c\000i\000f\000i\000c\000\040\000c\000o\000d\000i\000n\000g\000:}{section.1}%
3

\BOOKMARK [2][-]{subsection.1.3}{\376\377\000L\000i\000m\000i\000t\000a\000t\000i\000o\000n\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e}{section.1}%
4

\BOOKMARK [1][-]{section.2}{\376\377\000O\000r\000d\000i\000n\000a\000r\000y\000\040\000T\000e\000x\000t}{}%
5

\BOOKMARK [1][-]{section.3}{\376\377\000D\000i\000s\000p\000l\000a\000y\000e\000d\000\040\000T\000e\000x\000t}{}%
6

\BOOKMARK [1][-]{section.4}{\376\377\000S\000o\000m\000e\000\040\000b\000i\000z\000a\000r\000r\000e\000\040\000t\000e\000x\000t}{}%
7

Windows pdflatex 的二进制文件上是否有开关,以便它能够正确地处理文件?我知道 \n 在不同的操作系统上是不同的,CRLF 与 LF 等等。还有其他问题。

我很想在工作中使用 grid.sty,但这里必须是 Windows。我真的很喜欢每个页面顶部的“快速链接”。如果你能推荐另一个软件包,那就太好了!

答案1

此处的问题与 windows/linux 无关,但当前版本hyperref默认使用 Unicode 编码来处理 PDF 字符串(\windows 安装使用的基于转义 utf-16 的编码)。您的 linux 安装使用的是特定于 PDF 的 PDFDoc 编码(一种类似于 Latin 1 的经过修改的 PDF 特定编码,因此只能处理有限范围的拉丁字符)

一个真正的解决办法是更新包来处理 Unicode 书签,但一个临时的解决方法(至少对当前的 hyperref 版本有效)是通过添加到传递给from 的选项rvdtx 来强制它使用旧式编码unicode=falsehyperrefrvdtx.sty

相关内容