#include "InsetList.h"
#include "Layout.h"
#include "Lexer.h"
+#include "OutputParams.h"
#include "ParIterator.h"
#include "support/convert.h"
}
void InsetArgument::latexArgument(otexstream & os,
- OutputParams const & runparams, docstring const & ldelim,
+ OutputParams const & runparams_in, docstring const & ldelim,
docstring const & rdelim) const
{
TexRow texrow;
odocstringstream ss;
otexstream ots(ss, texrow);
+ OutputParams runparams = runparams_in;
+ if (getLayout().isPassThru())
+ runparams.pass_thru = true;
InsetText::latex(ots, runparams);
docstring str = ss.str();
if (ldelim != "{" && support::contains(str, rdelim))
}
+bool InsetText::insetAllowed(InsetCode code) const
+{
+ switch (code) {
+ // Arguments are also allowed in PassThru insets
+ case ARG_CODE:
+ return true;
+ default:
+ return !getLayout().isPassThru();
+ }
+}
+
+
void InsetText::updateBuffer(ParIterator const & it, UpdateType utype)
{
ParIterator it2 = it;
///
ParagraphList const & paragraphs() const;
///
- bool insetAllowed(InsetCode) const { return !getLayout().isPassThru(); }
+ bool insetAllowed(InsetCode) const;
///
bool allowSpellCheck() const { return getLayout().spellcheck() && !getLayout().isPassThru(); }
///