mermshaus
02-04-2009, 17:11
Hallo.
Da es manchmal notwendig ist (http://www.mrunix.de/forums/showpost.php?p=290564&postcount=6), während des Buildvorgangs mehrere Dateien von BibTeX verarbeiten zu lassen, wollte ich den Eintrag in den Optionen meines Editors, Kile (2.0.81), unter Tools->Build->BibTeX anpassen.
Die Default-Einstellung besagt:
Command: bibtex
Options: '%S' % Parameter %S ist der Dateiname ohne Endnung,
%"test.tex" -> "test"
Hier (http://article.gmane.org/gmane.comp.kde.devel.kile/781) wird vorgeschlagen, es wie folgt zu ändern:
Command: for i in ${%S-*.aux} ;
Options: do bibtex $i ; done
Das sieht zwar ganz gut aus, führt aber nur dazu, dass der Buildvorgang in einem undefinierten Status hängenbleibt. Außerdem scheint mir ${%S-*.aux} nicht in jedem Fall die richtigen Dateien zu matchen. Ich habe es deshalb etwas umgeschrieben:
Command: for i in `ls *.aux`;
Options: do bibtex $i; done;
Das matched jetzt alle *.aux-Dateien im Verzeichnis (ich glaube, %S*.aux wäre noch etwas besser), aber immerhin funktioniert der Befehl, wenn ich ihn in der Shell ausführe:
$ for i in `ls *.aux`; do bibtex $i; done;
Kile bleibt allerdings noch immer in diesem seltsamen Status hängen, gegen den auch kein "Stop" hilft, sondern nur ein Neustart der Anwendung.
Die letzte Nachricht im Kile-Log vor dem Hänger lautet:
[BibTeX] biblatexbibs.aux => biblatexbibs.bbl (for i in `ls *.aux`;)
(Entschuldigt den etwas verwirrenden Namen des Dokuments: biblatexbibs.tex)
Unter "Output" lauten die letzten paar Zeilen:
LaTeX Warning: There were undefined references.
Package biblatex Warning: Please (re)run BibTeX on the file(s):
(biblatex) biblatexbibs1-blx.aux
(biblatex) biblatexbibs2-blx.aux
(biblatex) and rerun LaTeX afterwards.
)
[...]
Output written on biblatexbibs.pdf (1 page, 32852 bytes).
Transcript written on biblatexbibs.log.
*****
***** BibTeX output:
***** cd "/home/marc/latex/tests/biblatex-bibs"
***** for i in `ls *.aux`; do bibtex $i; done;
*****
Das ist genau der Befehl, der in der Shell klaglos läuft.
Über Ideen, wie ich das auf die Reihe kriege, würde ich mich freuen. Ich wünschte, Kile ließe sich da flexibler scripten, statt alles in GUI zu verpacken...
Viele Grüße
Marc
PS: Ich kopiere hier der Einfachheit halber das Minimalbeispiel, das ich zum Kompilieren bringen will, noch mal mit rein:
\documentclass[a4paper,12pt,ngerman,parskip=half]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[babel]{csquotes}
\usepackage{biblatex}
\begin{filecontents}{bib1.bib}
@book{bogdal2006,
author = {Bogdal, Klaus-Michael},
title = {Literaturdidaktik im Spannungsfeld von Literaturwissenschaft, Schule
und Bildungs- und Lerntheorien}
}
\end{filecontents}
\begin{filecontents}{bib2.bib}
@book{ mittelbach2004,
author = "Frank Mittelbach and Michel Goossens and Johannes Braams and David Carlisle and Chris Rowley and Christine Detig and Joachim Schrod",
title = "The {\L}aTeX Companion",
edition = "2",
year = "2004"
}
\end{filecontents}
\bibliography{bib1,bib2}
\begin{document}
\begin{refsection}
Hier Text.\cite{bogdal2006}
\printbibliography
\end{refsection}
\begin{refsection}
Hier weiterer Text.\cite{mittelbach2004}
\printbibliography
\end{refsection}
\end{document}
Da es manchmal notwendig ist (http://www.mrunix.de/forums/showpost.php?p=290564&postcount=6), während des Buildvorgangs mehrere Dateien von BibTeX verarbeiten zu lassen, wollte ich den Eintrag in den Optionen meines Editors, Kile (2.0.81), unter Tools->Build->BibTeX anpassen.
Die Default-Einstellung besagt:
Command: bibtex
Options: '%S' % Parameter %S ist der Dateiname ohne Endnung,
%"test.tex" -> "test"
Hier (http://article.gmane.org/gmane.comp.kde.devel.kile/781) wird vorgeschlagen, es wie folgt zu ändern:
Command: for i in ${%S-*.aux} ;
Options: do bibtex $i ; done
Das sieht zwar ganz gut aus, führt aber nur dazu, dass der Buildvorgang in einem undefinierten Status hängenbleibt. Außerdem scheint mir ${%S-*.aux} nicht in jedem Fall die richtigen Dateien zu matchen. Ich habe es deshalb etwas umgeschrieben:
Command: for i in `ls *.aux`;
Options: do bibtex $i; done;
Das matched jetzt alle *.aux-Dateien im Verzeichnis (ich glaube, %S*.aux wäre noch etwas besser), aber immerhin funktioniert der Befehl, wenn ich ihn in der Shell ausführe:
$ for i in `ls *.aux`; do bibtex $i; done;
Kile bleibt allerdings noch immer in diesem seltsamen Status hängen, gegen den auch kein "Stop" hilft, sondern nur ein Neustart der Anwendung.
Die letzte Nachricht im Kile-Log vor dem Hänger lautet:
[BibTeX] biblatexbibs.aux => biblatexbibs.bbl (for i in `ls *.aux`;)
(Entschuldigt den etwas verwirrenden Namen des Dokuments: biblatexbibs.tex)
Unter "Output" lauten die letzten paar Zeilen:
LaTeX Warning: There were undefined references.
Package biblatex Warning: Please (re)run BibTeX on the file(s):
(biblatex) biblatexbibs1-blx.aux
(biblatex) biblatexbibs2-blx.aux
(biblatex) and rerun LaTeX afterwards.
)
[...]
Output written on biblatexbibs.pdf (1 page, 32852 bytes).
Transcript written on biblatexbibs.log.
*****
***** BibTeX output:
***** cd "/home/marc/latex/tests/biblatex-bibs"
***** for i in `ls *.aux`; do bibtex $i; done;
*****
Das ist genau der Befehl, der in der Shell klaglos läuft.
Über Ideen, wie ich das auf die Reihe kriege, würde ich mich freuen. Ich wünschte, Kile ließe sich da flexibler scripten, statt alles in GUI zu verpacken...
Viele Grüße
Marc
PS: Ich kopiere hier der Einfachheit halber das Minimalbeispiel, das ich zum Kompilieren bringen will, noch mal mit rein:
\documentclass[a4paper,12pt,ngerman,parskip=half]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[babel]{csquotes}
\usepackage{biblatex}
\begin{filecontents}{bib1.bib}
@book{bogdal2006,
author = {Bogdal, Klaus-Michael},
title = {Literaturdidaktik im Spannungsfeld von Literaturwissenschaft, Schule
und Bildungs- und Lerntheorien}
}
\end{filecontents}
\begin{filecontents}{bib2.bib}
@book{ mittelbach2004,
author = "Frank Mittelbach and Michel Goossens and Johannes Braams and David Carlisle and Chris Rowley and Christine Detig and Joachim Schrod",
title = "The {\L}aTeX Companion",
edition = "2",
year = "2004"
}
\end{filecontents}
\bibliography{bib1,bib2}
\begin{document}
\begin{refsection}
Hier Text.\cite{bogdal2006}
\printbibliography
\end{refsection}
\begin{refsection}
Hier weiterer Text.\cite{mittelbach2004}
\printbibliography
\end{refsection}
\end{document}