
Ich habe ein ziemlich einfaches Layout, mit dem ich arbeiten möchte latexmk
. Was mache ich falsch?
BEARBEITEN: Beispiele mit Ergebnis der jüngsten erzielten Fortschritte geändert.
all.bib
musste mit demchapters
Unterverzeichnis symbolisch verknüpft werden und-f
war in erforderlichlatexmk
.Obwohl dies so ziemlich das gewünschte Ergebnis erzeugt, würde ich sagen, dass einiges falsch gemacht wird, da
-f
es erforderlich ist und die Nummerierung der Referenzen durchgängig einheitlich ist (und nicht kapitelspezifisch).Ich habe versucht, es
\bibliographystyle
aus dem Kapitel wegzulassen und es in\bibliography{../all}
… zu ändern, aber ohne Erfolg.
Replizieren mit:
$ latexmk -gg -pdf -quiet -f
Latexmk: Run number 1 of rule 'pdflatex'
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
Latexmk: Non-existent bbl file 'chapters/ch0.bbl'
No file chapters/ch0.bbl.
Latexmk: Non-existent bbl file 'all.bbl'
No file all.bbl.
Latexmk: Run number 1 of rule 'bibtex chapters/ch0'
For rule 'bibtex chapters/ch0', running '&run_bibtex( )' ...
-- IEEEtranN.bst version 1.14 (2015/08/26) by Michael Shell.
-- http://www.michaelshell.org/tex/ieeetran/bibtex/
-- See the "IEEEtran_bst_HOWTO.pdf" manual for usage information.
** Natbib version - not for normal IEEE work.
Done.
Latexmk: Run number 1 of rule 'bibtex all'
For rule 'bibtex all', running '&run_bibtex( )' ...
Illegal, another \bibstyle command---line 3 of file chapters/ch0.aux
: \bibstyle
: {IEEEtranN}
I'm skipping whatever remains of this command
Illegal, another \bibdata command---line 7 of file all.aux
: \bibdata
: {all}
I'm skipping whatever remains of this command
-- IEEEtranN.bst version 1.14 (2015/08/26) by Michael Shell.
-- http://www.michaelshell.org/tex/ieeetran/bibtex/
-- See the "IEEEtran_bst_HOWTO.pdf" manual for usage information.
** Natbib version - not for normal IEEE work.
Done.
(There were 2 error messages)
Latexmk: Run number 2 of rule 'pdflatex'
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
Latexmk: Run number 2 of rule 'bibtex chapters/ch0'
For rule 'bibtex chapters/ch0', running '&run_bibtex( )' ...
-- IEEEtranN.bst version 1.14 (2015/08/26) by Michael Shell.
-- http://www.michaelshell.org/tex/ieeetran/bibtex/
-- See the "IEEEtran_bst_HOWTO.pdf" manual for usage information.
** Natbib version - not for normal IEEE work.
Done.
Latexmk: Run number 2 of rule 'bibtex all'
For rule 'bibtex all', running '&run_bibtex( )' ...
Illegal, another \bibstyle command---line 3 of file chapters/ch0.aux
: \bibstyle
: {IEEEtranN}
I'm skipping whatever remains of this command
Illegal, another \bibdata command---line 7 of file all.aux
: \bibdata
: {all}
I'm skipping whatever remains of this command
-- IEEEtranN.bst version 1.14 (2015/08/26) by Michael Shell.
-- http://www.michaelshell.org/tex/ieeetran/bibtex/
-- See the "IEEEtran_bst_HOWTO.pdf" manual for usage information.
** Natbib version - not for normal IEEE work.
Done.
(There were 2 error messages)
Latexmk: Run number 3 of rule 'pdflatex'
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
Collected error summary (may duplicate other messages):
bibtex all: Bibtex errors: See file 'all.blg'
alle.tex
\documentclass{book}
\usepackage[sectionbib,square,sort,comma,numbers]{natbib}
\usepackage{chapterbib}
%\begin{filecontents*}{all.bib}\end{filecontents*}
\begin{document}
\bibliographystyle{IEEEtranN}
\include{chapters/ch0}
Hello random\cite{hawMaximizationExtractableRandomness2015} world
\bibliography{all}
\end{document}
Kapitel/ch0.tex
\chapter{ch0}
so much div\cite{govindarajuGeneticsFraminghamHeart2008}
\bibliographystyle{IEEEtranN}
\bibliography{all}
alle.bib
@article{hawMaximizationExtractableRandomness2015,
title = {Maximization of {{Extractable Randomness}} in a {{Quantum Random}}-{{Number Generator}}},
author = {Haw, J. Y. and Assad, S. M. and Lance, A. M. and Ng, N. H. Y. and Sharma, V. and Lam, P. K. and Symul, T.},
year = {2015},
month = may,
volume = {3},
pages = {054004},
issn = {2331-7019},
doi = {10.1103/PhysRevApplied.3.054004},
journal = {Physical Review Applied},
language = {en},
number = {5}
}
@article{govindarajuGeneticsFraminghamHeart2008,
title = {Genetics of the {{Framingham Heart Study Population}}},
author = {Govindaraju, Diddahally R. and Cupples, L. Adrienne and Kannel, William B. and O'Donnell, Christopher J. and Atwood, Larry D. and D'Agostino, Ralph B. and Fox, Caroline S. and Larson, Marty and Levy, Daniel and Morabito, Joanne and Vasan, Ramachandran S. and Splansky, Greta Lee and Wolf, Philip A. and Benjamin, Emelia J.},
year = {2008},
volume = {62},
pages = {33--65},
issn = {0065-2660},
doi = {10.1016/S0065-2660(08)00602-0},
abstract = {This article provides an introduction to the Framingham Heart Study (FHS) and the genetic research related to cardiovascular diseases conducted in this unique population. It briefly describes the origins of the study, the risk factors that contribute to heart disease and the approaches taken to discover the genetic basis of some of these risk factors. The genetic architecture of several biological risk factors has been explained using family studies, segregation analysis, heritability, phenotypic and genetic correlations. Many quantitative trait loci underlying cardiovascular diseases have been discovered using different molecular markers. Additionally, results from genome-wide association studies using 100,000 markers, and the prospects of using 550,000 markers for association studies are presented. Finally, the use of this unique sample in genotype and environment interaction is described.},
journal = {Advances in genetics},
language = {eng},
pmid = {19010253}
}
Antwort1
Bei chapterbib muss \bibliographystyle
für jedes enthaltene Kapitel/jede Bibliographie ein Befehl vorhanden sein. Es sollte auch einer am Anfang des Dokuments vorhanden sein, wenn Sie ein separates Whole-Document-Bib generieren. Beim Generieren des Whole-Doc-Bib beschwert sich bibtex über mehrere \bibdata
[from \bibliography
]- und \bibstyle
[aka \bibliographystyle
]-Befehle, führt seine Arbeit jedoch ordnungsgemäß aus.
Es stellt sich heraus, dass latexmk über chapterbib Bescheid weiß und bibtex für jede einzelne eingebundene Datei und auch für das gesamte Dokument ausführt. Das Problem ist, dass es die Fehlermeldungen von bibtex sieht, sie für fatal hält und abbricht. Da latexmk chapterbib bereits erkennt, sollte es möglich sein, das Problem relativ einfach zu beheben. Führen Sie in der Zwischenzeit latexmk mit der Option „-f“ aus. In der latexmk-Dokumentation heißt es:
-F Gewaltlatexmkum die Belegverarbeitung trotz Fehlern fortzusetzen.
Das ist ein bisschen hart, denn es wird nicht aufhören fürbeliebigFehler. Da die ursprüngliche (oder bearbeitete) Frage impliziert, dass „-f“ verwendet wurde, sollte das Endergebnis trotz der Fehlermeldungen korrekt sein! Tatsächlich (gemäß der Fragebearbeitung) ist die Option „-gg“ nützlich, wenn Sie nach fehlgeschlagenen Läufen von latexmk fortfahren.
Es gibt noch ein Problem mit dem Dokument, das in seiner reduzierten Form nicht offensichtlich ist. Alle Bibliographien verwenden ein nummeriertes Format, sodass die endgültige Gesamtbibliographie andere Nummern als die Kapitelbibliographien benötigt, außer im einfachsten Fall, wie gezeigt. Die Dokumentation zu chapterbib (erneut Punkt 7 „Gesamtbibliographien“) sagt
Dadurch entsteht eine unabhängige Gesamtbibliografie, die nur bei verschiedenen benannten Bibliografiestilen Sinn ergibt; ein nummerierter Stil oder ein Stil mit einer anderen Art automatischer Aufzählung führt zu unterschiedlichen Tags in den einzelnen Bibliografien und damit zu Verwirrung.
Die möglichen Lösungen sind
Verwenden Sie im Stammdokument einen benannten Bibliografiestil für die gesamte Bibliografie. (Ich weiß noch nicht, ob es eine Möglichkeit gibt, natbib anzuweisen, „Zahlen“ nur manchmal zu verwenden.)
Verwenden Sie die Option „Chapterbib“
[duplicate]
mit einem Aufzählungsstil, sodass die endgültige Bibliografie eine Sammlung der Kapitelbibliografien ist (Zitate außerhalb der enthaltenen Kapitel sind jedoch nicht zulässig).
Antwort2
E-Mail-Austausch mit @john-collins; jetzt wurde eine neue Version veröffentlicht, die dieses Problem löst.
Siehe Version 4.70ahttp://www.personal.psu.edu/~jcc8/latexmk/versions.html