如何在段落中間簡單地插入月份和年份?

如何在段落中間簡單地插入月份和年份?

我正在寫論文,我想在很多地方插入一些過去事件的月份和年份!怎麼做?誰能建議我一個最簡單的方法來做到這一點?我是 LaTeX 的初學者。也請原諒我的英文。

我在文字檔中列出了這些事件。例如,超導性是由 Heike Kamerlingh Onnes 於 1991 年 4 月發現的。

我只是期待輸出格式如下

1991年4月

答案1

您可以簡單地定義一個儲存相關資料的巨集,例如,您可以使用它\newcommand\questionDay{Monday}來儲存您提出這個問題的日期。然後你可以\questionDay在段落中任何你想提到這一天的地方使用。但是,請記住,巨集名稱後面的空格將被忽略,因此,如果您希望後面有空格,\questionDay則可以使用\questionDay{}空格。

另一種方法是將資料儲存在某種資料結構中並檢索它。下面實作了這樣一個資料結構,您可以透過給出巨集名稱和key=value儲存該巨集名稱的屬性的對列表來初始化該資料結構。然後,當您使用該巨集時,它將接受一個參數,作為先前儲存的屬性之一,並且它將排版該屬性的值。

此範例顯示了兩種方法:

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

相關內容