Können Sie die natürliche Sprache einer mit pdflatex kompilierten PDF-Datei festlegen?

Können Sie die natürliche Sprache einer mit pdflatex kompilierten PDF-Datei festlegen?

Können Sie dieNatürliche Sprachepdflatexeines mit ? kompilierten PDFs .Tingtun Zugänglichkeitsprüfermag meine PDFs nicht, weil dies nicht eingestellt ist.Diese Seitenennt es den „/Lang-Eintrag im Dokumentkatalog einer PDF“ und beschreibt, wie man ihn in Adobe Acrobat ändert. Aber es wäre schön, wenn dies automatisch zur Kompilierungszeit festgelegt würde. Ich könnte mir vorstellen, dass es eine Einstellung gibt, an die man hyperrefdie natürliche Sprache übergeben kann, aber ich habe sie noch nicht gefunden.

Antwort1

Das folgende Dokument besteht den von Ihnen verlinkten Test. Anhand des Beispiels sollte klar sein, wie die Sprache eingestellt wird.

\documentclass{article}

\usepackage{hyperref}
\hypersetup{
  pdftitle={Test},
  pdflang={en-US}, % PDF language identifier (RFC 3066)
}

\begin{document}

\section{foobar}

\end{document}

Wenn Sie aus irgendeinem Grund nicht verwenden können hyperref, können Sie den PDF-Katalog auch manuell ändern, indem Sie

\pdfcatalog{/Lang (en-US)}

Keine der oben genannten Maßnahmen reicht aus, wenn Sie wirklich barrierefreie PDF-Dateien erstellen möchten. Es führt lediglich dazu, dass dieser spezielle Prüfer dicht gemacht wird.

Antwort2

Die Antwort vonHenri Menkeist ab 2020 veraltet.

Es gibt jetzt eine elegantere Möglichkeit, die Sprache durch die Verwendung von Paketen einzustellenhyperxmp:

\documentclass{article}

\usepackage{hyperref}
\usepackage[english]{babel}
\usepackage{hyperxmp}[2020/06/15]

\title{Test}

\begin{document}

\section{foobar}

\end{document}

Stattdessen babelkönnen Sie auch verwenden

\usepackage{polyglossia}
\setdefaultlanguage[variant=US]{english}

Der Vorteil dieser hyperxmpMethode besteht darin, dass sie eine Diskrepanz zwischen der Sprache in den Metadaten und der Sprache, die zur Formatierung des Textes verwendet wird, vermeidet. Da außerdem fast jeder entweder das eine babeloder das andere verwendet polyglossia, ist der Code kürzer.

Tunnichtverwenden \pdfcatalog{/Lang (en-US)}, da diese Methode keine XMP-Metadaten schreibt. Einige Reader, die darauf angewiesen sind, funktionieren möglicherweise nicht richtig. Darüber hinaus \pdfcatalogenthält nur die Hauptsprache, während XMP alle Hauptsprachen enthält. Wenn Sie keine Hyperlinks möchten, verwenden Sie die NoHyperUmgebung.

verwandte Informationen