你能指定自然语言pdflatex
用?编译的 PDFTingtun 无障碍检查器不喜欢我的 PDF,因为没有设置。这一页将其称为“PDF 文档目录中的 /Lang 条目”,并描述了如何在 Adobe Acrobat 中更改它。但如果能在编译时自动设置它就好了。我猜想应该有一个设置可以传递到该设置hyperref
来设置自然语言,但我还没有找到它。
答案1
以下文档通过了您链接的测试。从示例中可以看出如何设置语言。
\documentclass{article}
\usepackage{hyperref}
\hypersetup{
pdftitle={Test},
pdflang={en-US}, % PDF language identifier (RFC 3066)
}
\begin{document}
\section{foobar}
\end{document}
如果由于某种原因您无法使用hyperref
,您也可以使用手动修改 PDF 目录
\pdfcatalog{/Lang (en-US)}
如果您想生成真正可访问的 PDF,上述任何方法都不够。它所做的只是让这个特定的检查器闭嘴。
答案2
答案亨利·孟克截至 2020 年已过时。
现在有一种更优雅的方式来设置语言,通过使用包hyperxmp
:
\documentclass{article}
\usepackage{hyperref}
\usepackage[english]{babel}
\usepackage{hyperxmp}[2020/06/15]
\title{Test}
\begin{document}
\section{foobar}
\end{document}
你babel
也可以使用
\usepackage{polyglossia}
\setdefaultlanguage[variant=US]{english}
该方法的优点hyperxmp
是避免了元数据中的语言与用于格式化文本的语言不匹配。此外,由于几乎每个人都使用其中一种,babel
因此polyglossia
代码更短。
做不是使用,\pdfcatalog{/Lang (en-US)}
因为此方法不会写入 XMP 元数据。依赖此方法的一些阅读器可能无法正常工作。此外,\pdfcatalog
将仅包含主要语言,而 XMP 将包含所有主要语言。如果您不想要超链接,请使用环境NoHyper
。