
Linguex
допускается только 3 уровня примеров, но мне нужно иметь возможность воспроизвести это (за исключением того, что мне не нужно, чтобы метка первого уровня включала номер главы или была смещена вправо).
Я хочу сохранить локальные ссылки на подпримеры, т.е. пропустить родительские подметки.
Если мы хотим пропустить первый и второй уровни, как в (1b) вместо (28.E.1b), и если точка используется в качестве разделителя, пакет
refcount
можно вызвать, чтобы использовать макросы \gobbletodot и \getrefkeybykeydefault- ср.Есть ли способ сослаться на определенный компонент этикетки?(спасибо Ульриху Дицу).
решение1
Это может быть не идеально, ноперечислятьpackage, безусловно, может справиться с чем-то подобным.
EDIT: Я отредактировал ответ, чтобы также включить счетчик для числа-примера, которое идет справа; это немного хакерски, и могут быть более элегантные решения, особенно если бы было нормально, чтобы они были и слева. Может быть, у кого-то будет идея получше.
\documentclass{article}
\usepackage{enumitem}
\newcounter{myexample}
\setcounter{myexample}{0}
\newenvironment{myexamples}{%
\hbox{\smash{\raisebox{-1\baselineskip}{\parbox{\linewidth}{\hfill%
\refstepcounter{myexample}(\themyexample)}}}}\nointerlineskip%
\vspace*{-0.5\baselineskip}\begin{enumerate}%
}{%
\end{enumerate}
}
\setlist{noitemsep}
\setlist[1]{label=\Alph*.,leftmargin=4em}
\setlist[2]{label=\arabic*.,leftmargin=1.5em,labelsep=0.3em,
ref=\arabic{myexample}.\Alph{enumi}.\arabic*}
\setlist[3]{label=\alph*.,leftmargin=*,
ref=\arabic{myexample}.\Alph{enumi}.\arabic{enumii}\alph*}
\begin{document}
\begin{myexamples}
\item \begin{enumerate}
\item \begin{enumerate}
\item John is a robber.\label{johnrobber}
\item John is a thief.
\end{enumerate}
\item \begin{enumerate}
\item John robs things.
\item *John thieves things. (compare \emph{thievery}) \label{johnthievery}
\end{enumerate}
\end{enumerate}
\end{myexamples}
As you can see in \ref{johnrobber} and \ref{johnthievery} \ldots
\end{document}
(Если вам необходимо поделиться цифрами с другим набором примеров, скажем, для Linguex в его текущем виде, возможно, придется сделать больше.)