Add bibtex inset to outliner if "add to toc" is checked.

Fixes #11309
This commit is contained in:
Juergen Spitzmueller 2018-09-25 15:24:46 +02:00
parent 90b1345203
commit a89e3c344b
2 changed files with 28 additions and 1 deletions

View File

@ -32,6 +32,7 @@
#include "PDFOptions.h"
#include "texstream.h"
#include "TextClass.h"
#include "TocBackend.h"
#include "frontends/alert.h"
@ -900,10 +901,31 @@ void InsetBibtex::updateBuffer(ParIterator const &, UpdateType)
}
docstring InsetBibtex::getRefLabel() const
{
if (buffer().masterParams().documentClass().hasLaTeXLayout("chapter"))
return buffer().B_("Bibliography");
return buffer().B_("References");
}
void InsetBibtex::addToToc(DocIterator const & cpit, bool output_active,
UpdateType, TocBackend & backend) const
{
if (!prefixIs(to_utf8(getParam("options")), "bibtotoc"))
return;
docstring const str = getRefLabel();
TocBuilder & b = backend.builder("tableofcontents");
b.pushItem(cpit, str, output_active);
b.pop();
}
int InsetBibtex::plaintext(odocstringstream & os,
OutputParams const & op, size_t max_length) const
{
docstring const reflabel = buffer().B_("References");
docstring const reflabel = getRefLabel();
// We could output more information here, e.g., what databases are included
// and information about options. But I don't necessarily see any reason to

View File

@ -57,6 +57,9 @@ public:
///
void updateBuffer(ParIterator const &, UpdateType);
///
void addToToc(DocIterator const & di, bool output_active,
UpdateType utype, TocBackend & backend) const;
///
void collectBibKeys(InsetIterator const &, support::FileNameList &) const;
///
void validate(LaTeXFeatures &) const;
@ -84,6 +87,8 @@ private:
void parseBibTeXFiles(support::FileNameList &) const;
///
bool usingBiblatex() const;
///
docstring getRefLabel() const;
/// \name Private functions inherited from Inset class
//@{