
Ich habe einen Anwendungsfall, bei dem ich am Ende eines journalistischen Artikels alle verwendeten Inline-Zitate zusammen mit der Quellenangabe auflisten muss. So etwas wie:
BEISPIEL STARTEN Text Text Text „Dies ist ein Zitat“, sagte Person1. Text Text Text „Und dies ist ein anderes“, sagt Person2. …
Zitateliste:
"das ist ein Zitat" Person1, Titel, Organisation
"und dies ist eine andere" Person2, Titel, Organisation
ENDE DES BEISPIELS
Ich bin ein Neuling bei Latex und weiß nicht genau, was der beste Ansatz ist. Ich habe es vermasselt, tocloft mit einem der csquote-Befehle (\textquote) zum Laufen zu bringen, basierend auf Beispielen, die ich online gefunden habe. Ist das ein praktikabler Ansatz oder gibt es andere empfohlene Ansätze, die sinnvoller wären?
Dank im Voraus
Antwort1
Ich denke, es wäre besser, das Problem auf ähnliche Weise wie bei Zitaten anzugehen. Definieren Sie zuerst eine Reihe von Zitaten (genauso, wie Sie eine Reihe von Zitaten in einer .bib
Datei definieren würden) und verwenden Sie dann die gewünschten Zitate im Dokument.
Hier ist ein Beispiel mit demglossaries
Paket. Die Anführungszeichen werden mit dem benutzerdefinierten \newquote
Befehl definiert, den dieses Beispiel bereitstellt. Um das Beispiel einfach zu halten, habe ich sie einfach in die Präambel eingefügt, aber wenn Sie viele davon haben, ist es einfacher, sie in eine separate .tex
Datei (sagen wir mit dem Namen quotes.tex
) zu packen und diese Datei dann mit zu laden \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}
Wie bei Inhaltsverzeichnissen, Querverweisen usw. sind zwei Durchläufe erforderlich, um sicherzustellen, dass das Dokument auf dem neuesten Stand ist. Ich gehe davon aus, dass Sie die Zitate in der Reihenfolge aufgelistet haben möchten, in der sie im Dokument verwendet werden. Der Einfachheit halber habe ich \enquote
anstelle \textquote
von verwendet, aber Sie können es nach Bedarf anpassen.
Das resultierende Dokument sieht wie folgt aus: