PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : listings: cite innerhalb der caption



dek
02-05-2006, 15:44
Hallo,

gibt es eine Möglichkeit innerhalb der caption eines listings eine Quellenangabe zu referenzieren? Habe es wie folgt versucht:

\begin{lstlisting}[caption={Foo bar (vgl. \protect\cite[S. 42]{quelle})}, label={lst:foo}]
...
\end{lstlisting}
Da verweigert latex aber seinen Dienst. Auch das protect, dass mir in Zusammenhang mit multibib und einem zweiten Literaturverzeichnis einmal geholfen hat, bringt da nichts.

Bin für jeden Tipp dankbar.

beere
02-05-2006, 16:23
Habe ein ähnliches Problem....\citep scheint aber zu klappen nur \cite und \footcite nicht...sehr komisch

countbela666
02-05-2006, 19:26
Moin dek,

Problem ist hier die Verschachtelung zweier eckiger Klammerpaare. Für dem Compiler ist der optionale Parameter der listings-Umgebung schon nach der ersten schließenden eckigen Klammer beendet, der Rest kommt wenn du Glück hast mit ins Listing. Abhilfe sollte eine zusätzliche Gruppierung um den das innere Klammerpaar beinhaltenden Befehl schaffen:

...
\begin{lstlisting}[caption={bla {\cite[S.~1]{test}}}]
bla blupp
\end{lstlisting}
...Alternativ kannst du die entsprechenden Parameter auch \lstset übergeben, dann kommt die Verschachtelung nicht zustande, da du den optionalen Parameter nicht benötigst.

Grüße,
Marcel

dek
02-05-2006, 20:25
Hallo Marcel,

vielen Dank für deine Antwort. Das funktioniert bestens! :)

Gruß,
Dirk