
我正在使用自己的定義環境編寫數學講座:
\newenvironment{mydefs}
{\begin{asparaenum}[\P\slshape\thesection.a]}
{\end{asparaenum}}
因此每個定義都編號為「section_number.letter」(例如 3.a)
但是我在引用 def 時遇到了麻煩。不管是哪個版塊,
\begin{mydefs}
\item
\label{123}
Something
\end{mydefs}
....
\ref{123}
我收到“1.letter”而不是“section_number.letter”(例如 1.b 而不是 3.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}