@@ -208,24 +208,29 @@ void SpLatex::multiplot(size_t ln, size_t indent, const std::string& cmdline)
208208 bool ptitle_mark = false ;
209209 bool xerr = false , yerr = false ;
210210
211- if (!groupfields.empty () && is_suffix (groupfields.back (), " |title" )) {
212- // remove |title from multiplot string
213- groupfields.back ().resize (groupfields.back ().size () - 6 );
214- multiplot.resize (multiplot.size () - 6 );
215- title_mark = true ;
216- }
217- else if (!groupfields.empty () && is_suffix (groupfields.back (), " |ptitle" )) {
218- // remove |ptitle from multiplot string
219- groupfields.back ().resize (groupfields.back ().size () - 7 );
220- multiplot.resize (multiplot.size () - 7 );
221- ptitle_mark = true ;
222- }
223-
224- if (!groupfields.empty () && is_suffix (groupfields.back (), " |attr" )) {
225- // remove |attr from multiplot string
226- groupfields.back ().resize (groupfields.back ().size () - 5 );
227- multiplot.resize (multiplot.size () - 5 );
228- attr_mark = true ;
211+ while (!groupfields.empty () && groupfields.back ().find (' |' ) != std::string::npos) {
212+ std::string& field = groupfields.back ();
213+ if (!groupfields.empty () && is_suffix (field, " |title" )) {
214+ // remove |title from multiplot string
215+ field.resize (field.size () - 6 );
216+ multiplot.resize (multiplot.size () - 6 );
217+ title_mark = true ;
218+ }
219+ else if (!groupfields.empty () && is_suffix (field, " |ptitle" )) {
220+ // remove |ptitle from multiplot string
221+ field.resize (field.size () - 7 );
222+ multiplot.resize (multiplot.size () - 7 );
223+ ptitle_mark = true ;
224+ }
225+ else if (!groupfields.empty () && is_suffix (field, " |attr" )) {
226+ // remove |attr from multiplot string
227+ field.resize (field.size () - 5 );
228+ multiplot.resize (multiplot.size () - 5 );
229+ attr_mark = true ;
230+ } else {
231+ std::string modifier = field.substr (field.find (' |' ));
232+ OUT_THROW (" MULTIPLOT failed: unknown modifier '" + modifier + " '" );
233+ }
229234 }
230235
231236 // execute query
0 commit comments