Discussion:
biblatex and \input{\jobname.bbl}
(too old to reply)
Ronnie Marksch
2017-02-20 11:16:05 UTC
Permalink
Hi,

I am using biblatex.
Now the editor requires some changes to the bibliography I can not
easily change in the bib file.
When using bibtex I would rename the bbl file, edit that file, and
include it in my document.
When using \input{\jobname.bbl} for the biblatex-biber created case I get:
! Undefined control sequence.
l.21 \sortlist
[entry]{nty/global/}

Is it possible to do with biblatex what I want?

Cheers!

==================================
My bbl file starts as follows.

% $ biblatex auxiliary file $
% $ biblatex bbl format version 2.7 $
% Do not modify the above lines!
%
% This is an auxiliary file used by the 'biblatex' package.
% This file may safely be deleted. It will be recreated by
% biber as required.
%
\begingroup
\makeatletter
\@ifundefined{***@biblatex.sty}
{\@***@error
{Missing 'biblatex' package}
{The bibliography requires the 'biblatex' package.}
\aftergroup\endinput}
{}
\endgroup


\refsection{0}
\sortlist[entry]{nty/global/}
Ulrike Fischer
2017-02-20 11:18:51 UTC
Permalink
Post by Ronnie Marksch
Hi,
I am using biblatex.
Now the editor requires some changes to the bibliography I can not
easily change in the bib file.
When using bibtex I would rename the bbl file, edit that file, and
include it in my document.
When using \input{\jobname.bbl} for the biblatex-biber created
Why would you try to use \input on the bbl after a manual change?
Why don't you let biblatex load the bbl as it does anyway?
--
Ulrike Fischer
http://www.troubleshooting-tex.de/
Ronnie Marksch
2017-02-20 12:05:48 UTC
Permalink
Yes, you are right.
However, then I am always in danger of having the bbl overwritten using
biber.
I can not rename the bbl file because biblatex then does not find the
right file.
I tried
\begingroup
\def\jobname{main_adapted}
\printbibliography
\endgroup
but this did not work (biblatex behaved as if the file was not found)

Any ideas?
Actually, this is at the very end of the process so I do not *really*
need a perfect solution but it would be nice I guess.
Post by Ulrike Fischer
Post by Ronnie Marksch
Hi,
I am using biblatex.
Now the editor requires some changes to the bibliography I can not
easily change in the bib file.
When using bibtex I would rename the bbl file, edit that file, and
include it in my document.
Why would you try to use \input on the bbl after a manual change?
Why don't you let biblatex load the bbl as it does anyway?
Ulrike Fischer
2017-02-20 12:42:37 UTC
Permalink
Post by Ronnie Marksch
I tried
\begingroup
\def\jobname{main_adapted}
\printbibliography
\endgroup
but this did not work (biblatex behaved as if the file was not found)
the bbl is read in at \begin{document}. But changing \jobname there
could affect also the aux. You could try this in the preamble:

\makeatletter
\def\***@bblfile{%
\***@secinit
\begingroup
\def\jobname{main_adapted}
\***@bblstart
\***@ifsigned{\jobname}{bbl}
{\InputIfFileExists{\jobname.bbl}
{\***@info@noline{... file '\jobname.bbl' found}%
\global\toggletrue{***@bbldone}}
{\***@info@noline{... file '\jobname.bbl' not found}%
\typeout{No file \jobname.bbl.}}}
{}%
\***@bblend
\endgroup
% global sorting as this is called at BeginDocument
\csnumgdef{***@labelnumber@\the\***@refsection}{0}}
\makeatother

But on the whole I would at first try to make the changes you want
to do through a sourcemap or something like this so that you still
can use biber.
--
Ulrike Fischer
http://www.troubleshooting-tex.de/
Loading...