#include "OutputParams.h"
#include <vector>
+#include <set>
#include <string>
/// The converter is latex or its derivatives
bool latex;
+ /// The latex derivate
+ std::string latex_flavor;
/// The converter is xml
bool xml;
/// This converter needs the .aux files
bool need_aux;
+ /// we need a "nice" file from the backend, c.f. OutputParams.nice.
+ bool nice;
/// If the converter put the result in a directory, then result_dir
/// is the name of the directory
std::string result_dir;
///
class Converters {
public:
- ///
- typedef std::vector<int> EdgePath; // to be removed SOON
///
typedef std::vector<Converter> ConverterList;
///
typedef ConverterList::const_iterator const_iterator;
+ ///
+ typedef std::vector<std::string> FormatList;
+
///
Converter const & get(int i) const { return converterlist_[i]; }
///
//
void erase(std::string const & from, std::string const & to);
///
- void sort();
- ///
std::vector<Format const *> const
getReachableTo(std::string const & target, bool clear_visited);
///
std::vector<Format const *> const
getReachable(std::string const & from, bool only_viewable,
- bool clear_visited);
+ bool clear_visited,
+ std::set<std::string> const & excludes = std::set<std::string>());
std::vector<Format const *> importableFormats();
+ std::vector<Format const *> exportableFormats(bool only_viewable);
std::vector<std::string> loaders() const;
+ std::vector<std::string> savers() const;
/// Does a conversion path from format \p from to format \p to exist?
bool isReachable(std::string const & from, std::string const & to);
///
Graph::EdgePath getPath(std::string const & from, std::string const & to);
///
- OutputParams::FLAVOR getFlavor(Graph::EdgePath const & path);
+ OutputParams::FLAVOR getFlavor(Graph::EdgePath const & path,
+ Buffer const * buffer = 0);
/// Flags for converting files
enum ConversionFlags {
/// No special flags
ConverterList converterlist_;
///
std::string latex_command_;
+ ///
+ std::string dvilualatex_command_;
+ ///
+ std::string lualatex_command_;
+ ///
+ std::string pdflatex_command_;
+ ///
+ std::string xelatex_command_;
/// If \p from = /path/file.ext and \p to = /path2/file2.ext2 then
/// this method moves each /path/file*.ext file to /path2/file2*.ext2
bool move(std::string const & fmt,