![Pdfpages 引用的文件的一组最完整的命名约定是什么?](https://linux22.com/image/438704/Pdfpages%20%E5%BC%95%E7%94%A8%E7%9A%84%E6%96%87%E4%BB%B6%E7%9A%84%E4%B8%80%E7%BB%84%E6%9C%80%E5%AE%8C%E6%95%B4%E7%9A%84%E5%91%BD%E5%90%8D%E7%BA%A6%E5%AE%9A%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
问题:我想知道什么是(或在哪里可以找到)一套完整的、供以后引用的文档命名约定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 允许使用很多奇怪的名称。