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 \subject
und \major
diese \college
Befehle 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}
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 \major
müssen vor der Verwendung lediglich definiert werden.
Wenn Sie die Definition von Befehlen ausblenden und dies ähnlich wie usw. tun möchten \author
, \title
ist 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 \themajor
er vor verwendet wird \major
oder wenn \major
er 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 \renewcommand
anstelle von \newcommand
.