1

I create lots of LaTeX documents and put all my declarations into a header.tex that I use with \input{header.tex} at the beginning. However, I am migrated that into a header.sty and just use \usepackage{header} now.

Either way, my document always contains the same last lines that include a bibliography. I would like to move that into my header.sty as well. Is there some way to add end-of-document content into the preamble somehow?

The code that I have in mind is:

\IfFileExists{\bibliographyfile}{
    \printbibliography
}{}

The \bibliographyfile is defined in the preamble already.

6
  • \AtEndDocument{your code} should do, but this 'fixes' probably to the same bibliography?
    – user31729
    Commented May 8, 2014 at 9:34
  • It is just the \printbibliography of biblatex, so that does not really fix too much. Commented May 8, 2014 at 9:49
  • I am quite interested in this approach but not that experienced with latex - can you explain how you converted header.tex into header.sty? Or what resources you used to find out how!
    – FionaSmith
    Commented May 8, 2014 at 9:57
  • I was browsing the Wikibook and found a section on modular documents. I thought it packages were more complex, but that paragraph was sufficient. Commented May 8, 2014 at 10:36
  • Fab, thanks. It does look very simple. Sorry I can't help, by the way!
    – FionaSmith
    Commented May 8, 2014 at 12:07

1 Answer 1

2

I suppose, the request was something in the following manner, loading everything automatically in the header.sty file.

Please change the \DefaultBibliographyStyle at will.

\documentclass[12pt]{scrbook}
\usepackage{blindtext} % Not needed really


%%%% Content for `header.sty`
\newcommand*{\bibliographyfile}{biblio}%
\newcommand*{\DefaultBibliographyStyle}{alpha}%
\newcommand*{\DefaultBibFileExtension}{.bib}%

\AtEndDocument{%
\bibliographystyle{\DefaultBibliographyStyle}
\bibliography{\bibliographyfile}%
%
\IfFileExists{\bibliographyfile\DefaultBibFileExtension}{%
  \printbibliography%
}{}{}%
}%

%%%%%%%%%%% End stop copying it to the 'header.sty' file.


\begin{document}

\chapter{First}
\blindtext

\cite{Lam94} and \cite{GSM97} wrote fine books about \LaTeXe and other things.\par

\blindtext[5]

\end{document}
1
  • I just tried it out, the \AtEndDocument does the trick. Commented May 8, 2014 at 18:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .