Você pode definir a linguagem natural de um PDF compilado com pdflatex?

Você pode definir a linguagem natural de um PDF compilado com pdflatex?

Você pode especificar olinguagem naturalde um PDF compilado com pdflatex? EsseVerificador de acessibilidade Tingtunnão gosta dos meus PDFs porque isso não está definido.Esta páginachama isso de "entrada /Lang no catálogo de documentos de um PDF" e descreve como alterá-lo no Adobe Acrobat. Mas seria bom definir isso automaticamente em tempo de compilação. Imagino que exista uma configuração para passar hyperrefpara definir a linguagem natural, mas ainda não a encontrei.

Responder1

O documento a seguir passa no teste vinculado. Deveria ser óbvio no exemplo como definir o idioma.

\documentclass{article}

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

\begin{document}

\section{foobar}

\end{document}

Se por algum motivo você não puder usar o hyperref, você também poderá modificar o catálogo PDF manualmente usando

\pdfcatalog{/Lang (en-US)}

Nenhuma das opções acima é suficiente se você deseja gerar um PDF verdadeiramente acessível. Tudo o que acontece é calar a boca deste verificador em particular.

Responder2

A resposta deHenrique Menkeestá desatualizado em 2020.

Agora existe uma maneira mais elegante de definir o idioma através do uso do pacotehyperxmp:

\documentclass{article}

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

\title{Test}

\begin{document}

\section{foobar}

\end{document}

Em vez de babelvocê também pode usar

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

A vantagem do hyperxmpmétodo é que ele evita incompatibilidade entre o idioma dos metadados e o idioma usado para formatar o texto. Além disso, porque quase todo mundo usa um babelou polyglossiao código é mais curto.

Fazernãouse \pdfcatalog{/Lang (en-US)}, pois este método não grava metadados XMP. Alguns leitores que dependem dele podem não funcionar corretamente. Além disso, \pdfcatalogconterá apenas o idioma principal, enquanto o XMP conterá todos os idiomas principais. Caso não queira hiperlinks utilize o NoHyperambiente.

informação relacionada