
Иногда нумерованные списки используются для перечисления примеров предложений, на которые ссылаются в тексте по их номерам в списке. Но поскольку такие ссылки делаются с далеких страниц, читателю может быть неприятно перелистывать все эти страницы, чтобы добраться до упомянутого предложения. Чтобы избежать этого, можно повторить некоторые пункты списка вместе с их исходным номером. Вот примерный пример того, как это будет выглядеть:
1. Пример 1 2. Пример 2 Некоторый текст со ссылками на 1. и 2. 3. Пример 3. Текст на нескольких страницах. 1. Пример 1 Некоторый текст со ссылками на 1.
Проблема в достижении этого состоит в том, чтобы получить повторяющийся элемент списка с его исходным номером.безпрерывание последовательности чисел для элементов списка, расположенных до и после места, где расположен повторяющийся элемент списка.
Вот пример неудачной попытки достичь этой цели:
\documentclass{article}
\usepackage{enumitem}
\newcommand\extwo{Example 2}
\begin{document}
\begin{enumerate}
\item Example 1
\item \extwo
\end{enumerate}
Text
\begin{enumerate}[resume]
\item Example 3
\end{enumerate}
Text
\begin{enumerate}[start=2]
\item \extwo% Example 2 repeated with its original number, i.e. "1."
\end{enumerate}
Text
\begin{enumerate}[resume]
\item Example 4% Is listed as "3." when I want it be listed as "4."
\end{enumerate}
\end{document}
В этом примере есть две основные проблемы:
- Пример 4 должен возобновлять последовательность номеров списка после примера 3, но это не так.
- Он хрупкий. Если порядок Примера 1 и Примера 2 должен быть изменен, то аргумент третьего списка должен быть изменен на
[start=1]
.
Можно ли исправить этот пример, чтобы добиться желаемого, или есть какой-то более подходящий способ добиться этого?
решение1
Лично мне не нравится такой тип повторения, хотя некоторые его используют. Я думаю, что предпочтительнее повторить пример с новым номером. Но независимо от этого мнения, эффект легко достигается как с помощью упаковки, так и с помощью gb4e
пакета linguex
.
gb4e
Он предоставляет \exr{<label>}
команду, которая форматирует пример на основе ссылки на метку.
\documentclass{article}
\usepackage{gb4e}
\newcommand\extwo{Example 2}
\begin{document}
\begin{exe}
\ex Example 1
\ex \extwo \label{ex2}
\end{exe}
Text
\begin{exe}
\ex Example 3
\end{exe}
Text
\begin{exe}
\exr{ex2} \extwo% Example 2 repeated with its original number, i.e. "1."
\end{exe}
Text
\begin{exe}
\item Example 4% Is listed as "3." when I want it be listed as "4."
\end{exe}
\end{document}
linguex
Он позволяет своей \ex.
команде иметь следующий необязательный аргумент для установки метки. Этот аргумент может содержать \ref{}
команду.
\documentclass{article}
\usepackage{linguex}
\newcommand\extwo{Example 2}
\begin{document}
\ex. Example 1
\ex. \extwo \label{ex2}
Text.
\ex. Example 3
Text.
\ex.[\ref{ex2}] \extwo
Text
\ex. Example 4
\end{document}