Hacer una lista de cotizaciones

Hacer una lista de cotizaciones

Tengo un caso de uso en el que necesito enumerar todas las citas en línea utilizadas en un artículo de tipo periodístico al final junto con la atribución. Algo como:

EJEMPLO DE INICIO Texto texto texto "esta es una cita", dijo persona1. Texto texto texto "y este es otro", según persona2. ...

Lista de citas:

"esta es una cita" Persona1, Título, Organización

"y este es otro" Persona2, Título, Organización

EJEMPLO FINAL

Soy muy nuevo en Latex y no tengo claro cuál es el mejor enfoque. Cometí un rápido error al intentar que tocloft funcionara con uno de los comandos csquote (\textquote), basándome en ejemplos que encontré en línea. ¿Es este un enfoque factible o hay otros enfoques recomendados que serían más sólidos?

gracias de antemano

Respuesta1

Creo que sería mejor abordar el problema con un estilo similar al de las citas. Primero defina un conjunto de citas (tal como definiría un conjunto de citas en un .bibarchivo) y luego use las que desee en el documento.

A continuación se muestra un ejemplo utilizando elglossariespaquete. Las comillas se definen mediante el \newquotecomando personalizado que proporciona este ejemplo. Para simplificar el ejemplo, simplemente los puse en el preámbulo, pero si tiene muchos, es más fácil colocarlos en un .texarchivo separado (llamado, digamos, quotes.tex) y cargar ese archivo usando \loadglsentries{quotes}.

\documentclass{article}

\usepackage{csquotes}
\usepackage{glossaries}

\makenoidxglossaries

% \newquote[options]{label}{name}{quote}{title}{organisation}
\newcommand*{\newquote}[6][]{%
 \newglossaryentry{#2}{name={#3},description={#4},%
    user1={#5},user2={#6},#1}%
}

% \usequote{label}{said}
\newcommand*{\usequote}[2]{\enquote{\glsdesc{#1},} #2 \glstext{#1}}

% Convert the first letter of the quote to upper case:
\newcommand*{\Usequote}[2]{\enquote{\Glsdesc{#1},} #2 \glstext{#1}}

\newglossarystyle{quotes}{%
  \setglossarystyle{index}%
  \renewcommand*{\glossentry}[2]{%
    \item\glsentryitem{##1}\glstarget{##1}{\enquote{\Glossentrydesc{##1}}}
    \glossentryname{##1}, \glsentryuseri{##1}, \glsentryuserii{##1}%
  }%
}
\newcommand*{\printquotes}[1][]{%
 \printnoidxglossary[sort=use,nogroupskip,style=quotes,%
   title={List of Quotes},#1]%
}

\newquote{smith1}{John Smith}{this is a quote}{President}{Smith \& co}
\newquote{doe1}{Jane Doe}{and this is another}{Galactic Ruler}{The Empire}
\newquote{smith2}{John Smith}{we retract our earlier statement}{President}{Smith \& co}

\begin{document}
Text text text \usequote{smith1}{said}.
Text text text \usequote{doe1}{according to}.
\Usequote{smith2}{said}.

\printquotes
\end{document}

Al igual que con las tablas de contenido, las referencias cruzadas, etc., esto requiere dos ejecuciones para garantizar que el documento esté actualizado. Supongo que desea que las citas aparezcan según el orden de uso en el documento. He usado \enquoteen lugar de \textquotepor simplicidad, pero puedes adaptarlo según sea necesario.

El documento resultante se parece a:

imagen del documento

información relacionada