Wie fügt man Monat und Jahr einfach in die Mitte des Absatzes ein?

Wie fügt man Monat und Jahr einfach in die Mitte des Absatzes ein?

Ich schreibe meine Abschlussarbeit und möchte an vielen Stellen Monat und Jahr einiger vergangener Ereignisse einfügen! Wie geht das? Kann mir jemand einen möglichst einfachen Weg vorschlagen? Ich bin ein absoluter LaTeX-Anfänger. Und bitte verzeihen Sie mir auch mein Englisch.

Ich habe diese Ereignisse in einer Textdatei aufgelistet. Beispielsweise wurde die Supraleitung im April 1991 von Heike Kamerlingh Onnes entdeckt.

Ich erwarte lediglich eine Ausgabe im Format

April 1991

Antwort1

Sie könnten einfach ein Makro definieren, das die relevanten Daten speichert. Sie könnten beispielsweise verwenden, \newcommand\questionDay{Monday}um den Tag zu speichern, an dem Sie diese Frage gestellt haben. Dann könnten Sie \questionDayin Ihrem Absatz verwenden, wo immer Sie auf diesen Tag verweisen möchten. Beachten Sie jedoch, dass Leerzeichen nach Makronamen ignoriert werden. Wenn Sie also ein Leerzeichen wünschen, \questionDaykönnen Sie stattdessen verwenden \questionDay{}.

Ein anderer Ansatz könnte darin bestehen, die Daten in einer Datenstruktur zu speichern und diese abzurufen. Im Folgenden wird eine solche Datenstruktur implementiert, die Sie initialisieren können, indem Sie einen Makronamen und eine Liste von key=valuePaaren angeben, die Eigenschaften für diesen Makronamen speichern. Wenn Sie das Makro dann verwenden, akzeptiert es ein Argument, das eine der zuvor gespeicherten Eigenschaften ist, und setzt den Wert dieser Eigenschaft.

Dieses Beispiel zeigt beide Methoden:

\documentclass[]{article}

% basic approach
\newcommand\questionday{9th}
\newcommand\questionDay{Monday}
\newcommand\questionyear{2020}
\newcommand\questionmonth{November}

\usepackage{xparse}

% property list based approach
\ExplSyntaxOn
\msg_new:nnn { Bhargav } { already-defined }
  { #1 ~ `#2' ~ is ~ already ~ defined. }
\msg_new:nnn { Bhargav } { unknown~property }
  { The ~ property ~ `#2' ~ isn't ~ found ~ for ~ `#1'. }
\tl_new:N \l_Bhargav_tmp_tl
\NewDocumentCommand \newevent { m m }
  {
    \prop_if_exist:cTF { c_Bhargav_event_ \token_to_str:N #1 _prop }
      {
        \msg_error:nnxx { Bhargav } { already-defined }
          { The ~ property ~ list ~ for } { \token_to_str:N #1 }
      }
      {
        \NewDocumentCommand #1 { m }
          {
            \group_begin:
              \prop_get:cnN
                { c_Bhargav_event_ \token_to_str:N #1 _prop }
                { ##1 }
                \l_Bhargav_tmp_tl
              \quark_if_no_value:NTF \l_Bhargav_tmp_tl
                {
                  \msg_error:nnxx { Bhargav } { unknown~property }
                    { \token_to_str:N #1 } { \exp_not:n {##1} }
                }
                { \l_Bhargav_tmp_tl }
            \group_end:
          }
        \prop_const_from_keyval:cn
          { c_Bhargav_event_ \token_to_str:N #1 _prop }
          {#2}
      }
  }
\ExplSyntaxOff

% defining a new property list
\newevent\deathfreddie
  {%
    year=1991,
    month=11,
    day=24,
    Month=November,
  }

\begin{document}
Bhargav Rajyaguru asked a question on \questionDay{} the \questionday{} of
\questionmonth, \questionyear.

It was very sad that Freddie Mercury died on
\deathfreddie{year}-\deathfreddie{month}-\deathfreddie{day}. That was the
saddest \deathfreddie{Month} in \deathfreddie{year}.
\end{document}

verwandte Informationen