
나는 정의를 위해 내 자신의 환경을 사용하여 수학 강의를 작성하고 있습니다.
\newenvironment{mydefs}
{\begin{asparaenum}[\P\slshape\thesection.a]}
{\end{asparaenum}}
따라서 모든 정의는 "section_number.letter"(예: 3.a)와 같이 번호가 매겨집니다.
하지만 defs를 참조하는 데 문제가 있습니다. 어떤 섹션이던 간에,
\begin{mydefs}
\item
\label{123}
Something
\end{mydefs}
....
\ref{123}
"section_number.letter" 대신 "1.letter"가 표시됩니다(예: 3.b 대신 1.b). 이 문제를 처리하는 데 도움을 줄 수 있기를 바랍니다.
PS 가능하다면 이 숫자 계산(section.letter) 스타일을 유지하고 싶습니다.
감사합니다
답변1
나는 enumitem
꽤 융통성이 없는 것보다는 제안한다 paralist
.
\documentclass{article}
\usepackage{enumitem}
\newenvironment{mydefs}
{\begin{enumerate}[
nosep,
label=\P\slshape\thesection.\alph*\ ,
ref=\thesection.\alph*,
leftmargin=0pt,labelwidth=0pt,align=left,itemindent=\parindent,labelsep=0pt
]}
{\end{enumerate}}
\begin{document}
\section{title}
\begin{mydefs}
\item\label{1}
Something
\item\label{2}
Something
\item\label{3}
Something
\end{mydefs}
\section{Another}
\begin{mydefs}
\item\label{11}
Something
\item\label{22}
Something
\item\label{33}
Something
\end{mydefs}
1: \ref{1}
2: \ref{2}
3: \ref{3}
11: \ref{11}
22: \ref{22}
33: \ref{33}
\end{document}
기울어진 숫자가 정말 끔찍하네요.
답변2
환경 asparaenum
은 다음과 같이 에뮬레이션될 수 있습니다.enumitem
패키지.
옵션이 wide
에뮬레이션됩니다.항목을 단락으로및 옵션이 포함된 압축 목록 noitemsep
및 nosep
.
\newlist
itemize
, enumerate
및 를 기반으로 사용자 정의 목록을 생성합니다 description
.
예
\documentclass{article}
\usepackage{enumitem}
\newlist{mydefs}{enumerate}{1}
\setlist[mydefs]{label=\P\slshape\thesection.\alph*,wide,noitemsep,nosep}
\begin{document}
\begin{mydefs}
\item\label{123}
Something
\item B
\end{mydefs}
As in \ref{123} we ...
\end{document}