![¿Cómo puedo usar comandos personalizados dentro y fuera de maketitle con la clase de artículo?](https://rvso.com/image/348605/%C2%BFC%C3%B3mo%20puedo%20usar%20comandos%20personalizados%20dentro%20y%20fuera%20de%20maketitle%20con%20la%20clase%20de%20art%C3%ADculo%3F.png)
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 \subject
y \major
poder \college
usar 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}
¿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; \major
sólo tiene que definirse antes de ser utilizado.
Si desea ocultar la definición de comandos y hacerlo de manera similar a \author
, \title
etc., 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 \themajor
se use antes \major
o si \major
se 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 \renewcommand
en lugar de \newcommand
.