9

I have a LaTeX document with hyperref and appendix packages that fails to build. But if I switch off either appendix or hyperref everything works fine.

\documentclass[14pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english,russian]{babel}
\usepackage[toc,page,title,titletoc]{appendix}
\usepackage{hyperref}
\begin{document}

\hypersetup{pdftex, colorlinks=true, linkcolor=blue, citecolor=blue, filecolor=blue, urlcolor=blue, pdftitle=, pdfauthor=, pdfsubject=, pdfkeywords=}

\renewcommand{\appendixtocname}{Приложения}
\renewcommand{\appendixpagename}{Приложения}
\renewcommand{\appendixname}{Приложениe}

\tableofcontents
\pagebreak
\section{тест}

\begin{appendices}


\renewcommand{\thesection}{\arabic{section}.}

\section{Тест}
\pagebreak
\section{Схема устройства}


\end{appendices}

\end{document}

Generated error:

./test.out
! Undefined control sequence.
<argument> \T 
          2A\CYRP \T 2A\cyrr \T 2A\cyri \T 2A\cyrl \T 2A\cyro \T 2A\cyrz...

Is there any possibility to use them together?

1
  • A similar or the same problem has been solved by egreg here
    – toliveira
    May 9, 2019 at 17:24

1 Answer 1

7

Quite hard problem. The guilty party is appendix that does some definitions that become incompatible with the way Russian is managed by Babel.

\documentclass[12pt]{article}

\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage[toc,page,title,titletoc]{appendix}
\usepackage{hyperref,bookmark}
\hypersetup{
  colorlinks=true,
  linkcolor=blue,
  citecolor=blue,
  filecolor=blue,
  urlcolor=blue,
  % pdftitle=,
  % pdfauthor=,
  % pdfsubject=,
  % pdfkeywords=
}

\renewcommand{\appendixtocname}{Приложения}
\renewcommand{\appendixpagename}{Приложения}
\renewcommand{\appendixname}{Приложние}
\makeatletter
\let\oriAlph\Alph
\let\orialph\alph
\renewcommand{\@resets@pp}{\par
  \@ppsavesec
  \stepcounter{@pps}
  \setcounter{section}{0}%
  \if@chapter@pp
    \setcounter{chapter}{0}%
    \renewcommand\@chapapp{\appendixname}%
    \renewcommand\thechapter{\@Alph\c@chapter}%
  \else
    \setcounter{subsection}{0}%
    \renewcommand\thesection{\@Alph\c@section}%
  \fi
  \if@pphyper
    \if@chapter@pp
      \renewcommand{\theHchapter}{\theH@pps.\oriAlph{chapter}}%
    \else
      \renewcommand{\theHsection}{\theH@pps.\oriAlph{section}}%
    \fi
    \def\Hy@chapapp{appendix}%
  \fi
  \restoreapp
}
\makeatother

\begin{document}


\tableofcontents
\pagebreak
\section{тест}

\begin{appendices}


\renewcommand{\thesection}{\arabic{section}.}

\section{Тест}
\pagebreak
\section{Схема устройства}


\end{appendices}

\end{document}

Note that it's better to load fontenc before inputenc.

2
  • Why is it better to load fontenc before inputenc? (Apologies if if this has already been answered elsewhere.)
    – lockstep
    Jan 19, 2012 at 21:54
  • 4
    The utf8 option for inputenc analyzes the loaded output encodings and takes appropriate actions.
    – egreg
    Jan 19, 2012 at 22:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .