
Als ich heute zum ersten Mal amsbook
den Unterricht ausprobiert habe, ist mir ein (möglicher?) Fehler (oder sollte ich Inkompatibilität sagen?) aufgefallen.
babel
mit brazil
Option übersetztKapitelZuKapitellBeachten Sie also den Buchstaben mit Akzent.
Nun, amsbook
Klasse bringt CAPíTULO hervor.
Beim Überprüfen der Zeile 990 amsbook.cls
finden wir
\uppercase\@xp{\chaptername}\enspace\thechapter}
und die Großschreibung ist das Problem. (übrigens, was ist das \@xp
?)
OK, es ist möglich, diesen Teil neu zu definieren, um \@makechapterhead
das Problem zu beheben, aberGibt es eine Chance, in Zukunft eine aktualisierte Version der Klasse zu haben??
MWE
\documentclass[11pt,a4paper]{amsbook}
\usepackage[brazil]{babel}
%% original code
\makeatletter
\def\@makechapterhead#1{\global\topskip 7.5pc\relax
\begingroup
\fontsize{\@xivpt}{18}\bfseries\centering
\ifnum\c@secnumdepth>\m@ne
\leavevmode \hskip-\leftskip
\rlap{\vbox to\z@{\vss
\centerline{\normalsize\mdseries
\uppercase\@xp{\chaptername}% <----- here
\enspace\thechapter}
\vskip 3pc}}\hskip\leftskip\fi
#1\par \endgroup
\skip@34\p@ \advance\skip@-\normalbaselineskip
\vskip\skip@ }
\makeatother
\begin{document}
\chapter{title}
\end{document}
Antwort1
Sie können einen Patch erstellen, der \MakeUppercase
anstelle von verwendet werden kann \uppercase\@xp
.
Es ist eine gute Idee, textcase
zusammen mit zu laden amsbook
, insbesondere wenn Buchstaben mit Akzent erwartet werden.
\documentclass{amsbook}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[brazil]{babel}
\usepackage{textcase}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@makechapterhead}
{\uppercase\@xp}
{\MakeUppercase}
{}{}
\makeatother
\begin{document}
\mainmatter
\chapter{Abcdéf}
text
\end{document}
Antwort2
amsbook sollte MakeUppercase verwenden (oder das hervorragende Textcase-Paket, wie von egreg:- vorgeschlagen)
Die Brasilien-Option von Babel könnte jedoch ein Formular verwenden, das mit funktionieren würde, \uppercase
wenn es \'{i}
anstelle von verwendet würde \'{\i}
.
\documentclass[11pt,a4paper]{amsbook}
\usepackage[brazil]{babel}
\begin{document}
\def\chaptername{Cap\'{i}tulo}
\chapter{title}
\end{document}