
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 .bib
archivo) y luego use las que desee en el documento.
A continuación se muestra un ejemplo utilizando elglossaries
paquete. Las comillas se definen mediante el \newquote
comando 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 .tex
archivo 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 \enquote
en lugar de \textquote
por simplicidad, pero puedes adaptarlo según sea necesario.
El documento resultante se parece a: