章节标题、西里尔文和 hyperref

章节标题、西里尔文和 hyperref

我需要使用西里尔文。我从某个地方破解了\textcyrw下面的定义。一切都很好,但是当我需要\textcyrw在章节标题中使用时。似乎罪魁祸首是hyperref。欢迎提出建议。

\documentclass[a4paper,10pt]{article}
\usepackage[OT2,T1]{fontenc} 
\usepackage[utf8]{inputenc}
\usepackage[american,russian,italian]{babel}
\usepackage{hyperref} % no problem without hyperref

\newcommand\cyrillic{%
\renewcommand\rmdefault{wncyr}%
\renewcommand\sfdefault{wncyss}%
\renewcommand\encodingdefault{OT2}%
\normalfont
\selectfont}
\DeclareTextFontCommand{\textcyr}{\cyrillic}

\begin{document}
\section{AAA}
\textcyr{Личное дело} % works fine
\section{\textcyr{Личное дело}} % gives error
\end{document}

我收到的错误信息是:

! Argument of \@sect has an extra }.
<inserted text> 
            \par 
l.- \section{\textcyr{Личное дело}}

- - - 固定的

下面修复了这个问题,虽然我不确定为什么:

\pdfstringdefDisableCommands{%
\let\textcyr\relax}

答案1

OT2 确实是一种过时的生成西里尔文的方法。由于您似乎能够直接输入俄语文本,因此最好使用T2A

\documentclass[a4paper,10pt]{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[american,russian,italian]{babel}
\usepackage{hyperref} % no problem without hyperref

\DeclareRobustCommand{\textcyr}[1]{\foreignlanguage{russian}{#1}}

\begin{document}
\section{AAA}
\textcyr{Личное дело} % works fine
\section{\textcyr{Личное дело}} % gives error
\end{document}

在此处输入图片描述

相关内容