+ std::string const ertEnvironment(std::string const & name);
+ /*
+ * The same as ertEnvironment(std::string const & name) but
+ * \begin and \end commands inside the name environment are not parsed.
+ * This function is designed to parse verbatim environments.
+ */
+ std::string const plainEnvironment(std::string const & name);
+ /*
+ * Basically the same as plainEnvironment(std::string const & name) but
+ * instead of \begin and \end commands the parsing is started/stopped
+ * at given characters.
+ * This function is designed to parse verbatim commands.
+ */
+ std::string const plainCommand(char left, char right, std::string const & name);
+ /*
+ * Basically the same as plainEnvironment() but the parsing is
+ * stopped at string \p end_string. Contrary to the other
+ * methods, this uses proper catcode setting. This function is
+ * designed to parse verbatim environments and command. The
+ * intention is to eventually replace all of its siblings. the
+ * member \p first of the result tells whether the arg was
+ * found and the member \p second is the value. If \p
+ * allow_linebreak is false, then the parsing is limited to one line
+ */
+ Arg verbatimStuff(std::string const & end_string,
+ bool allow_linebreak = true);
+ /*
+ * \returns the contents of the environment \p name.
+ * <tt>\begin{name}</tt> must be parsed already,
+ * <tt>\end{name}</tt> is parsed but not returned. The string
+ * is parsed with proper verbatim catcodes and one newline is
+ * removed from head and tail of the string if applicable.