problema de amsart con el título tipográfico

problema de amsart con el título tipográfico

Intenté implementar un metanivel para los comandos de autor y título, porque la mayoría de los archivos de estilo quieren que sean un poco diferentes y quiero poder cambiar fácilmente el archivo de estilo.

En pocas palabras, observé que la amsartclase se comporta de manera extraña cuando inserto una macro en \title{}. No arroja error, pero no escribe en mayúscula el título. Sin embargo, seguirá estando escrito en negrita.

Entonces no hay ningún efecto ni todos los efectos. También intenté colocarlo \expandafteren todos los lugares que se me ocurrieron, pero aparentemente no entiendo realmente este comando.

\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}

Otros archivos de estilo como articleno parecen escribir el título de manera diferente; si está anidado en una macro, al menos no pude notar la diferencia. Por lo tanto, tal vez haya algún problema con la amsartimplementación de \title{}o \maketitle.

¿Hay alguna forma de solucionar este problema o al menos hacer que funcione una macro anidada?

Respuesta1

Olvidaste uno quehacetrabajo, es decir

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

Por supuesto, nada que pueda evitarse \thepuede \mytitleAfuncionar, ya que \thees necesario para entregar el contenido del \toksregistro.

¿Cuál es el problema? Por defecto amsartsolo usa \uppercase(no debería, pero ese es otro problema).

Puede evitar el problema cargando textcaseeso que obliga amsarta usar \MakeTextUppercasede modo que la expansión completa (protegida) se realice antes de que \uppercasehaga su trabajo.

con un \toksregistro

\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}

con un comando

\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}

Salida (lo mismo con ambos ejemplos)

ingrese la descripción de la imagen aquí

información relacionada