Использование португальского языка в приложениях приводит к появлению неподдерживаемой последовательности управления

Использование португальского языка в приложениях приводит к появлению неподдерживаемой последовательности управления

Я пытаюсь скомпилировать свою работу под MikTex 2.9 Windows 7 и/или Kyle 2.1.2

Приложения выдают ошибку неподдерживаемой последовательности управления, когда я пытаюсь скомпилировать с установленным языком португальский.

Это моя преамбула, в которой загружаются пакеты.

\usepackage[brazil,american]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{indentfirst}
\usepackage{natbib}
\usepackage{url}
\usepackage{xcolor,graphicx,url}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{epstopdf,placeins}
\usepackage{glossaries}
\usepackage{caption}
\usepackage[toc,page]{appendix}

Если я устанавливаю английский язык, документ компилируется нормально.

Сообщение об ошибке указывает на файл .out:

\BOOKMARK [0][-]{section*.40}{Refer\352ncias}{}% 35
\BOOKMARK [0][-]{Ap�ndice.1.A} <-------------- this line is throwing the error

Попробовал скомпилировать на Kyle (linux) и на Windows (MikTex), и у обоих одна и та же ошибка. Единственное отличие в том, что символ êпечатается в файле .out в Linux, а в Windows есть эта дурацкая ошибка кодировки вопросительного знака.

Если я переключаю языки перед вызовом глав приложений, все работает нормально.

Кроме того, если я переопределю \def\appendixname{Ap\^endice}%из файла PT babel без акцента, то он компилируется нормально.

Как мне составить приложения на португальском языке (сохранив правильное написание слова) без этой ошибки?

решение1

У меня была та же проблема. Решение — вставить следующий код в преамбулу вашего основного исходного файла. Код должен быть после строк, где вы загружали пакеты hyperrefи appendix.

\makeatletter
\renewcommand
   {\appendixtocname}{Ap\^{e}ndices}
 \renewcommand
   {\appendixpagename}{Ap\^{e}ndices}
 \renewcommand
   {\appendixname}{Ap\^{e}ndice} \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

Связанный контент