mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-25 05:55:34 +00:00
Get InsetBibitem working, and the output for LATEX_BIB_ENVIRONMENT.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30045 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
5742cf9ce6
commit
5e8d08cb9e
@ -23,6 +23,10 @@ These insets work but still need work:
|
||||
These insets do not work but should be completely straightforward:
|
||||
Caption, Flex (uses collapsable)
|
||||
|
||||
|
||||
May need to make use here of TocWidget::itemInset, which should then be moved
|
||||
to TocBackend.
|
||||
|
||||
These do not yet work and need some attention:
|
||||
InsetBibitem: Should be fairly straightforward, in itself, actually.
|
||||
InsetBibtex: We should be able to collect the keys of references in
|
||||
|
@ -57,4 +57,6 @@ Style Bibliography
|
||||
Series Bold
|
||||
Size Larger
|
||||
EndFont
|
||||
HTMLTag p
|
||||
HTMLAttr class='bibliography'
|
||||
End
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "InsetIterator.h"
|
||||
#include "InsetList.h"
|
||||
#include "Lexer.h"
|
||||
#include "output_xhtml.h"
|
||||
#include "Paragraph.h"
|
||||
#include "ParagraphList.h"
|
||||
#include "TextClass.h"
|
||||
@ -251,7 +252,7 @@ void InsetBibitem::fillWithBibKeys(BiblioInfo & keys, InsetIterator const & it)
|
||||
}
|
||||
|
||||
|
||||
/// Update the counters of this inset and of its contents
|
||||
// Update the counters of this inset and of its contents
|
||||
void InsetBibitem::updateLabels(ParIterator const &)
|
||||
{
|
||||
Counters & counters = buffer().masterBuffer()->params().documentClass().counters();
|
||||
@ -265,4 +266,11 @@ void InsetBibitem::updateLabels(ParIterator const &)
|
||||
}
|
||||
|
||||
|
||||
int InsetBibitem::xhtml(odocstream & os, OutputParams const &) const
|
||||
{
|
||||
os << "<a name='" << html::htmlize(getParam("key")) << "'></a>";
|
||||
os << "<span class='biblabel'>" << bibLabel() << "</span> ";
|
||||
}
|
||||
|
||||
|
||||
} // namespace lyx
|
||||
|
@ -61,6 +61,8 @@ private:
|
||||
///
|
||||
int plaintext(odocstream &, OutputParams const &) const;
|
||||
///
|
||||
int xhtml(odocstream &, OutputParams const &) const;
|
||||
///
|
||||
virtual void fillWithBibKeys(BiblioInfo &, InsetIterator const &) const;
|
||||
/// Update the counter of this inset
|
||||
virtual void updateLabels(ParIterator const &);
|
||||
|
@ -547,7 +547,7 @@ void InsetText::addToToc(DocIterator const & cdit)
|
||||
break;
|
||||
}
|
||||
}
|
||||
/// now the toc entry for the paragraph
|
||||
// now the toc entry for the paragraph
|
||||
int const toclevel = par.layout().toclevel;
|
||||
if (toclevel != Layout::NOT_IN_TOC && toclevel >= min_toclevel) {
|
||||
dit.pos() = 0;
|
||||
|
@ -65,6 +65,11 @@ docstring escapeChar(char_type c)
|
||||
}
|
||||
|
||||
|
||||
// FIXME do something here.
|
||||
docstring htmlize(docstring const & str) {
|
||||
return str;
|
||||
}
|
||||
|
||||
// FIXME This needs to be protected somehow.
|
||||
static vector<string> taglist;
|
||||
|
||||
@ -212,6 +217,22 @@ ParagraphList::const_iterator makeParagraphs(Buffer const & buf,
|
||||
}
|
||||
|
||||
|
||||
ParagraphList::const_iterator makeBibliography(Buffer const & buf,
|
||||
odocstream & os,
|
||||
OutputParams const & runparams,
|
||||
ParagraphList const & paragraphs,
|
||||
ParagraphList::const_iterator const & pbegin,
|
||||
ParagraphList::const_iterator const & pend)
|
||||
{
|
||||
os << "<div class='bibliography'>\n"
|
||||
<< "<h2 class='bibliography'>"
|
||||
<< pbegin->layout().labelstring()
|
||||
<< "</h2>\n";
|
||||
makeParagraphs(buf, os, runparams, paragraphs, pbegin, pend);
|
||||
return pend;
|
||||
}
|
||||
|
||||
|
||||
ParagraphList::const_iterator makeEnvironment(Buffer const & buf,
|
||||
odocstream & os,
|
||||
OutputParams const & runparams,
|
||||
@ -310,8 +331,13 @@ ParagraphList::const_iterator makeEnvironment(Buffer const & buf,
|
||||
send = searchParagraph(par, pend);
|
||||
par = makeParagraphs(buf, os, runparams, paragraphs, par, send);
|
||||
break;
|
||||
// FIXME
|
||||
// Shouldn't happen
|
||||
case LATEX_BIB_ENVIRONMENT:
|
||||
send = par;
|
||||
++send;
|
||||
par = makeParagraphs(buf, os, runparams, paragraphs, par, send);
|
||||
break;
|
||||
// Shouldn't happen
|
||||
case LATEX_COMMAND:
|
||||
++par;
|
||||
break;
|
||||
@ -388,14 +414,15 @@ void xhtmlParagraphs(ParagraphList const & paragraphs,
|
||||
par = makeEnvironment(buf, os, runparams, paragraphs, par, send);
|
||||
break;
|
||||
}
|
||||
case LATEX_BIB_ENVIRONMENT: {
|
||||
send = searchEnvironment(par, pend);
|
||||
par = makeBibliography(buf, os, runparams, paragraphs, par, send);
|
||||
break;
|
||||
}
|
||||
case LATEX_PARAGRAPH:
|
||||
send = searchParagraph(par, pend);
|
||||
par = makeParagraphs(buf, os, runparams, paragraphs, par, send);
|
||||
break;
|
||||
case LATEX_BIB_ENVIRONMENT:
|
||||
// FIXME
|
||||
++par;
|
||||
break;
|
||||
}
|
||||
// FIXME??
|
||||
// makeEnvironment may process more than one paragraphs and bypass pend
|
||||
|
@ -29,6 +29,8 @@ void xhtmlParagraphs(ParagraphList const & subset,
|
||||
namespace html {
|
||||
///
|
||||
docstring escapeChar(char_type c);
|
||||
/// converts a string to a form safe for links, etc
|
||||
docstring htmlize(docstring const & str);
|
||||
/// \return true if tag was opened, false if not
|
||||
bool openTag(odocstream & os, std::string const & tag,
|
||||
std::string const & attr);
|
||||
|
Loading…
Reference in New Issue
Block a user