- if (!listings_params.empty() || features.mustProvide("listings"))
- os << "\\usepackage{listings}\n";
- if (!listings_params.empty()) {
- os << "\\lstset{";
+ if (!listings_params.empty()
+ || features.mustProvide("listings")
+ || features.mustProvide("minted")) {
+ if (use_minted)
+ os << "\\usepackage{minted}\n";
+ else
+ os << "\\usepackage{listings}\n";
+ }
+ string lst_params = listings_params;
+ // If minted, do not output the language option (bug 11203)
+ if (use_minted && contains(lst_params, "language=")) {
+ vector<string> opts =
+ getVectorFromString(lst_params, ",", false);
+ for (size_t i = 0; i < opts.size(); ++i) {
+ if (prefixIs(opts[i], "language="))
+ opts.erase(opts.begin() + i--);
+ }
+ lst_params = getStringFromVector(opts, ",");
+ }
+ if (!lst_params.empty()) {
+ if (use_minted)
+ os << "\\setminted{";
+ else
+ os << "\\lstset{";