
나는 다음과 같은 일을 할 수 있을 것입니다:
다음을 사용하는 대신 동일한 코드를 여러 번 반복합니다.
\documentclass{article}
\usepackage{enumerate}
\newenvironment{enum1}{\begin{enumerate}[1.]}{\end{enumerate}}
\newenvironment{enuma}{\begin{enumerate}[a.]}{\end{enumerate}}
...
나는 그것을 어느 정도 "자동화"할 수 있기를 원합니다. 예:
\documentclass{article}
\newcommand{\newEnum}[1]{\newenvironment{enum#1}{\begin{enumerate}[#1.]}{\end{enumerate}}
\newEnum{1}
\newEnum{a}
...
물론 이것은 컴파일되지 않습니다. 그렇지 않으면 여기서 묻지 않을 것입니다.
이를 수행할 수 있는 방법이 있습니까? 아니면 복사 및 붙여넣기 및 필요한 변경 작업이 계속 진행되고 있습니까?
답변1
enumitem
목록의 경우 패키지를 사용하고 newlist
내장된 기능을 사용하는 것이 좋습니다 .
이 중 많은 것이 있으면 사용할 수 있습니다.
\newcommand{\DefineNewList}[3]{%
% #1 = name
% #2 = max depth
% #3 = label
\newlist{#1}{enumerate}{#2}
\setlist[#1]{label*=#3}
}%
하지만 나는 그것에 큰 가치가 없다고 생각합니다.
암호:
\documentclass{article}
\usepackage{enumitem}
\newlist{enumOne}{enumerate}{2}
\setlist[enumOne]{label*=\arabic*.}
\newlist{enumA}{enumerate}{2}
\setlist[enumA]{label*=\alph*.}
\begin{document}
\begin{enumOne}
\item First item in enumOne
\item Second item in enumOne
\end{enumOne}
\begin{enumA}
\item First item in enumA
\item Second item in enumA
\end{enumA}
\end{document}
코드 Repeated Usage
:
\documentclass{article}
\usepackage{enumitem}
\newcommand{\DefineNewList}[3]{%
% #1 = name
% #2 = max depth
% #3 = label
\newlist{#1}{enumerate}{#2}
\setlist[#1]{label*=#3}
}%
\DefineNewList{enumOne}{2}{\arabic*.}
\DefineNewList{enumA}{2}{\alph*.}
\begin{document}
\begin{enumOne}
\item First item in enumOne
\item Second item in enumOne
\end{enumOne}
\begin{enumA}
\item First item in enumA
\item Second item in enumA
\end{enumA}
\end{document}
답변2
\documentclass{article}
\usepackage{enumerate}
\newcommand\newEnum[1]{%
\newenvironment{enum#1}{\enumerate[#1.]}{\endenumerate}}
\newEnum{1}
\newEnum{a}
\begin{document}
\begin{enumerate}
\item foo
\item bar
\end{enumerate}
\begin{enum1}
\item foo
\item bar
\end{enum1}
\begin{enuma}
\item foo
\item bar
\end{enuma}
\end{document}
그러나 패키지를 사용하면 enumitem
더 많은 가능성이 있습니다.