How to import / print a bibliography created from a separate / external document?
I have a document with a bibliography that I create using biblatex
with the biber
backend. I.e., somewhere in this document, there is a line
printbibliography
which prints the bibliography (say what).
Now I am required to create an additional cover letter which repeats the bibliography. This is a different document (in a different directory if that matters) and I was wondering if there is a way to persuade biblatex
to print the bibliography at the end of the cover letter again when I compile it. (That would, of course, require the original document to always be compiled first, but that I would manage.)
Any ideas?
(I could just copy over the pages with bibliography with pdfpages
but that's ugly because that would have wrong page numbers and I would always have to adjust the page range, should it change in the original file.)
biblatex external-files
add a comment |
I have a document with a bibliography that I create using biblatex
with the biber
backend. I.e., somewhere in this document, there is a line
printbibliography
which prints the bibliography (say what).
Now I am required to create an additional cover letter which repeats the bibliography. This is a different document (in a different directory if that matters) and I was wondering if there is a way to persuade biblatex
to print the bibliography at the end of the cover letter again when I compile it. (That would, of course, require the original document to always be compiled first, but that I would manage.)
Any ideas?
(I could just copy over the pages with bibliography with pdfpages
but that's ugly because that would have wrong page numbers and I would always have to adjust the page range, should it change in the original file.)
biblatex external-files
A first idea, not sure if exactly what you want. Based on the first document, you can extract a bib file only with your cited entries (see tex.stackexchange.com/q/41821/105447). Then on the second one, anocite{*}
plusprintbibliography
would do. True, every time the first document is changed, the extraction step would have to be repeated.
– gusbrs
Apr 17 '18 at 10:09
1
I'd just go for adding an extra page at the end where you re-print the bibliography, setting the page counter as required, then post-process using a PDF extraction tool. Probably not the solution you want ...
– Joseph Wright♦
Apr 17 '18 at 10:53
add a comment |
I have a document with a bibliography that I create using biblatex
with the biber
backend. I.e., somewhere in this document, there is a line
printbibliography
which prints the bibliography (say what).
Now I am required to create an additional cover letter which repeats the bibliography. This is a different document (in a different directory if that matters) and I was wondering if there is a way to persuade biblatex
to print the bibliography at the end of the cover letter again when I compile it. (That would, of course, require the original document to always be compiled first, but that I would manage.)
Any ideas?
(I could just copy over the pages with bibliography with pdfpages
but that's ugly because that would have wrong page numbers and I would always have to adjust the page range, should it change in the original file.)
biblatex external-files
I have a document with a bibliography that I create using biblatex
with the biber
backend. I.e., somewhere in this document, there is a line
printbibliography
which prints the bibliography (say what).
Now I am required to create an additional cover letter which repeats the bibliography. This is a different document (in a different directory if that matters) and I was wondering if there is a way to persuade biblatex
to print the bibliography at the end of the cover letter again when I compile it. (That would, of course, require the original document to always be compiled first, but that I would manage.)
Any ideas?
(I could just copy over the pages with bibliography with pdfpages
but that's ugly because that would have wrong page numbers and I would always have to adjust the page range, should it change in the original file.)
biblatex external-files
biblatex external-files
asked Apr 17 '18 at 9:21
fuenfundachtzigfuenfundachtzig
4,707123858
4,707123858
A first idea, not sure if exactly what you want. Based on the first document, you can extract a bib file only with your cited entries (see tex.stackexchange.com/q/41821/105447). Then on the second one, anocite{*}
plusprintbibliography
would do. True, every time the first document is changed, the extraction step would have to be repeated.
– gusbrs
Apr 17 '18 at 10:09
1
I'd just go for adding an extra page at the end where you re-print the bibliography, setting the page counter as required, then post-process using a PDF extraction tool. Probably not the solution you want ...
– Joseph Wright♦
Apr 17 '18 at 10:53
add a comment |
A first idea, not sure if exactly what you want. Based on the first document, you can extract a bib file only with your cited entries (see tex.stackexchange.com/q/41821/105447). Then on the second one, anocite{*}
plusprintbibliography
would do. True, every time the first document is changed, the extraction step would have to be repeated.
– gusbrs
Apr 17 '18 at 10:09
1
I'd just go for adding an extra page at the end where you re-print the bibliography, setting the page counter as required, then post-process using a PDF extraction tool. Probably not the solution you want ...
– Joseph Wright♦
Apr 17 '18 at 10:53
A first idea, not sure if exactly what you want. Based on the first document, you can extract a bib file only with your cited entries (see tex.stackexchange.com/q/41821/105447). Then on the second one, a
nocite{*}
plus printbibliography
would do. True, every time the first document is changed, the extraction step would have to be repeated.– gusbrs
Apr 17 '18 at 10:09
A first idea, not sure if exactly what you want. Based on the first document, you can extract a bib file only with your cited entries (see tex.stackexchange.com/q/41821/105447). Then on the second one, a
nocite{*}
plus printbibliography
would do. True, every time the first document is changed, the extraction step would have to be repeated.– gusbrs
Apr 17 '18 at 10:09
1
1
I'd just go for adding an extra page at the end where you re-print the bibliography, setting the page counter as required, then post-process using a PDF extraction tool. Probably not the solution you want ...
– Joseph Wright♦
Apr 17 '18 at 10:53
I'd just go for adding an extra page at the end where you re-print the bibliography, setting the page counter as required, then post-process using a PDF extraction tool. Probably not the solution you want ...
– Joseph Wright♦
Apr 17 '18 at 10:53
add a comment |
1 Answer
1
active
oldest
votes
There is no interface to import the exact bibliography of another document. But in certain situations work-arounds are available.
All the information for citations and the bibliography lives in the .bbl
file. That file is written by Biber following requests by biblatex
in the .bcf
file. So you can try to import the .bbl
file of the other document to obtain its bibliography. This works as long as the set-up in both documents is simple: You can't have multiple refsections, the importing document can't cite sources that were not cited in the original document, etc.
Assuming you have a document called docmain.tex
with citations and bibliography that has gone through the complete compilation sequence of LaTeX, Biber , LaTeX, LaTeX you can then import the bibliography from docmain
(it lives in docmain.bbl
so that file must exist) in another document (coverletter.tex
) with
documentclass[american]{article}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{babel}
usepackage{csquotes}
usepackage[style=authoryear, backend=biber]{biblatex}
makeatletter
newcommand*{importbibfrom}[1]{%
defblx@bblfile{%
blx@secinit
begingroup
blx@bblstart
InputIfFileExists{#1.bbl}
{blx@info@noline{... file '#1.bbl' found}%
globaltoggletrue{blx@bbldone}}
{blx@info@noline{... file '#1.bbl' not found}%
typeout{No file #1.bbl.}}%
blx@bblend
endgroup
% global sorting as this is called at BeginDocument
csnumgdef{blx@labelnumber@thec@refsection}{0}}}
globalletblx@rerun@biberrelax
makeatother
importbibfrom{docmain}
begin{document}
cite{sigfridsson}
printbibliography
end{document}
You only need to compile the importing document coverletter
with LaTeX (at least twice), don't run Biber on that file.
You can cite all entries that are in the bibliography and get the exact same bibliography as maindoc.tex
.
Assuming maindoc.tex
was
documentclass[american]{article}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{babel}
usepackage{csquotes}
usepackage[style=authoryear, backend=biber]{biblatex}
addbibresource{biblatex-examples.bib}
begin{document}
cite{sigfridsson,vizedom:related}
printbibliography
end{document}
the coverletter.tex
from above yields
edit: See how to use refsection and xcite together for guidance on how to use different refsection
s and for help with defernumbers
.
Thanks, this solves my problem. My hacky solution so far was to copy and rename thebbl
file (from maindoc.bbl to coverletter.bbl in your notation) but yourimportbibfrom
command is certainly more elegant.
– fuenfundachtzig
Apr 17 '18 at 11:43
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f426964%2fhow-to-import-print-a-bibliography-created-from-a-separate-external-document%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
There is no interface to import the exact bibliography of another document. But in certain situations work-arounds are available.
All the information for citations and the bibliography lives in the .bbl
file. That file is written by Biber following requests by biblatex
in the .bcf
file. So you can try to import the .bbl
file of the other document to obtain its bibliography. This works as long as the set-up in both documents is simple: You can't have multiple refsections, the importing document can't cite sources that were not cited in the original document, etc.
Assuming you have a document called docmain.tex
with citations and bibliography that has gone through the complete compilation sequence of LaTeX, Biber , LaTeX, LaTeX you can then import the bibliography from docmain
(it lives in docmain.bbl
so that file must exist) in another document (coverletter.tex
) with
documentclass[american]{article}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{babel}
usepackage{csquotes}
usepackage[style=authoryear, backend=biber]{biblatex}
makeatletter
newcommand*{importbibfrom}[1]{%
defblx@bblfile{%
blx@secinit
begingroup
blx@bblstart
InputIfFileExists{#1.bbl}
{blx@info@noline{... file '#1.bbl' found}%
globaltoggletrue{blx@bbldone}}
{blx@info@noline{... file '#1.bbl' not found}%
typeout{No file #1.bbl.}}%
blx@bblend
endgroup
% global sorting as this is called at BeginDocument
csnumgdef{blx@labelnumber@thec@refsection}{0}}}
globalletblx@rerun@biberrelax
makeatother
importbibfrom{docmain}
begin{document}
cite{sigfridsson}
printbibliography
end{document}
You only need to compile the importing document coverletter
with LaTeX (at least twice), don't run Biber on that file.
You can cite all entries that are in the bibliography and get the exact same bibliography as maindoc.tex
.
Assuming maindoc.tex
was
documentclass[american]{article}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{babel}
usepackage{csquotes}
usepackage[style=authoryear, backend=biber]{biblatex}
addbibresource{biblatex-examples.bib}
begin{document}
cite{sigfridsson,vizedom:related}
printbibliography
end{document}
the coverletter.tex
from above yields
edit: See how to use refsection and xcite together for guidance on how to use different refsection
s and for help with defernumbers
.
Thanks, this solves my problem. My hacky solution so far was to copy and rename thebbl
file (from maindoc.bbl to coverletter.bbl in your notation) but yourimportbibfrom
command is certainly more elegant.
– fuenfundachtzig
Apr 17 '18 at 11:43
add a comment |
There is no interface to import the exact bibliography of another document. But in certain situations work-arounds are available.
All the information for citations and the bibliography lives in the .bbl
file. That file is written by Biber following requests by biblatex
in the .bcf
file. So you can try to import the .bbl
file of the other document to obtain its bibliography. This works as long as the set-up in both documents is simple: You can't have multiple refsections, the importing document can't cite sources that were not cited in the original document, etc.
Assuming you have a document called docmain.tex
with citations and bibliography that has gone through the complete compilation sequence of LaTeX, Biber , LaTeX, LaTeX you can then import the bibliography from docmain
(it lives in docmain.bbl
so that file must exist) in another document (coverletter.tex
) with
documentclass[american]{article}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{babel}
usepackage{csquotes}
usepackage[style=authoryear, backend=biber]{biblatex}
makeatletter
newcommand*{importbibfrom}[1]{%
defblx@bblfile{%
blx@secinit
begingroup
blx@bblstart
InputIfFileExists{#1.bbl}
{blx@info@noline{... file '#1.bbl' found}%
globaltoggletrue{blx@bbldone}}
{blx@info@noline{... file '#1.bbl' not found}%
typeout{No file #1.bbl.}}%
blx@bblend
endgroup
% global sorting as this is called at BeginDocument
csnumgdef{blx@labelnumber@thec@refsection}{0}}}
globalletblx@rerun@biberrelax
makeatother
importbibfrom{docmain}
begin{document}
cite{sigfridsson}
printbibliography
end{document}
You only need to compile the importing document coverletter
with LaTeX (at least twice), don't run Biber on that file.
You can cite all entries that are in the bibliography and get the exact same bibliography as maindoc.tex
.
Assuming maindoc.tex
was
documentclass[american]{article}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{babel}
usepackage{csquotes}
usepackage[style=authoryear, backend=biber]{biblatex}
addbibresource{biblatex-examples.bib}
begin{document}
cite{sigfridsson,vizedom:related}
printbibliography
end{document}
the coverletter.tex
from above yields
edit: See how to use refsection and xcite together for guidance on how to use different refsection
s and for help with defernumbers
.
Thanks, this solves my problem. My hacky solution so far was to copy and rename thebbl
file (from maindoc.bbl to coverletter.bbl in your notation) but yourimportbibfrom
command is certainly more elegant.
– fuenfundachtzig
Apr 17 '18 at 11:43
add a comment |
There is no interface to import the exact bibliography of another document. But in certain situations work-arounds are available.
All the information for citations and the bibliography lives in the .bbl
file. That file is written by Biber following requests by biblatex
in the .bcf
file. So you can try to import the .bbl
file of the other document to obtain its bibliography. This works as long as the set-up in both documents is simple: You can't have multiple refsections, the importing document can't cite sources that were not cited in the original document, etc.
Assuming you have a document called docmain.tex
with citations and bibliography that has gone through the complete compilation sequence of LaTeX, Biber , LaTeX, LaTeX you can then import the bibliography from docmain
(it lives in docmain.bbl
so that file must exist) in another document (coverletter.tex
) with
documentclass[american]{article}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{babel}
usepackage{csquotes}
usepackage[style=authoryear, backend=biber]{biblatex}
makeatletter
newcommand*{importbibfrom}[1]{%
defblx@bblfile{%
blx@secinit
begingroup
blx@bblstart
InputIfFileExists{#1.bbl}
{blx@info@noline{... file '#1.bbl' found}%
globaltoggletrue{blx@bbldone}}
{blx@info@noline{... file '#1.bbl' not found}%
typeout{No file #1.bbl.}}%
blx@bblend
endgroup
% global sorting as this is called at BeginDocument
csnumgdef{blx@labelnumber@thec@refsection}{0}}}
globalletblx@rerun@biberrelax
makeatother
importbibfrom{docmain}
begin{document}
cite{sigfridsson}
printbibliography
end{document}
You only need to compile the importing document coverletter
with LaTeX (at least twice), don't run Biber on that file.
You can cite all entries that are in the bibliography and get the exact same bibliography as maindoc.tex
.
Assuming maindoc.tex
was
documentclass[american]{article}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{babel}
usepackage{csquotes}
usepackage[style=authoryear, backend=biber]{biblatex}
addbibresource{biblatex-examples.bib}
begin{document}
cite{sigfridsson,vizedom:related}
printbibliography
end{document}
the coverletter.tex
from above yields
edit: See how to use refsection and xcite together for guidance on how to use different refsection
s and for help with defernumbers
.
There is no interface to import the exact bibliography of another document. But in certain situations work-arounds are available.
All the information for citations and the bibliography lives in the .bbl
file. That file is written by Biber following requests by biblatex
in the .bcf
file. So you can try to import the .bbl
file of the other document to obtain its bibliography. This works as long as the set-up in both documents is simple: You can't have multiple refsections, the importing document can't cite sources that were not cited in the original document, etc.
Assuming you have a document called docmain.tex
with citations and bibliography that has gone through the complete compilation sequence of LaTeX, Biber , LaTeX, LaTeX you can then import the bibliography from docmain
(it lives in docmain.bbl
so that file must exist) in another document (coverletter.tex
) with
documentclass[american]{article}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{babel}
usepackage{csquotes}
usepackage[style=authoryear, backend=biber]{biblatex}
makeatletter
newcommand*{importbibfrom}[1]{%
defblx@bblfile{%
blx@secinit
begingroup
blx@bblstart
InputIfFileExists{#1.bbl}
{blx@info@noline{... file '#1.bbl' found}%
globaltoggletrue{blx@bbldone}}
{blx@info@noline{... file '#1.bbl' not found}%
typeout{No file #1.bbl.}}%
blx@bblend
endgroup
% global sorting as this is called at BeginDocument
csnumgdef{blx@labelnumber@thec@refsection}{0}}}
globalletblx@rerun@biberrelax
makeatother
importbibfrom{docmain}
begin{document}
cite{sigfridsson}
printbibliography
end{document}
You only need to compile the importing document coverletter
with LaTeX (at least twice), don't run Biber on that file.
You can cite all entries that are in the bibliography and get the exact same bibliography as maindoc.tex
.
Assuming maindoc.tex
was
documentclass[american]{article}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{babel}
usepackage{csquotes}
usepackage[style=authoryear, backend=biber]{biblatex}
addbibresource{biblatex-examples.bib}
begin{document}
cite{sigfridsson,vizedom:related}
printbibliography
end{document}
the coverletter.tex
from above yields
edit: See how to use refsection and xcite together for guidance on how to use different refsection
s and for help with defernumbers
.
edited Feb 5 at 9:59
answered Apr 17 '18 at 10:51
moewemoewe
90.5k10111341
90.5k10111341
Thanks, this solves my problem. My hacky solution so far was to copy and rename thebbl
file (from maindoc.bbl to coverletter.bbl in your notation) but yourimportbibfrom
command is certainly more elegant.
– fuenfundachtzig
Apr 17 '18 at 11:43
add a comment |
Thanks, this solves my problem. My hacky solution so far was to copy and rename thebbl
file (from maindoc.bbl to coverletter.bbl in your notation) but yourimportbibfrom
command is certainly more elegant.
– fuenfundachtzig
Apr 17 '18 at 11:43
Thanks, this solves my problem. My hacky solution so far was to copy and rename the
bbl
file (from maindoc.bbl to coverletter.bbl in your notation) but your importbibfrom
command is certainly more elegant.– fuenfundachtzig
Apr 17 '18 at 11:43
Thanks, this solves my problem. My hacky solution so far was to copy and rename the
bbl
file (from maindoc.bbl to coverletter.bbl in your notation) but your importbibfrom
command is certainly more elegant.– fuenfundachtzig
Apr 17 '18 at 11:43
add a comment |
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f426964%2fhow-to-import-print-a-bibliography-created-from-a-separate-external-document%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
A first idea, not sure if exactly what you want. Based on the first document, you can extract a bib file only with your cited entries (see tex.stackexchange.com/q/41821/105447). Then on the second one, a
nocite{*}
plusprintbibliography
would do. True, every time the first document is changed, the extraction step would have to be repeated.– gusbrs
Apr 17 '18 at 10:09
1
I'd just go for adding an extra page at the end where you re-print the bibliography, setting the page counter as required, then post-process using a PDF extraction tool. Probably not the solution you want ...
– Joseph Wright♦
Apr 17 '18 at 10:53