Pdfpages 引用的文件的一组最完整的命名约定是什么?

Pdfpages 引用的文件的一组最完整的命名约定是什么?

问题:我想知道什么是(或在哪里可以找到)一套完整的、供以后引用的文档命名约定pdfpages

也就是说,我会确保 LaTeX 文档,例如

\documentclass{article}
\usepackage{pdfpages}

\begin{document}
    \includepdf[pages={1,10-20,30}]{<pdf-file>}
\end{document}

pdfpages总是会起作用——因为当我在处理底层文档时,我并不总是考虑可能的将来用途。

我检查了 CTAN 上的 Pdfpages 文档,但未能找到我要找的内容;在检查与之相关的各种帖子时,我也没有找到完整的列表pdfpages

例如,如何在 includepdf 文件名中使用波浪号或空格?发布了一个问题,其中提到了使用波浪符号或空格。此帖子 如果使用 XeLaTeX 进行编译,则包含空格的文件名在 TeX Live 2019 中的 \includepdf 和 \includegraphics 中将停止工作指定使用 XeLateX 时空格的问题。这篇文章如何使用 pdfpages 处理名称中带有 utf8 字符的文件?抱怨使用 utf8 字符导致错误。

顺便说一句,我知道,例如,下划线是允许的。似乎包含空格的名称也是有时好的,我记得当我尝试使用 打印原始文档中的一系列页面时,并不总是需要重命名并重新编译原始文档pdfpages

最后,如果我熟悉所有(大多数)命名约定,那么我可以在所有涉及文件命名的情况下采用它们,从而避免调用时 LaTeX 代码异常结束pdfpages和文件命名错误的问题。

我最感兴趣的是使用 Pdflatex 时的命名约定。

谢谢。

答案1

哪些文件名“有效”不仅取决于软件包或 LaTeX,还取决于您的操作系统(Windows、Linux 等)、其使用年限(Windows 7 或 10、您使用的引擎(pdflatex、lualatex 等)、tex 系统(texlive、miktex)及其使用年限(texlive 2014 或 2021)。

安全文件名

如果在扩展名前仅使用 aZ、数字、连字符、下划线和一个句点,那么您就完全安全了。

空间

空格在当前 TeX 系统中正常工作。在较旧的系统中,您应该避免使用它们。但它们依赖于正确的引用,并且在涉及脚本或调用其他工具的更复杂的工作流程中,引用很容易出错。我从不在文件名中使用空格。

变音符号和其他非 ASCII 字母

它们可以工作(而且应该可以工作,在当今世界,文件名不应仅限于英文,还应支持其他语言,如希腊文或中文),但要求所有文件都采用 utf8 编码,并且您拥有最新的 LaTeX、操作系统和引擎。例如,在装有 lualatex 的 Windows 上,这仅适用于 texlive,自 2020 年 4 月(因此最终版本为 texlive 2020)和 Windows 10 以来。

期间

在当前系统中,包含多个句点的 PDF 应该可以正常工作。在较旧的系统中,请避免使用它们。

文件名分隔符和通配符

避免: / \ *~ 与您的操作系统的文件系统相关的类似内容,以及避免在其他操作系统中共享文件。

这里的字符列表可能很长,例如,您可以找到类似这样的列表@ $ % & \ / : * ? " ' < > | ~ ` # ^ + = { } [ ] ; !。它们不需要始终保持不变,操作系统的要求会随时间而变化。Windows 允许使用很多奇怪的名称。

相关内容