Linux中國

LaTeX 排版(1):列表

本系列基於前文《在 Fedora 上用 LaTex 和 TeXstudio 排版你的文檔》和《LaTeX 基礎》,本文即系列的第一部分,是關於 LaTeX 列表的。

列表類型

LaTeX 中的列表是封閉的環境,列表中的每個項目可以取一行文字到一個完整的段落。在 LaTeX 中有三種列表類型:

  • itemize 無序列表 unordered list / 項目符號列表 bullet list
  • enumerate 有序列表 ordered list
  • description 描述列表 descriptive list

創建列表

要創建一個列表,需要在每個項目前加上控制序列 item,並在項目清單前後分別加上控制序列 begin{<類型>}end{<類型>}(將其中的<類型>` 替換為將要使用的列表類型),如下例:

itemize(無序列表)

begin{itemize}
    item Fedora
    item Fedora Spin
    item Fedora Silverblue
end{itemize}

enumerate(有序列表)

begin{enumerate}
    item Fedora CoreOS
    item Fedora Silverblue
    item Fedora Spin
end{enumerate}

description(描述列表)

begin{description}
    item[Fedora 6] Code name Zod
    item[Fedora 8] Code name Werewolf
end{description}

列表項目間距

可以通過在導言區加入 usepackage{enumitem} 來自定義默認的間距,宏包 enumitem 啟用了選項 noitemsep 和控制序列 itemsep,可以在列表中使用它們,如下例所示:

使用選項 noitemsep

將選項 noitemsep 封閉在方括弧內,並同下文所示放在控制序列 begin 之後,該選項將移除默認的間距。

begin{itemize}[noitemsep]
    item Fedora
    item Fedora Spin
    item Fedora Silverblue
end{itemize}

使用控制序列 itemsep

控制序列 itemsep 必須以一個數字作為後綴,用以表示列表項目之間應該有多少空間。

begin{itemize} itemsep0.75pt
    item Fedora Silverblue
    item Fedora CoreOS
end{itemize}

嵌套列表

LaTeX 最多最多支持四層嵌套列表,如下例:

嵌套無序列表

begin{itemize}[noitemsep]
    item Fedora Versions
    begin{itemize}
        item Fedora 8
        item Fedora 9
        begin{itemize}
            item Werewolf
            item Sulphur
            begin{itemize}
                item 2007-05-31
                item 2008-05-13
            end{itemize}
        end{itemize}
    end{itemize}
    item Fedora Spin
    item Fedora Silverblue
end{itemize}

嵌套有序列表

begin{enumerate}[noitemsep]
    item Fedora Versions
    begin{enumerate}
        item Fedora 8
        item Fedora 9
        begin{enumerate}
            item Werewolf
            item Sulphur
            begin{enumerate}
                item 2007-05-31
                item 2008-05-13
            end{enumerate}
        end{enumerate}
    end{enumerate}
    item Fedora Spin
    item Fedora Silverblue
end{enumerate}

每種列表類型的列表樣式名稱

enumerate(有序列表) itemize(無序列表)
alph* (小寫字母) $bullet$ (●)
Alph* (大寫字母) $cdot$ (•)
arabic* (阿拉伯數字) $diamond$ (◇)
roman* (小寫羅馬數字) $ast$ (✲)
Roman* (大寫羅馬數字) $circ$ (○)
$-$ (-)

按嵌套深度劃分的默認樣式

嵌套深度 enumerate(有序列表) itemize(無序列表)
1 阿拉伯數字 (●)
2 小寫字母 (-)
3 小寫羅馬數字 (✲)
4 大寫字母 (•)

設置列表樣式

下面的例子列舉了無序列表的不同樣式。

% 無序列表樣式
begin{itemize}
    item[$ast$] Asterisk
    item[$diamond$] Diamond
    item[$circ$] Circle
    item[$cdot$] Period
    item[$bullet$] Bullet (default)
    item[--] Dash
    item[$-$] Another dash
end{itemize}

有三種設置列表樣式的方式,下面將按照優先順序從高到低的順序分別舉例。

方式一:為各項目單獨設置

將需要的樣式名稱封閉在方括弧內,並放在控制序列 item 之後,如下例:

% 方式一
begin{itemize}
    item[$ast$] Asterisk
    item[$diamond$] Diamond
    item[$circ$] Circle
    item[$cdot$] period
    item[$bullet$] Bullet (default)
    item[--] Dash
    item[$-$] Another dash
end{itemize}

方式二:為整個列表設置

將需要的樣式名稱以 label= 前綴並封閉在方括弧內,放在控制序列 begin 之後,如下例:

% 方式二
begin{enumerate}[label=Alph*.]
    item Fedora 32
    item Fedora 31
    item Fedora 30
end{enumerate}

方式三:為整個文檔設置

該方式將改變整個文檔的默認樣式。使用 renewcommand 來設置項目標籤的值,下例分別為四個嵌套深度的項目標籤設置了不同的樣式。

% 方式三
renewcommand{labelitemi}{$ast$}
renewcommand{labelitemii}{$diamond$}
renewcommand{labelitemiii}{$bullet$}
renewcommand{labelitemiv}{$-$}

總結

LaTeX 支持三種列表,而每種列表的風格和間距都是可以自定義的。在以後的文章中,我們將解釋更多的 LaTeX 元素。

關於 LaTeX 列表的延伸閱讀可以在這裡找到:LaTeX List Structures

via: https://fedoramagazine.org/latex-typesetting-part-1/

作者:Earl Ramirez 選題:lujun9972 譯者:rakino 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國