¿Cómo insertar simplemente mes y año en medio del párrafo?

¿Cómo insertar simplemente mes y año en medio del párrafo?

¡Estoy escribiendo mi tesis y quiero insertar el mes y el año de algunos eventos pasados ​​en muchos lugares! ¿Como hacer eso? ¿Alguien puede sugerirme una forma más sencilla de hacerlo? Soy un principiante en LaTeX. Y también perdóname por mi inglés.

Tengo estos eventos enumerados en un archivo de texto. Por ejemplo, la superconductividad fue descubierta en abril de 1991 por Heike Kamerlingh Onnes.

Solo espero una salida formateada como

abril de 1991

Respuesta1

Simplemente podría definir una macro que almacene los datos relevantes; por ejemplo, podría usarla \newcommand\questionDay{Monday}para almacenar el día en el que hizo esta pregunta. Luego podrías utilizar \questionDayen tu párrafo cualquier lugar donde quieras hacer referencia a este día. Sin embargo, tenga en cuenta que los espacios se ignoran después de los nombres de las macros, por lo que si desea un espacio a continuación, \questionDaypuede utilizarlos \questionDay{}en su lugar.

Otro enfoque podría ser almacenar los datos en alguna estructura de datos y recuperarlos. Lo siguiente implementa una estructura de datos que puede inicializar dando un nombre de macro y una lista de key=valuepares que almacenan propiedades para este nombre de macro. Cuando luego use la macro, aceptará un argumento, que será una de las propiedades almacenadas anteriormente, y escribirá el valor de esa propiedad.

Este ejemplo muestra ambos métodos:

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

información relacionada