¿Cómo puedo usar comandos personalizados dentro y fuera de maketitle con la clase de artículo?

¿Cómo puedo usar comandos personalizados dentro y fuera de maketitle con la clase de artículo?

He estado usando LaTeX por un tiempo pero no tengo experiencia en la creación de macros o clases.

Básicamente, lo que quiero hacer es crear comandos como \subjecty \majorpoder \collegeusar esos comandos en el título y en los encabezados/pies de página de un documento de clase de artículo.

Pude hacer el trabajo "manualmente" como se muestra en mi MWE.

\documentclass[12pt,a4paper,twocolumn]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish,mexico]{babel}
\usepackage{blindtext}

\title{A title}
\author{ an Author\\{\small a subject}\\\begin{footnotesize}
\textit{a College}
\end{footnotesize}}
\date{\today}

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{a Major}
\fancyhead[L]{an Author}
\fancyfoot[C]{Página \textbar \thepage}
\fancyfoot[R]{a Subject}
\fancyfoot[L]{a Title}
\fancypagestyle{plain}{%
\fancyhf{}
\fancyfoot[CE,CO]{Página \textbar \thepage}
\renewcommand{\headrulewidth}{0pt}}
\begin{document}
\maketitle
\blindtext
\blindlist{itemize}[5]
\blindmathpaper

\end{document}

Quiero hacer esto un poco más "automático" simplemente llenando las etiquetas de esta manera:

\major{Mechanical Engineering}

Esta es la salida ingrese la descripción de la imagen aquí

¿Cómo puedo conseguir esto?

Respuesta1

La forma más sencilla es definir un comando que contenga el texto y utilizarlo cuando sea necesario.

\newcommand\major{Mechanical Engineering}
...
\fancyhead[R]{\major}

La definición y el uso no necesitan estar en este orden textual; \majorsólo tiene que definirse antes de ser utilizado.

Si desea ocultar la definición de comandos y hacerlo de manera similar a \author, \titleetc., necesita un poco de esfuerzo adicional.

\newcommand\major[1]{\newcommand\themajor{#1}}
...
\major{Mechanical Engineering}
...
\fancyhead[R]{\themajor}

Este código dará un error cuando \themajorse use antes \majoro si \majorse usa dos veces. Esto me parece una característica, pero si quieres evitarlo, puedes predefinirlo \themajor.

\newcommand\themajor{}
\newcommand\major[1]{\renewcommand\themajor{#1}}
...
\major{Mechanical Engineering}
...
\fancyhead[R]{\themajor}

Tenga en cuenta el uso de \renewcommanden lugar de \newcommand.

información relacionada