PhoenixLecture  2.0.0
Set of tools to make lectures
platexobj_tex.cpp
Go to the documentation of this file.
1 /***************************************
2  Auteur : Pierre Aubert
3  Mail : pierre.aubert@lapp.in2p3.fr
4  Licence : CeCILL-C
5 ****************************************/
6 
7 #include <sys/stat.h>
8 #include <sys/types.h>
9 
10 #include "convertToString.h"
11 #include "parser_utils.h"
12 
13 #include "platexobj_tex.h"
14 
16 
19  POutputTex out;
20  out.isLastObjInline = true;
21  out.splitPart = false;
22  out.splitChapter = false;
23  out.splitSection = false;
24  out.splitSubSection = false;
25  out.splitSubSubSection = false;
26  return out;
27 }
28 
30 
33 bool isPLatexObjInline(const PLatexObj & obj){
34  PLatexType::PLatexType type(obj.getType());
35  return type == PLatexType::CITATION || type == PLatexType::FOOTNOTE || type == PLatexType::HREF ||
36  type == PLatexType::INLINEMATH || type == PLatexType::REF ||
37  type == PLatexType::TEXT || type == PLatexType::TEXTBF || type == PLatexType::TEXTIT || type == PLatexType::URL ||
38  type == PLatexType::VARCALL;
39 }
40 
42 
46  if(labelName == ""){return "";}
47  PString body("\\label{"+labelName+"}");
48  return body;
49 }
50 
52 
56  return obj.getText().eraseFirstLastChar("\t\n");
57 }
58 
60 
64  PString body("%" + obj.getName());
65  return body;
66 }
67 
69 
73  PString body("\\url{" + obj.getName() + "}");
74  return body;
75 }
76 
78 
82  PString body("\\getenv{" + obj.getName() + "}");
83  return body;
84 }
85 
87 
91  PString body("\\ref{" + obj.getName() + "}");
92  return body;
93 }
94 
96 
100  PString body("\\spaceparagraph{}\n");
101  return body;
102 }
103 
105 
109  PString body("\\cite{"+obj.getName()+"}");
110  return body;
111 }
112 
114 
118  PString body("\\href{" + obj.getName() + "}{" + obj.getText() + "}");
119  return body;
120 }
121 
123 
127  PString body("\\textbf{" + obj.getName() + "}");
128  return body;
129 }
130 
132 
136  PString body("\\textit{" + obj.getName() + "}");
137  return body;
138 }
139 
141 
145  PString body("\\debug{" + obj.getName() + "}");
146  return body;
147 }
148 
150 
155  PString body("\\footnote{");
156  body += platexobj_texStr(outputMode, obj.getVecContent(), ""); //Content of the footnote
157  body += "}";
158  return body;
159 }
160 
162 
167  PString body("\\caption{");
168  body += platexobj_texStr(outputMode, obj.getVecContent(), "") + "}\n";
170  return body;
171 }
172 
174 
178 PString platexobj_texStrWip(POutputTex & outputMode, const PLatexObj & obj){
179  PString body("\\wip{");
180  body += platexobj_texStr(outputMode, obj.getVecContent(), "");
182  body += "}\n";
183  return body;
184 }
185 
187 
191  PString option(obj.getText());
192  PString body("\\includegraphics");
193  if(option != ""){
194  body += "["+option+"]";
195  }
196  body += "{" + obj.getName() + "}\n";
198  return body;
199 }
200 
202 
208 PString platexobj_texStrAllPart(POutputTex & outputMode, const PLatexObj & obj, const PString & latexFunction, const PString & indentation){
209  PString body("\n\n" + indentation);
210  body += "\\" + latexFunction + "{" + platexobj_texStr(outputMode, obj.getComplexTitle(), "") + "}\n\n";
212  return body;
213 }
214 
216 
221 PString platexobj_texStrExtraEnvironement(POutputTex & outputMode, const PLatexObj & obj, const PString & indentation){
222  PString body(indentation + "\\begin{" + obj.getName() + "}\n");
223  body += platexobj_texStr(outputMode, obj.getVecContent(), indentation + "\t");
224  body += indentation + "\n\\end{" + obj.getName() + "}";
225  body += platexobj_texCreateLabelSearchLink(obj.getLabelName()) + "\n\n";
226  return body;
227 }
228 
230 
235 PString platexobj_texStrExtraFunction(POutputTex & outputMode, const PLatexObj & obj, const PString & indentation){
236  PString body("\\" + obj.getName() + "{");
237  body += platexobj_texStr(outputMode, obj.getVecContent(), indentation) + "}" + platexobj_texCreateLabelSearchLink(obj.getLabelName());
238  return body;
239 }
240 
242 
246  PString body("\\begin{"+obj.getName()+"}\n");
247  body += obj.getSubTitle();
248  body += "\\end{"+obj.getName()+"}";
250  return body;
251 }
252 
254 
261 PString platexobj_texStrBasicEnv(POutputTex & outputMode, const PLatexObj & obj, const PString & baliseName, const PString & indentation, bool allowText){
262  PString body("\\begin{"+baliseName+"}\n");
263  body += platexobj_texStr(outputMode, obj.getVecContent(), indentation, allowText);
264  body += "\\end{"+baliseName+"}";
265  body += platexobj_texCreateLabelSearchLink(obj.getLabelName()) + "\n";
266  return body;
267 }
268 
270 
275 PString platexobj_texStrTabular(POutputTex & outputMode, const PLatexObj & obj, const PString & indentation){
276  PString body("\\begin{tabular}\n");
277  body += platexobj_texStr(outputMode, obj.getVecContent(), indentation);
278  body += "\\end{tabular}" + platexobj_texCreateLabelSearchLink(obj.getLabelName())+"\n";
279  return body;
280 }
281 
283 
288 PString platexobj_texStrTabRow(POutputTex & outputMode, const PLatexObj & obj, const PString & indentation){
289  PString body("");
290  body += platexobj_texStr(outputMode, obj.getVecContent(), indentation);
291  body += "\\\\\n";
292  return body;
293 }
294 
296 
301 PString platexobj_texStrTabCell(POutputTex & outputMode, const PLatexObj & obj, const PString & indentation){
302  PString body("");
303  body += platexobj_texStr(outputMode, obj.getVecContent(), indentation);
304  body += "\t&\t";
305  return body;
306 }
307 
309 
315 PString platexobj_texStrBasicEnv(POutputTex & outputMode, const PLatexObj & obj, const PString & envName, const PString & indentation){
316  PString body(indentation + "\\begin{"+envName+"}\n");
317  body += platexobj_texStr(outputMode, obj.getVecContent(), indentation + "\t");
318  body += "\n" + indentation + "\\end{"+envName+"}" + platexobj_texCreateLabelSearchLink(obj.getLabelName())+"\n";
319  return body;
320 }
321 
323 
328 PString platexobj_texStrColumns(POutputTex & outputMode, const PLatexObj & obj, const PString & indentation){
329  PString body(indentation + "\\begin{columns}\n");
330  body += platexobj_texStr(outputMode, obj.getVecContent(), indentation + "\t");
331  body += indentation + "\\end{columns}\n";
332  return body;
333 }
334 
336 
341 PString platexobj_texStrSection(POutputTex & outputMode, const PLatexObj & obj, const PString & latexFunction){
342  PString body("\n\n\\" + latexFunction + "{");
343  const PVecLatexObj & vecObj = obj.getComplexTitle();
344  for(PVecLatexObj::const_iterator it(vecObj.begin()); it != vecObj.end(); ++it){
345  body += platexobj_texStr(outputMode, *it, "");
346  }
347  body += "}" + platexobj_texCreateLabelSearchLink(obj.getLabelName()) + "\n\n";
348 
349  body += platexobj_texStr(outputMode, obj.getVecContent(), "");
350 
351 // PString fileName(obj.getLink());
352 // if(!saveFileContent(fileName, body)){
353 // cerr << "platexobj_texStrSection : can't save file '"<<fileName<<"' for object '" << obj.getName() << "'" << endl;
354 // }else{
355 // cout << "platexobj_texStrSection : save file '"<<fileName<<"'" << endl;
356 // }
357  return body;
358 }
359 
361 
365 PString platexobj_texMainTitle(const PString & title, const PString & latexFunction){
366  if(title == ""){return "";}
367  PString body("\\" + latexFunction + "{"+title+"}\n");
368  return body;
369 }
370 
372 
376 PString platexobj_indexTex(POutputTex & outputMode, const PLatexObj & obj){
377  PString body("");
378  body += platexobj_texMainTitle(obj.getName(), "title");
379  body += platexobj_texMainTitle(obj.getSubTitle(), "subtitle");
380  body += platexobj_texMainTitle(obj.getAuthor(), "author");
381  body += platexobj_texMainTitle(obj.getDate(), "date");
382 
383  const PVecLatexObj & vecObj = obj.getVecContent();
384  for(PVecLatexObj::const_iterator it(vecObj.begin()); it != vecObj.end(); ++it){
385  body += platexobj_texStr(outputMode, *it, "", true);
386  }
387  return body;
388 }
389 
391 
395 PString platexobj_texStrMathEnv(POutputTex & outputMode, const PLatexObj & obj, const PString & latexEnvName){
396  PString body("\\begin{"+latexEnvName+"}\n");
397  body += obj.getText();
398  body += "\\end{"+latexEnvName+"}" + platexobj_texCreateLabelSearchLink(obj.getLabelName()) + "\n";
399  return body;
400 }
401 
403 
407  PString body("$");
408  body += obj.getText();
409  body += "$" + platexobj_texCreateLabelSearchLink(obj.getLabelName()) + "\n";
410  return body;
411 }
412 
414 
419 PString platexobj_texStrItemize(POutputTex & outputMode, const PLatexObj & obj, const PString & indentation){
420  PString body(indentation + "\\begin{itemize}\n");
421  body += platexobj_texStr(outputMode, obj.getVecContent(), indentation + "\t");
422  body += indentation + "\\end{itemize}\n";
423  return body;
424 }
425 
427 
432 PString platexobj_texStrEnumerate(POutputTex & outputMode, const PLatexObj & obj, const PString & indentation){
433  PString body(indentation + "\\begin{enumerate}\n");
434  body += platexobj_texStr(outputMode, obj.getVecContent(), indentation + "\t");
435  body += indentation + "\\end{enumerate}\n";
436  return body;
437 }
438 
440 
445 PString platexobj_texStrItem(POutputTex & outputMode, const PLatexObj & obj, const PString & indentation){
446  PString body(indentation);
447  body += "\\item ";
448  body += platexobj_texStr(outputMode, obj.getVecContent(), indentation) + "\n";
449  return body;
450 }
451 
453 
457  PString body("\\video"), fileName(obj.getName());
458  if(obj.getText() != ""){
459  body += "[" + obj.getText() + "]";
460  }
461  body += "{" + fileName + "}\n";
462  return body;
463 }
464 
466 
472 PString platexobj_texStr(POutputTex & outputMode, const PLatexObj & obj, const PString & indentation, bool allowText){
473  PString body("");
474  bool isCurrentObjInlined(isPLatexObjInline(obj));
475 // if(isCurrentObjInlined != outputMode.isLastObjInline){
476 // body += "\n";
477 // }
478  outputMode.isLastObjInline = isCurrentObjInlined;
479 
480  PLatexType::PLatexType type(obj.getType());
481  if(type == PLatexType::TEXT && allowText){body += platexobj_texStrText(obj);}
482  else if(type == PLatexType::COMMENT){body += platexobj_texStrComment(obj);}
483  else if(type == PLatexType::PERCENT){body += "\\%";}
484  else if(type == PLatexType::URL){body += platexobj_texStrUrl(obj);}
485  else if(type == PLatexType::GETENV){body += platexobj_texStrGetenv(obj);}
486  else if(type == PLatexType::REF){body += platexobj_texStrRef(obj);}
487  else if(type == PLatexType::SPACEPARAGRAPH){body += platexobj_texStrSpaceParagraph(obj);}
488  else if(type == PLatexType::AUTOSPACEPARAGRAPH){body += "\n\n";}
489  else if(type == PLatexType::CITATION){body += platexobj_texStrCitation(obj);}
490 
491  else if(type == PLatexType::HREF){body += platexobj_texStrHref(obj);}
492  else if(type == PLatexType::TEXTBF){body += platexobj_texStrTextBf(obj);}
493  else if(type == PLatexType::TEXTIT){body += platexobj_texStrTextIt(obj);}
494  else if(type == PLatexType::DEBUG){body += platexobj_texStrTextDebug(obj);}
495  else if(type == PLatexType::FOOTNOTE){body += platexobj_texStrTextFootnote(outputMode, obj);}
496  else if(type == PLatexType::CAPTION){body += platexobj_texStrCaption(outputMode, obj);}
497  else if(type == PLatexType::WORK_IN_PROGRESS){body += platexobj_texStrWip(outputMode, obj);}
498 
499  else if(type == PLatexType::IMAGE){body += platexobj_texStrImage(obj);}
500 
501  else if(type == PLatexType::PARTSTAR){body += platexobj_texStrAllPart(outputMode, obj, "part*", "");}
502  else if(type == PLatexType::CHAPTERSTAR){body += platexobj_texStrAllPart(outputMode, obj, "chapter*", "\t");}
503  else if(type == PLatexType::SECTIONSTAR){body += platexobj_texStrAllPart(outputMode, obj, "section*", "\t\t");}
504  else if(type == PLatexType::SUBSECTIONSTAR){body += platexobj_texStrAllPart(outputMode, obj, "subsection*", "\t\t\t");}
505  else if(type == PLatexType::SUBSUBSECTIONSTAR){body += platexobj_texStrAllPart(outputMode, obj, "subsubsection*", "\t\t\t\t");}
506 
507  else if(type == PLatexType::PART){body += platexobj_texStrSection(outputMode, obj, "part");}
508  else if(type == PLatexType::CHAPTER){body += platexobj_texStrSection(outputMode, obj, "chapter");}
509  else if(type == PLatexType::SECTION){body += platexobj_texStrSection(outputMode, obj, "section");}
510  else if(type == PLatexType::SUBSECTION){body += platexobj_texStrSection(outputMode, obj, "subsection");}
511  else if(type == PLatexType::SUBSUBSECTION){body += platexobj_texStrSection(outputMode, obj, "subsubsection");}
512 
513 
514  else if(type == PLatexType::PARAGRAPHE){body += platexobj_texStrBasicEnv(outputMode, obj, "paragraph", indentation);}
515  else if(type == PLatexType::CENTER){body += platexobj_texStrBasicEnv(outputMode, obj, "center", indentation);}
516  else if(type == PLatexType::COLUMN){body += platexobj_texStrBasicEnv(outputMode, obj, "column", indentation);}
517 
518  else if(type == PLatexType::COLUMNS){body += platexobj_texStrColumns(outputMode, obj, indentation);}
519 
520  else if(type == PLatexType::TABLE){body += platexobj_texStrBasicEnv(outputMode, obj, "table", indentation);}
521  else if(type == PLatexType::TABULAR){body += platexobj_texStrTabular(outputMode, obj, indentation);}
522  else if(type == PLatexType::TABROW){body += platexobj_texStrTabRow(outputMode, obj, indentation);}
523  else if(type == PLatexType::TABCELL){body += platexobj_texStrTabCell(outputMode, obj, indentation);}
524  else if(type == PLatexType::FIGURE){body += platexobj_texStrBasicEnv(outputMode, obj, "figure", indentation);}
525 
526  else if(type == PLatexType::DISPLAYMATH){body += platexobj_texStrMathEnv(outputMode, obj, "displaymath");}
527  else if(type == PLatexType::EQNARRAY){body += platexobj_texStrMathEnv(outputMode, obj, "eqnarray*");}
528  else if(type == PLatexType::INLINEMATH){body += platexobj_texStrInlineMath(outputMode, obj);}
529 
530  else if(type == PLatexType::ITEMIZE){body += platexobj_texStrItemize(outputMode, obj, indentation);}
531  else if(type == PLatexType::ENUMERATE){body += platexobj_texStrEnumerate(outputMode, obj, indentation);}
532  else if(type == PLatexType::ITEM){body += platexobj_texStrItem(outputMode, obj, indentation);}
533  else if(type == PLatexType::VIDEO){body += platexobj_texStrVideo(obj);}
534 
535  else if(type == PLatexType::ENVIRONEMENT){body += platexobj_texStrExtraEnvironement(outputMode, obj, indentation);}
536  else if(type == PLatexType::FUNCTION){body += platexobj_texStrExtraFunction(outputMode, obj, indentation);}
537  else if(type == PLatexType::PARSER){body += platexobj_texStrExtraParser(obj);}
538 
539  else if(type == PLatexType::FILE){body += platexobj_indexTex(outputMode, obj);}
540  else{
541  body += platexobj_texStr(outputMode, obj.getVecContent(), indentation, allowText);
542  }
543  return body;
544 }
545 
547 
553 PString platexobj_texStr(POutputTex & outputMode, const PVecLatexObj & vecObj, const PString & indentation, bool allowText){
554  PString body("");
555  for(PVecLatexObj::const_iterator it(vecObj.begin()); it != vecObj.end(); ++it){
556  body += platexobj_texStr(outputMode, *it, indentation, allowText);
557  }
558  return body;
559 }
560 
562 
566 bool platexobj_tex(POutputTex & outputMode, const PLatexObj & obj){
567  PString fileContent(platexobj_texStr(outputMode, obj, ""));
568  PPath indexTex(obj.getLink());
569  if(!indexTex.saveFileContent(fileContent)){
570  std::cerr << "platexobj_tex : can't save file '"<<indexTex<<"'" << std::endl;
571  return false;
572  }else{
573  std::cerr << "platexobj_tex : save file '"<<indexTex<<"'" << std::endl;
574  }
575  return true;
576 }
577 
Describe a latex object.
Definition: PLatexObj.h:40
const std::vector< PLatexObj > & getVecContent() const
Gets the vecContent of the PLatexObj.
Definition: PLatexObj.cpp:410
const std::vector< PLatexObj > & getComplexTitle() const
Gets the complexTitle of the PLatexObj.
Definition: PLatexObj.cpp:396
const PString & getLabelName() const
Gets the labelName of the PLatexObj.
Definition: PLatexObj.cpp:354
const PString & getSubTitle() const
Gets the subTitle of the PLatexObj.
Definition: PLatexObj.cpp:340
const PLatexType::PLatexType & getType() const
Gets the type of the PLatexObj.
Definition: PLatexObj.cpp:298
const PString & getName() const
Gets the name of the PLatexObj.
Definition: PLatexObj.cpp:326
const PString & getLink() const
Gets the link of the PLatexObj.
Definition: PLatexObj.cpp:368
const PString & getAuthor() const
Gets the author of the PLatexObj.
Definition: PLatexObj.cpp:508
const PString & getText() const
Gets the text of the PLatexObj.
Definition: PLatexObj.cpp:312
const PString & getDate() const
Gets the date of the PLatexObj.
Definition: PLatexObj.cpp:522
Path of a directory or a file.
Definition: PPath.h:17
bool saveFileContent(const PString &content) const
Save a PString in a file.
Definition: PPath.cpp:395
Extends the std::string.
Definition: PString.h:16
PString eraseFirstLastChar(const PString &vecChar) const
Erase first and last char in a string.
Definition: PString.cpp:545
PLatexType
Type of the PLatexObj.
Definition: PLatexType.h:12
@ SUBSUBSECTION
Definition: PLatexType.h:54
@ SUBSECTIONSTAR
Definition: PLatexType.h:60
@ AUTOSPACEPARAGRAPH
Definition: PLatexType.h:28
@ SPACEPARAGRAPH
Definition: PLatexType.h:27
@ ENVIRONEMENT
Definition: PLatexType.h:85
@ SUBSUBSECTIONSTAR
Definition: PLatexType.h:61
@ WORK_IN_PROGRESS
Definition: PLatexType.h:32
bool platexobj_tex(POutputTex &outputMode, const PLatexObj &obj)
Save the main PLatexObj.
PString platexobj_texStrColumns(POutputTex &outputMode, const PLatexObj &obj, const PString &indentation)
Convert a PLatexObj into a string.
PString platexobj_texStrExtraParser(const PLatexObj &obj)
Convert a PLatexObj into a string.
PString platexobj_texStrMathEnv(POutputTex &outputMode, const PLatexObj &obj, const PString &latexEnvName)
convert fomulae env into latex
PString platexobj_texStrEnumerate(POutputTex &outputMode, const PLatexObj &obj, const PString &indentation)
Convert an itemize environement in tex.
PString platexobj_texStrVideo(const PLatexObj &obj)
Convert a video call in tex.
PString platexobj_texStrItemize(POutputTex &outputMode, const PLatexObj &obj, const PString &indentation)
Convert an itemize environement in tex.
PString platexobj_texStrTextDebug(const PLatexObj &obj)
Convert a PLatexObj into a string.
PString platexobj_texCreateLabelSearchLink(const PString &labelName)
Create the link to the label of the current PLatexObj if it exist.
PString platexobj_texStrText(const PLatexObj &obj)
Convert a PLatexObj into a string.
PString platexobj_texStrTextIt(const PLatexObj &obj)
Convert a PLatexObj into a string.
PString platexobj_texStrTabCell(POutputTex &outputMode, const PLatexObj &obj, const PString &indentation)
Convert a cell into a tex string.
PString platexobj_texStrUrl(const PLatexObj &obj)
Convert a PLatexObj into a string.
PString platexobj_texStrComment(const PLatexObj &obj)
Convert a PLatexObj into a string.
PString platexobj_texStrAllPart(POutputTex &outputMode, const PLatexObj &obj, const PString &latexFunction, const PString &indentation)
Convert a PLatexObj into a string.
PString platexobj_texStr(POutputTex &outputMode, const PLatexObj &obj, const PString &indentation, bool allowText)
Convert a PLatexObj into a string.
PString platexobj_texStrTextFootnote(POutputTex &outputMode, const PLatexObj &obj)
Convert a PLatexObj into a string.
bool isPLatexObjInline(const PLatexObj &obj)
Say if the given PLatexObj is inlined.
PString platexobj_texStrImage(const PLatexObj &obj)
Convert a PLatexObj into a string.
PString platexobj_texStrItem(POutputTex &outputMode, const PLatexObj &obj, const PString &indentation)
Convert an itemize environement in tex.
POutputTex defaultPOutputTex()
Create a default POutputTex.
PString platexobj_texStrCitation(const PLatexObj &obj)
Convert a PLatexObj into a string.
PString platexobj_indexTex(POutputTex &outputMode, const PLatexObj &obj)
Save the index.tex file.
PString platexobj_texStrRef(const PLatexObj &obj)
Convert a PLatexObj into a string.
PString platexobj_texStrTextBf(const PLatexObj &obj)
Convert a PLatexObj into a string.
PString platexobj_texStrTabRow(POutputTex &outputMode, const PLatexObj &obj, const PString &indentation)
Convert a row into a tex string.
PString platexobj_texStrSpaceParagraph(const PLatexObj &obj)
Convert a PLatexObj into a string.
PString platexobj_texStrGetenv(const PLatexObj &obj)
Convert a PLatexObj into a string.
PString platexobj_texStrInlineMath(POutputTex &outputMode, const PLatexObj &obj)
convert inline fomulae into latex
PString platexobj_texMainTitle(const PString &title, const PString &latexFunction)
Convert a PLatexObj into a string.
PString platexobj_texStrExtraEnvironement(POutputTex &outputMode, const PLatexObj &obj, const PString &indentation)
Convert a PLatexObj into a string.
PString platexobj_texStrWip(POutputTex &outputMode, const PLatexObj &obj)
Convert a PLatexObj into a string.
PString platexobj_texStrExtraFunction(POutputTex &outputMode, const PLatexObj &obj, const PString &indentation)
Convert a PLatexObj into a string.
PString platexobj_texStrBasicEnv(POutputTex &outputMode, const PLatexObj &obj, const PString &baliseName, const PString &indentation, bool allowText)
Convert a basic environement into a string.
PString platexobj_texStrSection(POutputTex &outputMode, const PLatexObj &obj, const PString &latexFunction)
Save a section in tex.
PString platexobj_texStrCaption(POutputTex &outputMode, const PLatexObj &obj)
Convert a PLatexObj into a string.
PString platexobj_texStrTabular(POutputTex &outputMode, const PLatexObj &obj, const PString &indentation)
Convert a tabular into a tex string.
PString platexobj_texStrHref(const PLatexObj &obj)
Convert a PLatexObj into a string.
std::vector< PLatexObj > PVecLatexObj
Vector of obj.
Output mode for tex backend.
Definition: platexobj_tex.h:13
bool isLastObjInline
True if the last used PLatexObj was inlined, false if it was a block.
Definition: platexobj_tex.h:15
bool splitPart
True to split parts in separates files.
Definition: platexobj_tex.h:17
bool splitSection
True to split sections in separates files.
Definition: platexobj_tex.h:21
bool splitChapter
True to split charpters in separates files.
Definition: platexobj_tex.h:19
bool splitSubSubSection
True to split subsubsections in separates files.
Definition: platexobj_tex.h:25
bool splitSubSection
True to split subsections in separates files.
Definition: platexobj_tex.h:23