사용자 정의 레이블

각 목록 항목의 머리에 있는 마커(또는 레이블)는 사용자가 변경할 수 있습니다. itemize의 총알을 다이아몬드, 즉 "1"로 바꾸세요. enumerate을 로마자 “I”로 바꿉니다. 또는 "(a)" — 핵심은 레벨별로 제공되는 소수의 매크로입니다. 이 페이지에서는 \renewcommand(itemize\labelitemi, enumerate\theenumi\labelenumi)을 통한 기존 경로와 enumitem의 보다 쉬운 label= 키를 모두 다루며, 두 경로가 어떻게 다른지, 각각에 도달하는 시기를 보여줍니다.

항목별 표시 변경

itemize의 마커는 중첩 수준당 하나씩 \labelitemi, \labelitemii, \labelitemiii\labelitemiv 매크로에 있습니다(i / ii / iii / iv는 수준 1~4에 대한 로마 숫자임). 표준 클래스에서 기본값은 레벨 1은 굵은 점 \textbullet(•), 레벨 2는 굵은 대시(-), 레벨 3은 별표 \textasteriskcentered(*), 레벨 4는 가운데 점 \textperiodcentered(·)입니다.

전체 레벨에 대한 마커를 변경하려면 \renewcommand을 사용하여 일치하는 매크로를 재정의하고 프리앰블이나 원하는 범위 바로 앞에 배치합니다. 예를 들어 첫 번째 레벨을 다이아몬드로 만들려면 다음을 수행하세요.

latex
\renewcommand{\labelitemi}{$\diamond$}
\begin{itemize}
  \item この階層の記号は菱形になる
  \item 二つめの項目
\end{itemize}

단 하나의 항목에 대한 마커를 변경하려면 \item 바로 뒤에 대괄호로 라벨을 지정하세요. \item[$\star$]은 해당 항목의 표시를 별표로 만들고 \item[--]을 대시로 만듭니다. 이와 같이 괄호로 묶인 레이블은 기본적으로 굵게 설정되고 오른쪽으로 정렬됩니다.

숫자 열거 — 카운터 및 \theenumi

enumerate은 한 단계 더 복잡합니다. 번호 매기기는 enumi, enumii, enumiii, enumiv 수준당 카운터에 의해 결정됩니다. 각 카운터의 값(1, 2, 3 …)이 표시되는 방식은 \theenumi, \theenumii 등에 의해 결정되며, 표준 클래스의 기본값은 다음과 같습니다.

레벨카운터기본값 `\the…`인쇄
\theenumi1위enumi\arabic{enumi}1, 2, 3 …
\theenumii2위enumii\alph{enumii}a, b, c …
\theenumiii3번째enumiii\roman{enumiii}나, ii, iii…
\theenumiv4번째enumiv\Alph{enumiv}A, B, C…

로마 숫자로 첫 번째 레벨을 설정하려면 \theenumi\Roman으로 재정의합니다. \theenumi그러한 항목을 \ref 사용할 때 생성되는 문자열이기 때문에 이를 변경하면 인쇄된 번호와 상호 참조가 함께 업데이트됩니다(자세한 내용은 아래 참조 참조).

latex
\renewcommand{\theenumi}{\Roman{enumi}}
\begin{enumerate}
  \item 第一段階(既定では I. と表示)
  \item 第二段階
\end{enumerate}

\labelenumi 대 \theenumi

이것이 핵심이다. \theenumi숫자 표현(1 대 I 대 a)을 수정하는 경우 매크로 \labelenumi, \labelenumii, …은 레이블이 줄 머리에 인쇄되는 방식을 수정합니다. \labelenumi은 내부적으로 \theenumi을 호출하고 구두점(마침표 또는 괄호)으로 묶습니다. 아래의 표준 클래스 기본값은 괄호로 묶인 레벨 2를 제외한 모든 곳에 마침표를 추가합니다.

라벨 매크로기본 정의인쇄
\labelenumi\theenumi.1. 2. 3. …
\labelenumii(\theenumii)(a) (b) (c) …
\labelenumiii\theenumiii.나. ii. iii. …
\labelenumiv\theenumiv.A.B.C.…

따라서 라벨의 모양만 변경하려면(숫자의 표현은 그대로 두고) \labelenumi을 다시 정의하세요. "1"로 바꾸려면 예를 들어 “(1)”에 다음과 같이 적습니다. \theenumi은 그대로 유지되므로 항목에 대한 \ref은 여전히 ​​괄호 없이 단순한 1을 생성합니다.

latex
\renewcommand{\labelenumi}{(\theenumi)}
\begin{enumerate}
  \item 行頭は (1) と表示される
  \item (2)、(3) と続く
\end{enumerate}

간단히 말해서: 숫자 모양(I, a, 1)은 \theenumi입니다. 레이블의 전체 스타일(둘러싸는 괄호 또는 마침표)은 \labelenumi입니다. 상호 참조 값은 레이블의 구두점 없이 \theenumi의 기본 표현을 사용합니다. 보다 정확하게는 LaTeX은 \theenumi 앞에 \p@enumi(기본적으로 비어 있음)을 붙여 참조를 작성합니다. \p@enumii과 친구를 정의하면 “1(a)”와 같이 상위 번호를 포함하는 참조를 만들 수 있습니다.

반론명령

\theenumi 또는 \labelenumi 내에서 숫자가 표시되는 방식을 선택하려면 LaTeX의 표준 반대 표시 명령을 사용하세요. 각각은 카운터 이름을 인수(예: \Roman{enumi})로 사용하고 해당 카운터 값을 선택한 형식으로 인쇄합니다.

명령인쇄범위 / 메모
\arabic1, 2, 3 … (아랍어)음수 값 허용
\alpha, b, c … (소문자)1–26
\AlphA, B, C… (대문자)1–26
\romani, ii, iii … (소문자 로마자)
\RomanI, II, III … (로마자 대문자)
\fnsymbol각주 기호 * † ‡ § ¶ ‖ ** †† ‡‡1~9만

\alph\Alph 오류가 26을 초과하고 \fnsymbol 오류가 1~9를 벗어났습니다. 예를 들어 \renewcommand{\theenumi}{\Alph{enumi}}은 첫 번째 수준을 A, B, C...로 설정하고 \renewcommand{\labelenumi}{\arabic{enumi})}은 "1)"과 같은 레이블을 제공합니다.

현대적이고 쉬운 방법 — enumitem의 레이블=

매크로를 재정의하는 것은 강력하지만 목록별로 다른 스타일을 적용하려는 경우에는 다루기가 어려워집니다. 대부분의 경우 enumitem 패키지가 더 깔끔하므로 먼저 패키지를 찾으세요. enumitem을 로드하면 label=을 사용하여 선택적 인수에 바로 목록의 레이블을 설정할 수 있습니다.

label= 내부에서는 별표 표시 표시 명령(\alph*, \Alph*, \arabic*, \roman*, \Roman*을 사용합니다. 이 명령은 인수를 사용하지 않고 현재 레벨의 카운터를 나타냅니다. 구두점을 나란히 쓰므로 label=(\alph*)은 "(a)"를 제공하고 label=\Roman*.은 "I."를 제공합니다.

document.tex
\usepackage{enumitem}
% ...
\begin{enumerate}[label=(\alph*)]
  \item ラベルは (a) になる
  \item (b)、(c) と続く
\end{enumerate}

itemize에서도 작동합니다. \begin{itemize}[label=$\star$]은 마커를 직접 제공합니다. 기본적으로 label=상호 참조(\ref) 형식도 설정하지만, 참조 모양을 다르게 지정하려면 ref= 키를 사용하세요. 예를 들어 [label=(\alph*), ref=\alph*]는 머리 부분에 "(a)"를 인쇄하고 \ref은 "a"만을 반환합니다. 1., 1.1., 1.1.1과 같은 누적 숫자를 작성하기 위해 상위 레이블에 추가되는 label*=도 있습니다. … label*=은 인쇄된 라벨에 대해서만 누적됩니다. 상위 번호는 상호 참조에 자동으로 추가되지 않습니다. 따라서 "1.a"와 같은 참조를 얻으려면 ref=으로 철자를 입력해야 합니다. ref=\theenumi.\alph*.

문서의 모든 목록에 동일한 스타일을 적용하려면 \setlist으로 한 번 설정하고 종류(itemize / enumerate)와 수준을 대괄호 안에 지정합니다.

latex
\usepackage{enumitem}
\setlist[enumerate,1]{label=\Roman*.}   % 第1階層を I. II. III.
\setlist[enumerate,2]{label=(\alph*)}    % 第2階層を (a) (b)
\setlist[itemize,1]{label=$\diamond$}    % itemize 第1階層を菱形に

enumitemshortlabels 옵션을 사용하면 \begin{enumerate}[(1)]과 같은 간결한 enumerate 패키지 스타일 구문을 사용할 수도 있습니다. 더 자세한 수준별 카운터 작업 및 인라인 목록은 enumitem 페이지에서 자세히 다룹니다.

실제 사례

마지막으로 모든 것이 하나의 문서에 있습니다. 전반부는 클래식 경로를 사용하여 최상위 레벨에 로마자 "I"를 제공합니다. 스타일; 두 번째는 enumitemlabel=과 간결하게 동일한 결과에 도달합니다. 둘 다 동일한 출력을 생성합니다.

document.tex
% --- 古典的な方法 / the classic way ---
\renewcommand{\theenumi}{\Roman{enumi}}
\renewcommand{\labelenumi}{\theenumi.}
\begin{enumerate}
  \item 下ごしらえ        % I. と表示
  \item 加熱する          % II.
\end{enumerate}

% --- enumitem を使う / with enumitem ---
\usepackage{enumitem}
\begin{enumerate}[label=\Roman*.]
  \item 下ごしらえ        % I.
  \item 加熱する          % II.
\end{enumerate}

전반부에서는 \theenumi\Roman으로 설정하여 표현을 I, II, …로 변경한 다음 \labelenumi\theenumi.으로 정의하여 마침표를 추가합니다(기본 \labelenumi은 이미 \theenumi.이므로 해당 행은 단지 스타일을 명시적으로 만들고 있습니다). 후반부에는 싱글 label=\Roman*.이 두 가지 일을 동시에 해낸다. 일상 업무에는 enumitem 형식이면 충분합니다. 레이블과 참조를 별도로 조정해야 하는 경우에만 \theenumi, \labelenumiref=에 대해 다시 연락합니다.