+ void isSubfloat(bool s) { subfloat_ = s; }
+ /// Are we in a longtable?
+ bool isLongtable() const { return longtable_; }
+ /// Set the state variable indicating whether we are in a longtable.
+ void isLongtable(bool s) { longtable_ = s; }
+
+ /// \name refstepcounter
+ // @{
+ /// The currently active counter, so far as references go.
+ /// We're trying to track \refstepcounter in LaTeX, more or less.
+ /// Note that this may be empty.
+ docstring currentCounter() const;
+ /// Called during updateBuffer() as we go through various paragraphs,
+ /// to track the layouts as we go through.
+ void setActiveLayout(Layout const & lay);
+ /// Also for updateBuffer().
+ /// Call this when entering things like footnotes, where there is now
+ /// no "last layout" and we want to restore the "last layout" on exit.
+ void clearLastLayout() { layout_stack_.push_back(nullptr); }
+ /// Call this when exiting things like footnotes.
+ void restoreLastLayout() { layout_stack_.pop_back(); }
+ ///
+ void saveLastCounter()
+ { counter_stack_.push_back(counter_stack_.back()); }
+ ///
+ void restoreLastCounter() { counter_stack_.pop_back(); }
+ // @}
+ ///
+ std::vector<docstring> listOfCounters() const;