
Estou escrevendo aulas de matemática usando meu próprio ambiente para definições:
\newenvironment{mydefs}
{\begin{asparaenum}[\P\slshape\thesection.a]}
{\end{asparaenum}}
Portanto, cada definição é numerada como "section_number.letter" (ex. 3.a)
Mas então tenho problemas em fazer referência a defs. Não importa em que seção seja,
\begin{mydefs}
\item
\label{123}
Something
\end{mydefs}
....
\ref{123}
Estou recebendo "1.letra" em vez de "seção_número.letra" (ex. 1.b em vez de 3.b). Espero que você possa me ajudar a lidar com isso
PS: Eu realmente gostaria de manter esse estilo de numeração (seção.letra), se for possível.
Obrigado
Responder1
Eu sugiro, enumitem
em vez do bastante inflexível 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}
O número inclinado é realmente horrível.
Responder2
O asparaenum
ambiente pode ser emulado peloenumitem
pacote.
A opção wide
emulaitens como parágrafose as listas compactas com as opções noitemsep
e nosep
.
\newlist
cria listas personalizadas baseadas em itemize
e .enumerate
description
Exemplo
\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}