Wie kann ich benutzerdefinierte Befehle innerhalb und außerhalb von Maketitle mit der Artikelklasse verwenden?

Wie kann ich benutzerdefinierte Befehle innerhalb und außerhalb von Maketitle mit der Artikelklasse verwenden?

Ich verwende LaTeX schon seit einiger Zeit, habe jedoch keinerlei Erfahrung mit dem Erstellen von Makros oder Klassen.

Grundsätzlich möchte ich Befehle wie und erstellen \subjectund \majordiese \collegeBefehle im Titel und in den Kopf-/Fußzeilen eines Dokuments der Artikelklasse verwenden können.

Ich konnte die Arbeit „manuell“ erledigen, wie in meinem MWE gezeigt.

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

Ich möchte das Ganze ein wenig „automatischer“ machen, indem ich die Etiketten einfach wie folgt ausfülle:

\major{Mechanical Engineering}

Dies ist die Ausgabe Bildbeschreibung hier eingeben

Wie kann ich das erreichen?

Antwort1

Am einfachsten ist es, einen Befehl mit dem Text zu definieren und ihn bei Bedarf zu verwenden.

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

Definition und Verwendung müssen nicht in dieser Textreihenfolge erfolgen; sie \majormüssen vor der Verwendung lediglich definiert werden.

Wenn Sie die Definition von Befehlen ausblenden und dies ähnlich wie usw. tun möchten \author, \titleist ein wenig zusätzlicher Aufwand erforderlich.

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

Dieser Code gibt einen Fehler aus, wenn \themajorer vor verwendet wird \majoroder wenn \majorer zweimal verwendet wird. Das scheint mir eine Funktion zu sein, aber wenn Sie das vermeiden möchten, können Sie vordefinieren \themajor.

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

Beachten Sie die Verwendung von \renewcommandanstelle von \newcommand.

verwandte Informationen