zoukankan      html  css  js  c++  java
  • 在Latex使用條列式清單itemize , enumerate , description [转]

    [另] \renewcommand\labelenumi{[\theenumi]} 调用enumerate时候编号就会添加括号.

    在latex中有三種條列式方法 itemize  、 enumerate 、 discription很常被使用。

    本文討論主題有:行距設定, 編號設定, 以及全文設定方式 

    • 排版之後, 每一條列項之前會有一文字或符號標籤(label)。在itemize 與enumerate 指令環境下,

         條列項之標籤有內定之符號,但也可以自行設定。description 指令環境之標籤則由使用者自行輸入。

    • 每個條列項底下可以再放一層,最多可放六層。

    (1) 行距設定-項目與項目間的距離 :

        在begin{itemize}使用\itemsep 調整  -1pt即縮小1pt,1pt則增加1pt.

    (2) 調整enumerate數字清單的編號

         參考文件: The enumerate package documentation

    enumerate    預設的第一層是阿拉拍數字, 第二層是(a),(b),(c)

    \documentclass{article}
    \usepackage{enumerate}
    \begin{document}
      \begin{enumerate}
        \item This is an example of \ldots
        \item \ldots the usual enumeration.
        \begin{enumerate}[a)]
          \item And this is a \ldots
          \item \ldots couple of \ldots
        \end{enumerate}
        \item
        \begin{enumerate}[-- i --]
          \item \ldots examples of \ldots
          \item \ldots custom-tailored \ldots
          \item \ldots enumerations.
          \newcounter{enumii_saved}
          \setcounter{enumii_saved}{\value{enumii}}
        \end{enumerate}
        Some general comments
        \begin{enumerate}[-- i --]
          \setcounter{enumii}{\value{enumii_saved}}
         如果要換另一個條列式項目, 但編號接續, 使用\newcounter{enumii_saved}來操作
     
          \item My next point.
          \setcounter{enumii}{7}
          使用setcounter{enumii}{數字}來指定編號號碼
          \item My eighth point.
        \end{enumerate}
      \end{enumerate}
    \end{document}

    (3) enumerate也可以在全文指令環境中調整預設值: 層、標籤格式

    表示條列的層:\labelitemi  \labelitemii 
     
    前者代表最外層之item指令環境;後者代表次一層之指令環境。再下一層之指令則為\labelitemiii..

    此一指令環境之標籤是以阿拉伯數字或英文字母依序標出,控制指令有: \arabic, \roman, \Roman,與\Alph。譬如,

    \renewcommand{\labelenumi}{\arabic{enumi})}


    將把指令環境最外層之標籤改變成1), 2), . . .之形式。同理,下列指令則把標籤變成大寫羅馬字: I., II., . . . 。

    \renewcommand{\labelenumi}{\Roman{enumi}}

    (4) 設定每一層列舉條文的內縮距離 


    第一層列舉項之內 縮距離是以\leftmargini 控制,

    最後的字母i 代表第一層; 第二層列舉項則以\leftmarginii 控制

    用法

    在\begin{itemize}之前 先下兩行,表示第一層內縮7mm,第2層縮6mm


    \leftmargini=7mm
    \leftmarginii=6mm

    [转] http://www.cnblogs.com/dearjustine/archive/2010/04/05/1704508.html

    -------------------------------

    LaTeX/列表

     

    枚举、列举和描述

    \begin{list_type}
     \item The first item
     \item The second item
     \item The third etc \ldots
    \end{list_type}
    

    默认的 list_type 有 enumerate、 itemize 和 description,区别主要是列项标签的不同。enumerate 是有序的列表;itemize 用圆点;description 需要 \item[label] 指定标签。各种列表环境可以互相嵌套,此时,enuemrate 的标签会自动变化以体现分级层次。

    如果不想让列项第一行和标签同行,加一个 \hfill。

    \begin{description}
     \item[First] \hfill \\
     The first item
     \item[Second] \hfill \\
     The second item
     \item[Third] \hfill \\
     The third etc \ldots
    \end{description}
    

    紧凑的列表

    以上的列表环境空白较大,如果需要更紧凑的列表方式,可以选用 mdwlist 宏包提供的 itemize*、enumerate* 和 description* 环境,用法和无星号的版本一致。

    定制列表环境

     

    距离

    在列表的内部,很容易改变一些距离

    \begin{itemize}
     \setlength{\itemsep}{1pt}
     \setlength{\parskip}{0pt}
     \setlength{\parsep}{0pt}
     \item first item
     \item second item
    \end{itemize}
    

    更详细的参数需要看下面 list 环境

    标签和计数器

    枚举的列表计数可以通过其计数器来改变。enumerate 提供了四个计数器 enumi,enumii,enumiii, enumiv 对应不同层次的枚举。

    \begin{enumerate}
     \setcounter{enumi}{4}
     \item fifth element
    \end{enumerate}
    

    会产生

    5. fifth element
    

    LaTeX 可以用其他格式打印这些计数器的值,

     

    命令例子
    \arabic 1, 2, 3 ...
    \alph a, b, c ...
    \Alph A, B, C ...
    \roman i, ii, iii ...
    \Roman I, II, III ...
    \fnsymbol 星号,单剑号,双剑号等
    % 重定义第一级计数显示
    \renewcommand{\theenumi}{\Roman{enumi}}
    \renewcommand{\labelenumi}{\theenumi}
    
    % 重定义第二级计数显示
    \renewcommand{\theenumii}{\Alph{enumii}}
    \renewcommand{\labelenumii}{(\theenumii)}
    

    这样看起来有些麻烦。有时候直接写

    \renewcommand{\labelenumi}{\Roman{enumi}}
    

    但是这样有一个缺点:如果在列表内部引用这些计数器,就会按原来的格式打印。

    对列举 itemize 而言,无须计数。标签的形式可以通过 \item[label] 来改变。或者通过各级 \labelitemi,\labelitemii,\labelitemiii,\labelitemiv。所以

    \item[$\star$]
    

    等价于

    \renewcommand{\labelitemi}{$\star$}
    

    enumerate 宏包

    enumerate 宏包为 enumerate 提供了更灵活的标签。可以使用 A,a,I,i,1 作为可选项产生 \Alph,\alph,\Roman,\roman,\arabic 的效果。

    usepackage{enumerate}
    ......
    \begin{enumerate}[(i)]
     \item The first item
     \item The second item
     \item The third etc \ldots
    \end{enumerate}
    

    行内列表

    paralist 宏包提供了 inparaenum 环境,产生不分段的列表。同样支持跟上面 enumerate 宏包类似的格式化标签。

    \usepackage{paralist}
     ......
    \textbf{\itshape Inline lists}, which are  sequential in nature, just like enumerated lists, but are
    \begin{inparaenum}[\itshape a\upshape)]
     \item formatted within their paragraph;
     \item usually labelled with letters; and 
     \item usually have the final item prefixed with  `and' or `or',
    \end{inparaenum} like this example.
    

    list 环境

    最有可定制性的当属 list 环境。以上的 enumerate, itemize,description 其本质上都是封装好的 list 环境。

    \begin{list}{label}{spacing}
     \item First item
     \item Second item
     \end{list}
    

    其中, label 的内容将会作为标签,放在一个单独的盒子里,出现在每一 item 之前。也可以通过 \item[label] 来实现。

    spacing 设定一些距离。通常为空,因为默认距离已经足够好了。

    • \topsep 列表顶部与之前内容的额外空白,不含 \baselineskip
    • \partopsep 如果列表之前是一个空行,列表顶部的额外空白
    • \itemsep 列表各项之间额外的垂直空白
    • \parsep 一个 item 中,如果分段,段落间额外空白
    • \leftmargin 列表与左边距之间的水平距离,值为非负
    • \rightmargin 列表与右边距之间的水平距离,值为非负
    • \itemindent 每一 item 第一行的缩进
    • \listparindent 每一 item 第一行之后各行的缩进
    • \labelsep 标签盒子与每一 item 第一行文本之间距离
    • \labelwidth 标签盒子的宽度;如果标签过长,这一宽度会自动变大,直到列表的第一行文本为止
    • \makelabel{label} 生成 \item[label] 命令所要求的标签
    • \usecounter{ctr} 使用列表项目计数器 ctr,初始值为 0

    一个例子

    %    定义计数器
    \newcounter{Lcount}
    %   标签计数显示为罗马数字
    \begin{list}{Item-\Roman{Lcount}}
    %    使用计数器
      {\usecounter{Lcount}
    %    左右对称
      \setlength{\rightmargin}{\leftmargin}}
    %    开始
    \item This is the first item
    \item And this is the second item
    \end{list}
    

    效果将是

    Item-I  This is the first item
    Item-II And this is the second item

     [转] http://blog.chinaunix.net/uid-778728-id-2043822.html

  • 相关阅读:
    Spring中文文档
    学装饰器之前必须要了解的四点
    三元运算符
    functools 中的 reduce 函数基本写法
    filter 函数基本写法
    map 函数基本写法
    迭代器和可迭代对象区别
    斐波那契数列进一步讨论性能
    无论传入什么数据都转换为列表
    将每一个分隔开的字符的首字母大写
  • 原文地址:https://www.cnblogs.com/longdouhzt/p/2706995.html
Copyright © 2011-2022 走看看