#include "buffer_funcs.h"
#include "BufferParams.h"
#include "Counters.h"
+#include "Font.h"
#include "Layout.h"
#include "OutputParams.h"
#include "Paragraph.h"
for (; par != pend; ++par) {
Layout const & lay = par->layout();
if (!lay.counter.empty())
- buf.params().documentClass().counters().step(lay.counter);
+ buf.params().documentClass().counters().step(lay.counter, OutputUpdate);
// FIXME We should see if there's a label to be output and
// do something with it.
if (par != pbegin)
ParagraphList::const_iterator const & pbegin,
ParagraphList::const_iterator const & pend)
{
+ // FIXME XHTML
+ // Use TextClass::htmlTOCLayout() to figure out how we should look.
xs << html::StartTag("h2", "class='bibliography'");
xs << pbegin->layout().labelstring(false);
xs << html::EndTag("h2");
&& (par == pbegin || !isNormalEnv(style))
&& cnts.hasCounter(cntr)
)
- cnts.step(cntr);
+ cnts.step(cntr, OutputUpdate);
ParagraphList::const_iterator send;
// this will be positive, if we want to skip the initial word
// (if it's been taken for the label).
openItemTag(xs, style);
if (par == pbegin && style.htmllabeltag() != "NONE") {
docstring const lbl =
- pbegin->expandLabel(style, buf.params(), false);
+ pbegin->params().labelString();
if (!lbl.empty()) {
openLabelTag(xs, style);
xs << lbl;
else if (style.labeltype != LABEL_NO_LABEL
&& style.htmllabeltag() != "NONE") {
openLabelTag(xs, style);
- xs << par->expandLabel(style, buf.params(), false);
+ xs << par->params().labelString();
closeLabelTag(xs, style);
xs.cr();
}
{
Layout const & style = pbegin->layout();
if (!style.counter.empty())
- buf.params().documentClass().counters().step(style.counter);
+ buf.params().documentClass().counters().step(style.counter, OutputUpdate);
openTag(xs, style);
// FIXME Probably need to account for LABEL_MANUAL
if (style.labeltype != LABEL_NO_LABEL) {
openLabelTag(xs, style);
- xs << pbegin->expandLabel(style, buf.params(), false);
+ xs << pbegin->params().labelString();
closeLabelTag(xs, style);
// Otherwise the label might run together with the text
xs << from_ascii(" ");
OutputParams ourparams = runparams;
while (par != pend) {
+ if (par->params().startOfAppendix()) {
+ // FIXME: only the counter corresponding to toplevel
+ // sectioning should be reset
+ Counters & cnts = buf.masterBuffer()->params().documentClass().counters();
+ cnts.reset();
+ cnts.appendix(true);
+ }
Layout const & style = par->layout();
ParagraphList::const_iterator lastpar = par;
ParagraphList::const_iterator send;