Erstellen einer Liste mit Angeboten

Erstellen einer Liste mit Angeboten

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 .bibDatei definieren würden) und verwenden Sie dann die gewünschten Zitate im Dokument.

Hier ist ein Beispiel mit demglossariesPaket. Die Anführungszeichen werden mit dem benutzerdefinierten \newquoteBefehl 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 .texDatei (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 \enquoteanstelle \textquotevon verwendet, aber Sie können es nach Bedarf anpassen.

Das resultierende Dokument sieht wie folgt aus:

Bild des Dokuments

verwandte Informationen