
Às vezes, listas enumeradas são usadas para listar frases de exemplo que são referidas no texto por seus números na lista. Mas como tais referências são feitas em páginas distantes, pode ser irritante para o leitor ter que voltar todas aquelas páginas para chegar à frase referida. Para evitar isso, pode-se querer repetir alguns itens da lista junto com seu número original. Um exemplo aproximado de como isso ficaria é o seguinte:
1. Exemplo 1 2. Exemplo 2 Algum texto com referências a 1. e 2. 3. Exemplo 3. Algum texto em várias páginas. 1. Exemplo 1 Algum texto com referências a 1.
O problema para conseguir isso é obter o item repetido da lista com seu número originalseminterromper a sequência de números para itens de lista que ocorrem antes e depois do local onde o item de lista repetido é colocado.
Aqui está um exemplo de falha em conseguir isso:
\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}
Existem principalmente dois problemas com este exemplo:
- O Exemplo 4 deveria retomar a sequência numérica da lista após o Exemplo 3, mas não é.
- É frágil. Se a ordem do Exemplo 1 e do Exemplo 2 for alterada, então a terceira lista deverá ter seu argumento alterado para
[start=1]
.
Este exemplo pode ser corrigido para alcançar o que desejo ou existe alguma maneira mais adequada de alcançá-lo?
Responder1
Pessoalmente não gosto deste tipo de repetição, embora seja utilizada por alguns. Acho preferível repetir o exemplo com um novo número. Mas independente desta opinião, o efeito é facilmente alcançado tanto com o gb4e
pacote quanto com o linguex
pacote.
gb4e
Ele fornece um \exr{<label>}
comando que formata o exemplo com base na referência a um rótulo.
\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
Ele permite que seu \ex.
comando tenha um argumento opcional a seguir para definir o rótulo. Este argumento pode conter um \ref{}
comando.
\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}