四个层次的例子

四个层次的例子

Linguex只允许 3 个级别的示例,但我需要能够重现这一点(除了我不需要第一级标签包含章节编号或向右刷新)。

  • 我想保留对子示例的本地引用,即跳过父子标签。

  • 如果我们想跳过第一和第二级,如 (1b) 而不是 (28.E.1b) 中所述,并且如果涉及点作为分隔符,则refcount可以调用该包,以便使用 \gobbletodot 和 \getrefkeybykeydefault 宏

在此处输入图片描述

答案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,则可能需要做更多工作。)

相关内容