Hallo, ich möchte mir ein Übersichtsdokument mit verschiedenen Biblatex-Stilen erstellen. Dafür schien mir das showexpl-Paket geeignet. Leider funktionieren die LTXexample-Umgebungen nicht mit Biblatex.


Open in Online-Editor
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{showexpl}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{ABC01,
  author = {Author, A. and Buthor, B. and C},
  year = {2001},
  title = {Alpha},
}
\end{filecontents}

\begin{document}

\begin{LTXexample}[pos=b]
  \documentclass{article}
  \usepackage[backend=biber,style=authortitle]{biblatex}
  \bibliography{\jobname.bib}
  \begin{document}
   \citeauthor{ABC01}
   \printbibliography
  \end{document}
\end{LTXexample}
\end{document}

Es kommt folgende Fehlermeldung

Open in Online-Editor
! Undefined control sequence.
l.5 \citeauthor
               {ABC01}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
l.6 \printbibliography

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

)

Also wird das Paket nicht erkannt/eingebunden. Gibt es eine Möglichkeit den Fehler zu beheben oder alternative Lösungen für meinen Wunsch. Irgendiwe muss es ja gehen. In manchen Büchern habe ich das gesehen, habe aber keine entsprechende *.tex-Datei gefunden.

Vielen Dank Accolon

[PS: hier schien ein anderes Problem vorzuliegen, jedenfalls wie ich die Antwort verstehe)

gefragt 16 Mär '16, 19:39

accolon's gravatar image

accolon
2613
Akzeptiert-Rate: 0%

bearbeitet 16 Mär '16, 19:41

@saputello: deine Lösung funktioniert sehr gut. In das Beispiel von Joseph Wright arbeite ich mich aber trotzdem gerade rein. Erstaunlich, was so alles möglich ist.

@Clemens: ich würde gerne ein Beispiel deines Paketes sehen

(17 Mär '16, 13:28) accolon

Das Paket showexpl ist dafür nicht geeignet. Es führt den Code der Beispiele grundsätzlich im Kontext des aktuellen Dokuments aus. Damit sind Beispiele, die eine anderen Klasse oder zusätzliche Pakete benötigen oder globale Aktionen auslösen müssen nicht darstellbar. Will man das, so muss man externe LaTeX-Aufrufe durchführen. In Deinem Beispiel sind sogar mehrere LaTeX-Aufrufe und zusätzlich ein biber-Aufruf notwendig. Man kann das mit Hilfe von \write18 auch tatsächlich lösen:

Open in Online-Editor
% Achtung: Dieses Beispiel funktioniert nicht im Online-Editor!
%          Es benötigt einen Aufruf mit `pdflatex -shell-escape'.
%          Siehe dazu: http://texwelt.de/wissen/fragen/10341
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{listings,graphicx}
\usepackage{filecontents}
\usepackage[backend=biber,style=authortitle]{biblatex}

\begin{filecontents}{\jobname-1.bib}
@book{ABC01,
  author = {Author, A. and Buthor, B. and C},
  year = {2001},
  title = {Alpha},
}
\end{filecontents}

\begin{document}

\begin{filecontents*}{\jobname-1.tex}
\documentclass{article}
\usepackage[backend=biber,style=authortitle]{biblatex}
\bibliography{\jobname.bib}
\begin{document}
\citeauthor{ABC01}
\printbibliography
\end{document}
\end{filecontents*}
\immediate\write18{pdflatex \jobname-1.tex}
\immediate\write18{biber \jobname-1}
\immediate\write18{pdflatex \jobname-1.tex}
\immediate\write18{pdflatex \jobname-1.tex}
\lstinputlisting[language={[LaTeX]TeX}]{\jobname-1.tex}
\frame{\includegraphics[page=1,scale=.5]{\jobname-1.pdf}}
\end{document}

alt text

Joseph Write, hat auf TSX gezeigt, wie man so etwas in einer eigenen Umgebung verpacken kann. Allerdings müsste man sein Beispiel dort noch so erweitern, dass obige Abfolge von LaTeX- und biber-Aufrufen statt nur einem LaTeX-Aufruf erfolgt.

Permanenter link

beantwortet 16 Mär '16, 20:16

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 16 Mär '16, 20:23

Mein Paket cnltx (ein Bündel, dass ich zur Dokumentation meiner Pakete verwende) hat die Möglichkeit, Code extern zu kompilieren und einzubinden. In der Voreinstellung geschieht das mit pdflatex und einem zweimaligen Durchlauf.

Open in Online-Editor
% arara: pdflatex: { shell: on }
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{graphicx}

\usepackage[example]{cnltx}

\begin{document}

\begin{example}[compile]
  \documentclass{article}
  \usepackage{blindtext}
  \begin{document}
  \blinddocument
  \end{document}
\end{example}

\end{document}

alt text

Eine Erweiterung, damit man eine bestimmte Kompilierkette durchführen kann ist relativ einfach, benötigt aber die neueste Version, die noch nicht auf CTAN ist. (Ich muss zugeben, dass bei dem Paket weder das Manual besonders gut ist noch die Aktualität immer gewährleistet ist, da ich es vornehmlich für mich alleine zur Verwendung gedacht hatte…)

Open in Online-Editor
% arara: pdflatex: { shell: on }
% arara: pdflatex
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{graphicx}

\usepackage[example]{cnltx}[2016/03/16]
\setcnltx{
  add-cmds = {citeauthor} ,
  % was ausgeführt werden soll, wenn ein Beispiel die Option `compile' hat:
  program = {pdflatex,biber,pdflatex,pdflatex} ,
  % und wie oft:
  runs = 1 ,
  % sollen die einzelnen Seiten des entstandenen Dokuments eingerahmt werden,
  % wenn sie eingebunden werden?
  add-frame = false
}

\begin{document}

\begin{example}[compile,graphics={trim={3cm 22cm 6cm 4cm},clip}]
  \documentclass{article}
  \usepackage{filecontents}
  \begin{filecontents}{\jobname.bib}
    @book{ABC01,
      author = {Author, A. and Buthor, B. and C},
      year = {2001},
      title = {Alpha},
  }
  \end{filecontents}
  \usepackage[backend=biber,style=authortitle]{biblatex}
  \addbibresource{\jobname.bib}

  \begin{document}

  \citeauthor{ABC01}

  \printbibliography

  \end{document}
\end{example}

\end{document}

alt text

Intern wird für den Quellcode listings eingesetzt, wie bei showexpl auch.

Permanenter link

beantwortet 18 Mär '16, 13:45

cgnieder's gravatar image

cgnieder
22.1k253463
Akzeptiert-Rate: 60%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×222
×1

gestellte Frage: 16 Mär '16, 19:39

Frage wurde gesehen: 6,781 Mal

zuletzt geändert: 18 Mär '16, 13:45