Amsart-Problem mit dem Titelsatz

Amsart-Problem mit dem Titelsatz

Ich habe versucht, eine Metaebene für die Befehle „Autor“ und „Titel“ zu implementieren, da die meisten Stildateien etwas andere Befehle erfordern und ich die Stildatei problemlos ändern können möchte.

Kurz gesagt, ich habe festgestellt, dass sich die amsartKlasse seltsam verhält, wenn ich ein Makro einfüge \title{}. Es wird kein Fehler ausgegeben, aber der Titel wird nicht groß geschrieben. Er wird jedoch weiterhin fett gedruckt.

Es gibt also weder keinen Effekt noch alle Effekte. Ich habe auch versucht, \expandafteran allen Stellen zu platzieren, die mir eingefallen sind, aber anscheinend verstehe ich diesen Befehl nicht wirklich.

\documentclass[a4paper,reqno]{amsart}

\usepackage[utf8]{inputenc}

\begin{document}

\newtoks\mytitleA
\mytitleA={This is a title}

\newcommand{\mytitle}{This is a title}
\newcommand{\myauthor}{This is me}

% toggle the following commands to see that only the last version
% produceses the correct layout
%\title{\the\mytitleA}
%\title{\mytitle}
\title{This is a title}

% for the author I cannot spot a difference
\author{\myauthor}
\author{This is me}

\maketitle

\end{document}

Andere Stildateien wie articlescheinen den Titel nicht anders zu setzen, wenn er in einem Makro verschachtelt ist, zumindest konnte ich den Unterschied nicht erkennen. Daher stimmt möglicherweise etwas mit der amsartImplementierung von \title{}oder nicht \maketitle.

Gibt es eine Möglichkeit, dies zu beheben oder zumindest ein verschachteltes Makro zum Laufen zu bringen?

Antwort1

Du hast eines vergessen, dastutArbeit, nämlich

\expandafter\title\expandafter{\the\mytitleA}

Natürlich kann man \thedavor nichts aus dem \mytitleAWeg räumen, denn das \theist notwendig, um den Inhalt des \toksRegisters auszuliefern.

Wo liegt das Problem? Standardmäßig amsartwird einfach verwendet \uppercase(das sollte es nicht, aber das ist ein anderes Problem).

Sie können das Problem vermeiden, indem Sie das Laden so durchführen, dass die Verwendung textcaseerzwungen wird , sodass eine vollständige (geschützte) Erweiterung erfolgt, bevor die Aufgabe ausgeführt wird.amsart\MakeTextUppercase\uppercase

Mit einem \toksRegister

\documentclass[a4paper,reqno]{amsart}
\usepackage{textcase}

\newtoks\mytitleA
\mytitleA={This is a title}
\newcommand{\myauthor}{This is me}

\begin{document}

\title{\the\mytitleA}
\author{\myauthor}

\maketitle

\end{document}

Mit einem Befehl

\documentclass[a4paper,reqno]{amsart}
\usepackage{textcase}

\newcommand{\mytitle}{This is a title}
\newcommand{\myauthor}{This is me}

\begin{document}

\title{\mytitle}
\author{\myauthor}

\maketitle

\end{document}

Ausgabe (die gleiche bei beiden Beispielen)

Bildbeschreibung hier eingeben

verwandte Informationen