
Linguex
3가지 수준의 예제만 허용하지만 이를 재현할 수 있어야 합니다(단, 장 번호를 포함하거나 오른쪽으로 플러시하기 위해 첫 번째 수준 레이블이 필요하지 않음).
하위 예제에 대한 로컬 참조를 계속 유지하고 싶습니다(예: 상위 하위 레이블 건너뛰기).
(28.E.1b) 대신 (1b)에서와 같이 첫 번째 및 두 번째 레벨을 건너뛰고 점이 구분 기호로 포함된 경우
refcount
\gobbletodot 및 \를 사용하도록 패키지를 호출할 수 있습니다. getrefkeybykeydefault 매크로- 참조.라벨의 특정 구성요소를 참조하는 방법이 있나요?(Ulrich Diez에게 감사드립니다).
답변1
이상적이지 않을 수도 있지만,열거 항목패키지는 확실히 그런 것을 처리할 수 있습니다.
편집: 오른쪽에 있는 예제 번호에 대한 카운터도 포함하도록 답변을 편집했습니다. 그것은 약간 해킹적이며 더 우아한 해결책이 있을 수 있습니다. 특히 왼쪽에 있는 사람들도 괜찮다면 더욱 그렇습니다. 어쩌면 누군가가 더 나은 생각을 할 수도 있습니다.
\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를 있는 그대로 다른 예제 세트와 숫자를 공유해야 한다면 더 많은 작업이 필요할 수 있습니다.)