创建一个像样的 PDF/A 文档

创建一个像样的 PDF/A 文档

假设我有一份简单的文档,其中包含一些章节,标题中包含 Unicode 和/或数学。如何生成一份像样的 PDF 输出?我的意思是:

  • 它包含正确的元数据。
  • 它包含正确的书签。
  • 它是一个 PDF/A 文档。

我制作了以下示例。(我知道在标题中包含那么多数学和 Unicode 可能不是一个好主意,但在某种程度上这是可以的,下面的来源只是一个例子。)

\begin{filecontents*}{\jobname.xmpdata}
\Title{Properties of ℝ^ω} 
\Author{Foo Barovič\sep Baz Pequeño} 
\end{filecontents*}

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[nomath]{lmodern}
\usepackage{amssymb}
\usepackage[a-2u]{pdfx}

\pdfstringdefDisableCommands{
    \def\omega{ω}
}
\begin{document}
    \title{Properties of $\mathbb{R}^\omega$}
    \author{Foo Barovič, Baz Pequeño}
    \date{}
    \maketitle

    \section{\texorpdfstring
            {Basic properties of $\mathbb{R}^\omega$}
            {Basic properties of ℝ\textasciicircumω}
        }
        Here we shall talk about the basic properties.

        \subsection{\texorpdfstring
                {$\mathbb{R}^\omega$ vs.\ $\bigcup_{n \in \omega} \mathbb{R}^n$ according to Pequeño}
                {ℝ\textasciicircumω vs. ⋃\_\{n ∈ ω\} ℝ\textasciicircum n according to Pequeño}
            }
            A short note about this inductive limit approach.

    \section{\texorpdfstring
            {Advanced properties of $\mathbb{R}^\omega$}
            {Advanced properties of ℝ\textasciicircum\omega}
        }
        Here we shall talk about the advanced properties.

\end{document}

仍然让我烦恼的是:

  • 标题中的重复。可以通过inputenc包将 Unicode 字符映射到宏。对于 PDF 书签,情况正好相反:可以使用 将宏映射到 Unicode 字符\pdfstringdefDisableCommands。这对于\omega或效果很好,但对于上标、下标、组、和 该\bigcup怎么办?有没有办法声明、、、应该按字面意思理解,应该被忽略,并且表示 ℝ?那么,就不需要了。$\mathbb{R}^_{}$\mathbb{R}\texorpdfstring
  • 主标题和作者的重复。
  • 事实上filecontents*不会重写现有文档。我知道这可以通过包来更改filecontents,但它仍然会发出警告,并且无法在 之前加载\documentclass,而建议在 之前生成 xmpdata \documentclass

我很高兴得到任何能改善给定来源的提示或技巧。

相关内容