46static const std::array<const char *,g_maxLevels>
g_secLabels =
50 "doxysubsubsubsection",
51 "doxysubsubsubsubsection",
52 "doxysubsubsubsubsubsection",
53 "doxysubsubsubsubsubsubsection"
63 if (compactLatex) l++;
94 static const reg::Ex re(R
"((\d+)%)");
95 std::string s = dimension.str();
103 t << percent/100.0 <<
"\\text" << orientationString;
114 t <<
"\n\\begin{DoxyInlineImage}%\n";
120 t <<
"\n\\begin{DoxyImage}%\n";
124 t <<
"\n\\begin{DoxyImageNoCaption}%\n"
129 t <<
"\\includegraphics";
153 t <<
"[height=\\baselineskip,keepaspectratio=true]";
157 t <<
"[width=\\textwidth,height=\\textheight/2,keepaspectratio=true]";
165 t <<
"{" << name <<
"}";
173 t <<
"%\n\\doxyfigcaption{";
177 t <<
"%\n\\doxyfigcaptionnolink{";
193 t <<
"%\n\\end{DoxyInlineImage}\n";
200 t <<
"\\end{DoxyImage}\n";
204 t <<
"\\end{DoxyImageNoCaption}\n";
211 for (
const auto &n : children)
218 const QCString &langExt,
int hierarchyLevel)
267 m_t <<
"\\texorpdfstring{$<$}{<}";
278 m_t <<
"\\texorpdfstring{$>$}{>}";
336 m_t <<
"~\\newline\n";
344 m_t <<
"\\DoxyHorRuler{1}\n";
346 m_t <<
"\\DoxyHorRuler{0}\n";
355 if (s.
enable())
m_t <<
"{\\bfseries{";
else m_t <<
"}}";
375 if (s.
enable())
m_t <<
"\\textsubscript{";
else m_t <<
"}";
378 if (s.
enable())
m_t <<
"\\textsuperscript{";
else m_t <<
"}";
381 if (s.
enable())
m_t <<
"\\begin{center}";
else m_t <<
"\\end{center} ";
384 if (s.
enable())
m_t <<
"\n\\footnotesize ";
else m_t <<
"\n\\normalsize ";
392 m_t <<
"\n\\begin{DoxyPre}";
398 m_t <<
"\\end{DoxyPre}\n";
419 m_ci.startCodeFragment(
"DoxyCode");
423 m_ci.endCodeFragment(
"DoxyCode");
430 m_t <<
"{\\ttfamily ";
437 m_t <<
"\\begin{DoxyCode}{0}";
439 m_t <<
"\\end{DoxyCode}\n";
443 m_t <<
"\\begin{DoxyVerb}";
445 m_t <<
"\\end{DoxyVerb}\n";
465 if (!fileName.isEmpty())
478 "msc {"+s.
text()+
"}",
480 if (!fileName.isEmpty())
494 for (
const auto &baseName: baseNameVector)
522 m_ci.startCodeFragment(
"DoxyCodeInclude");
534 m_ci.endCodeFragment(
"DoxyCodeInclude");
539 m_ci.startCodeFragment(
"DoxyCodeInclude");
548 m_ci.endCodeFragment(
"DoxyCodeInclude");
565 m_t <<
"\\begin{DoxyCode}{0}";
567 m_t <<
"\\end{DoxyCode}\n";
571 m_t <<
"\n\\begin{DoxyVerbInclude}\n";
573 m_t <<
"\\end{DoxyVerbInclude}\n";
579 m_ci.startCodeFragment(
"DoxyCodeInclude");
588 m_ci.endCodeFragment(
"DoxyCodeInclude");
600 if (!
m_hide)
m_ci.startCodeFragment(
"DoxyCodeInclude");
612 std::unique_ptr<FileDef> fd;
634 if (!
m_hide)
m_ci.endCodeFragment(
"DoxyCodeInclude");
646 const char *p = s.
data();
654 case '\'':
m_t <<
"\\textnormal{\\textquotesingle}";
break;
655 default:
m_t << c;
break;
684 if (!opt.noPar()) txt +=
"[";
686 if (!opt.noPar()) txt +=
"]";
688 m_t <<
"{\\bfseries ";
698 anchor = anchor.
mid(anchorPrefix.
length());
700 txt =
"\\DoxyCite{" + anchor +
"}";
705 else if (opt.isShortAuthor())
707 txt +=
"{shortauthor}";
709 else if (opt.isYear())
713 if (!opt.noPar()) txt +=
"{1}";
720 if (!opt.noPar()) txt +=
"[";
722 if (!opt.noPar()) txt +=
"]";
723 m_t <<
"{\\bfseries ";
740 m_t <<
"\n\\begin{DoxyEnumerate}";
746 m_t <<
"\n\\begin{DoxyItemize}";
751 m_t <<
"\n\\end{DoxyEnumerate}";
755 m_t <<
"\n\\end{DoxyItemize}";
765 m_t <<
"\n\\item[\\DoxyUnchecked] ";
769 m_t <<
"\n\\item[\\DoxyChecked] ";
786 std::get_if<DocParamSect>(p.
parent())
792 m_t <<
"~\\newline\n";
812 m_t <<
"\\begin{DoxySeeAlso}{";
816 m_t <<
"\\begin{DoxyReturn}{";
820 m_t <<
"\\begin{DoxyAuthor}{";
824 m_t <<
"\\begin{DoxyAuthor}{";
828 m_t <<
"\\begin{DoxyVersion}{";
832 m_t <<
"\\begin{DoxySince}{";
836 m_t <<
"\\begin{DoxyDate}{";
840 m_t <<
"\\begin{DoxyNote}{";
844 m_t <<
"\\begin{DoxyWarning}{";
848 m_t <<
"\\begin{DoxyPrecond}{";
852 m_t <<
"\\begin{DoxyPostcond}{";
856 m_t <<
"\\begin{DoxyCopyright}{";
860 m_t <<
"\\begin{DoxyInvariant}{";
864 m_t <<
"\\begin{DoxyRemark}{";
868 m_t <<
"\\begin{DoxyAttention}{";
872 m_t <<
"\\begin{DoxyImportant}{";
876 m_t <<
"\\begin{DoxyParagraph}{";
879 m_t <<
"\\begin{DoxyParagraph}{";
887 std::visit(*
this,*s.
title());
896 m_t <<
"\n\\end{DoxySeeAlso}\n";
899 m_t <<
"\n\\end{DoxyReturn}\n";
902 m_t <<
"\n\\end{DoxyAuthor}\n";
905 m_t <<
"\n\\end{DoxyAuthor}\n";
908 m_t <<
"\n\\end{DoxyVersion}\n";
911 m_t <<
"\n\\end{DoxySince}\n";
914 m_t <<
"\n\\end{DoxyDate}\n";
917 m_t <<
"\n\\end{DoxyNote}\n";
920 m_t <<
"\n\\end{DoxyWarning}\n";
923 m_t <<
"\n\\end{DoxyPrecond}\n";
926 m_t <<
"\n\\end{DoxyPostcond}\n";
929 m_t <<
"\n\\end{DoxyCopyright}\n";
932 m_t <<
"\n\\end{DoxyInvariant}\n";
935 m_t <<
"\n\\end{DoxyRemark}\n";
938 m_t <<
"\n\\end{DoxyAttention}\n";
941 m_t <<
"\n\\end{DoxyImportant}\n";
944 m_t <<
"\n\\end{DoxyParagraph}\n";
947 m_t <<
"\n\\end{DoxyParagraph}\n";
964 m_t <<
"\\begin{DoxyItemize}\n";
967 m_t <<
"\\end{DoxyItemize}\n";
993 m_t <<
"\\texorpdfstring{";
998 std::visit(*
this,*s.
title());
1007 std::visit(*
this,*s.
title());
1024 m_t <<
"\n\\begin{DoxyEnumerate}";
1025 for (
const auto &opt : s.
attribs())
1027 if (opt.name==
"type")
1031 m_t << (first ?
"[":
",");
1032 m_t <<
"label=\\arabic*";
1035 else if (opt.value==
"a")
1037 m_t << (first ?
"[":
",");
1038 m_t <<
"label=\\enumalphalphcnt*";
1041 else if (opt.value==
"A")
1043 m_t << (first ?
"[":
",");
1044 m_t <<
"label=\\enumAlphAlphcnt*";
1047 else if (opt.value==
"i")
1049 m_t << (first ?
"[":
",");
1050 m_t <<
"label=\\roman*";
1053 else if (opt.value==
"I")
1055 m_t << (first ?
"[":
",");
1056 m_t <<
"label=\\Roman*";
1060 else if (opt.name==
"start")
1062 m_t << (first ?
"[":
",");
1064 int val = opt.value.toInt(&ok);
1065 if (ok)
m_t <<
"start=" << val;
1069 if (!first)
m_t <<
"]\n";
1073 m_t <<
"\n\\begin{DoxyItemize}";
1078 m_t <<
"\n\\end{DoxyEnumerate}";
1080 m_t <<
"\n\\end{DoxyItemize}";
1088 for (
const auto &opt : l.
attribs())
1090 if (opt.name==
"value")
1093 int val = opt.value.toInt(&ok);
1111 auto it = std::find_if(attrs.begin(),attrs.end(),
1112 [](
const auto &att) { return att.name==
"class"; });
1113 if (it!=attrs.end() && it->value ==
"reflist")
return true;
1119 bool isNested=
false;
1121 while (n && !isNested)
1123 if (std::get_if<DocHtmlDescList>(n))
1138 m_t <<
"\n\\begin{DoxyRefList}";
1143 m_t <<
"\n\\begin{DoxyDescription}";
1148 m_t <<
"\n\\end{DoxyRefList}";
1152 m_t <<
"\n\\end{DoxyDescription}";
1159 m_t <<
"\n\\item[{\\parbox[t]{\\linewidth}{";
1177 bool isNested=
m_lcg.usedTableLevel()>0;
1178 while (n && !isNested)
1190 m_t <<
"\\begin{DoxyTableNested}{" << cols <<
"}";
1194 m_t <<
"\n\\begin{DoxyTable}{" << cols <<
"}";
1202 m_t <<
"\\end{DoxyTableNested}\n";
1206 m_t <<
"\\end{DoxyTable}\n";
1233 std::visit(*
this, *t.
caption());
1273 if (span.rowSpan>0) span.rowSpan--;
1274 if (span.rowSpan<=0)
1278 else if (span.column>col)
1280 col = span.column+span.colSpan;
1284 col = span.column+span.colSpan;
1300 auto appendOpt = [&cellOpts](
const QCString &s)
1302 if (!cellOpts.
isEmpty()) cellOpts+=
",";
1305 auto appendSpec = [&cellSpec](
const QCString &s)
1307 if (!cellSpec.
isEmpty()) cellSpec+=
",";
1310 auto writeCell = [
this,&cellOpts,&cellSpec]()
1317 m_t <<
"[" << cellOpts <<
"]";
1319 m_t <<
"{" << cellSpec <<
"}";
1324 for (
const auto &span :
rowSpans())
1333 for (
size_t i=0;i<span.colSpan;i++)
1359 appendOpt(
"r="+
QCString().setNum(rs));
1369 appendOpt(
"c="+
QCString().setNum(cs));
1373 appendSpec(
"bg=\\tableheadbgcolor");
1374 appendSpec(
"font=\\bfseries");
1392 for (
int i=0;i<cs-1;i++)
1415 m_t <<
"{\\texttt{";
1423 m_t <<
"{\\bfseries{";
1435 std::visit(*
this,*summary);
1436 m_t <<
"\\begin{adjustwidth}{1em}{0em}\n";
1441 m_t <<
"\\end{adjustwidth}\n";
1480 bool exists =
false;
1488 if (!fileName.isEmpty())
1500 bool exists =
false;
1508 if (!fileName.isEmpty())
1520 bool exists =
false;
1528 if (!fileName.isEmpty())
1585 m_t <<
"\\item \\contentsline{section}{";
1616 m_t <<
"\\footnotesize\n";
1617 m_t <<
"\\begin{multicols}{2}\n";
1618 m_t <<
"\\begin{DoxyCompactList}\n";
1622 m_t <<
"\\end{DoxyCompactList}\n";
1623 m_t <<
"\\end{multicols}\n";
1624 m_t <<
"\\normalsize\n";
1632 m_lcg.incUsedTableLevel();
1636 m_t <<
"\n\\begin{DoxyParams}";
1637 if (hasInOutSpecs && hasTypeSpecs)
m_t <<
"[2]";
1638 else if (hasInOutSpecs || hasTypeSpecs)
m_t <<
"[1]";
1643 m_t <<
"\n\\begin{DoxyRetVals}{";
1647 m_t <<
"\n\\begin{DoxyExceptions}{";
1651 m_t <<
"\n\\begin{DoxyTemplParams}{";
1660 m_lcg.decUsedTableLevel();
1664 m_t <<
"\\end{DoxyParams}\n";
1667 m_t <<
"\\end{DoxyRetVals}\n";
1670 m_t <<
"\\end{DoxyExceptions}\n";
1673 m_t <<
"\\end{DoxyTemplParams}\n";
1693 parentType = sect->
type();
1707 m_t <<
"\\doxymbox{\\texttt{";
1722 if (useTable)
m_t <<
" & ";
1728 std::visit(*
this,type);
1730 if (useTable)
m_t <<
" & ";
1736 if (!first)
m_t <<
",";
else first=
FALSE;
1738 std::visit(*
this,param);
1752 std::visit(*
this,par);
1767 m_t <<
"\\begin{DoxyRefDesc}{";
1770 bool anonymousEnum = x.
file()==
"@";
1772 if (pdfHyperlinks && !anonymousEnum)
1778 m_t <<
"\\textbf{ ";
1783 if (pdfHyperlinks && !anonymousEnum)
1791 m_t <<
"\\end{DoxyRefDesc}\n";
1811 m_t <<
"\\begin{quote}\n";
1814 m_t <<
"\\end{quote}\n";
1832 m_lcg.insideTabbing(),
1835 m_lcg.usedTableLevel()>0,
1842 bool refToTable,
bool refToSection)
1845 if (ref.
isEmpty() && pdfHyperLinks)
1849 m_t <<
"\\doxytablelink{";
1851 else if (refToSection)
1870 else if (ref.
isEmpty() && refToSection)
1872 m_t <<
"\\doxysectref{";
1874 else if (ref.
isEmpty() && refToTable)
1876 m_t <<
"\\doxytableref{";
1880 m_t <<
"\\doxyref{";
1884 m_t <<
"\\textbf{ ";
1892 if (ref.
isEmpty() && !pdfHyperLinks)
1896 m_t <<
"}{" << file;
1897 if (!file.isEmpty() && !anchor.
isEmpty())
m_t <<
"_";
1898 m_t << anchor <<
"}";
1901 m_t <<
"{" << sectionType.
level() <<
"}";
1904 if (ref.
isEmpty() && pdfHyperLinks)
1918 int srcLine,
bool newFile
1939 int srcLine,
bool newFile
1972 int srcLine,
bool newFile
1994 if (shortName.
find(
'.')==-1) shortName +=
".png";
2016 bool useBitmap = inBuf.find(
"@startditaa") != std::string::npos;
2022 for (
const auto &bName: baseNameVector)
2028 if (shortName.
find(
'.')==-1) shortName +=
".png";
2054 err(
"Maximum indent level ({}) exceeded while generating LaTeX output!\n",
maxIndentLevels-1);
QCString anchorPrefix() const
static CitationManager & instance()
void parseCodeFragment(OutputCodeList &codeOutList, const QCString &fileName, const QCString &blockId, const QCString &scopeName, bool showLineNumbers, bool trimLeft, bool stripCodeComments)
static CodeFragmentManager & instance()
virtual void parseCode(OutputCodeList &codeOutList, const QCString &scopeName, const QCString &input, SrcLangExt lang, bool stripCodeComments, const CodeParserOptions &options)=0
Parses a source file or fragment with the goal to produce highlighted and cross-referenced output.
Node representing an anchor.
Node representing an auto List.
Node representing an item of a auto list.
Node representing a citation of some bibliographic reference.
CiteInfoOption option() const
Node representing a dia file.
Node representing a dot file.
Node representing an emoji.
Node representing a Hypertext reference.
Node representing a horizontal ruler.
Node representing an HTML blockquote.
Node representing a HTML table caption.
Node representing a HTML table cell.
Valignment valignment() const
Alignment alignment() const
Node representing a HTML description data.
Node representing a Html description list.
const HtmlAttribList & attribs() const
Node representing a Html description item.
const DocNodeVariant * summary() const
Node representing a Html list.
const HtmlAttribList & attribs() const
Node representing a HTML list item.
const HtmlAttribList & attribs() const
Node representing a HTML table row.
Node representing a HTML table.
size_t numberHeaderRows() const
size_t numColumns() const
const DocNodeVariant * caption() const
Node representing an image.
bool isInlineImage() const
Node representing a include/dontinclude operator block.
bool stripCodeComments() const
QCString includeFileName() const
QCString exampleFile() const
Node representing an included text block from file.
QCString extension() const
bool stripCodeComments() const
QCString exampleFile() const
Node representing an entry in the index.
Node representing an internal section of documentation.
Node representing an internal reference to some item.
Node representing a line break.
Node representing a link to some item.
Node representing a word that can be linked to something.
Node representing a msc file.
DocNodeVariant * parent()
Node representing an block of paragraphs.
Node representing a paragraph in the documentation tree.
Node representing a parameter list.
const DocNodeList & parameters() const
const DocNodeList & paramTypes() const
DocParamSect::Direction direction() const
const DocNodeList & paragraphs() const
Node representing a parameter section.
bool hasInOutSpecifier() const
bool hasTypeSpecifier() const
Node representing a uml file.
Node representing a reference to some item.
SectionType sectionType() const
QCString targetTitle() const
bool refToSection() const
Root node of documentation tree.
Node representing a reference to a section.
Node representing a list of section references.
Node representing a normal section.
const DocNodeVariant * title() const
Node representing a separator.
Node representing a simple list.
Node representing a simple list item.
const DocNodeVariant * paragraph() const
Node representing a simple section.
const DocNodeVariant * title() const
Node representing a separator between two simple sections of the same type.
Node representing a style change.
Node representing a special symbol.
HtmlEntityMapper::SymType symbol() const
Root node of a text fragment.
Node representing a simple section title.
Node representing a URL (or email address).
Node representing a verbatim, unparsed text fragment.
QCString language() const
const DocNodeList & children() const
QCString exampleFile() const
Node representing a VHDL flow chart.
CodeParserInterface & getCodeParser(const QCString &langExt)
void pushHidden(bool hide)
Node representing some amount of white space.
Node representing a word.
Node representing an item of a cross-referenced list.
const char * name(int index) const
Access routine to the name of the Emoji entity.
static EmojiEntityMapper & instance()
Returns the one and only instance of the Emoji entity mapper.
Minimal replacement for QFileInfo.
std::string fileName() const
std::string dirPath(bool absPath=true) const
Class representing a list of HTML attributes.
const char * latex(SymType symb) const
Access routine to the LaTeX code of the HTML entity.
static HtmlEntityMapper & instance()
Returns the one and only instance of the HTML entity mapper.
Generator for LaTeX code fragments.
void startDiaFile(const QCString &fileName, const QCString &width, const QCString &height, bool hasCaption, const QCString &srcFile, int srcLine, bool newFile=true)
void setCurrentColumn(size_t col)
static const int maxIndentLevels
void endLink(const QCString &ref, const QCString &file, const QCString &anchor, bool refToTable=false, bool refToSection=false, SectionType sectionType=SectionType::Anchor)
void startMscFile(const QCString &fileName, const QCString &width, const QCString &height, bool hasCaption, const QCString &srcFile, int srcLine, bool newFile=true)
void endDotFile(bool hasCaption)
void operator()(const DocWord &)
void visitCaption(const DocNodeList &children)
void addRowSpan(ActiveRowSpan &&span)
void setNumCols(size_t num)
void writeStartTableCommand(const DocNodeVariant *n, size_t cols)
void writeEndTableCommand(const DocNodeVariant *n)
void startLink(const QCString &ref, const QCString &file, const QCString &anchor, bool refToTable=false, bool refToSection=false)
LatexDocVisitor(TextStream &t, OutputCodeList &ci, LatexCodeGenerator &lcg, const QCString &langExt, int hierarchyLevel=0)
size_t currentColumn() const
void writePlantUMLFile(const QCString &fileName, const DocVerbatim &s)
void filter(const QCString &str, const bool retainNewLine=false)
void endMscFile(bool hasCaption)
bool isTableNested(const DocNodeVariant *n) const
void startPlantUmlFile(const QCString &fileName, const QCString &width, const QCString &height, bool hasCaption, const QCString &srcFile, int srcLine)
void startDotFile(const QCString &fileName, const QCString &width, const QCString &height, bool hasCaption, const QCString &srcFile, int srcLine, bool newFile=true)
LatexListItemInfo m_listItemInfo[maxIndentLevels]
void endDiaFile(bool hasCaption)
const char * getSectionName(int level) const
void endPlantUmlFile(bool hasCaption)
void writeMscFile(const QCString &fileName, const DocVerbatim &s, bool newFile=true)
void visitChildren(const T &t)
LatexCodeGenerator & m_lcg
Class representing a list of different code generators.
StringVector writePlantUMLSource(const QCString &outDirArg, const QCString &fileName, const QCString &content, OutputFormat format, const QCString &engine, const QCString &srcFile, int srcLine, bool inlineCode)
Write a PlantUML compatible file.
static PlantumlManager & instance()
void generatePlantUMLOutput(const QCString &baseName, const QCString &outDir, OutputFormat format)
Convert a PlantUML file to an image.
This is an alternative implementation of QCString.
int find(char c, int index=0, bool cs=TRUE) const
QCString & prepend(const char *s)
int toInt(bool *ok=nullptr, int base=10) const
size_t length() const
Returns the length of the string, not counting the 0-terminator.
QCString mid(size_t index, size_t len=static_cast< size_t >(-1)) const
bool endsWith(const char *s) const
bool isEmpty() const
Returns TRUE iff the string is empty.
const std::string & str() const
const char * data() const
Returns a pointer to the contents of the string in the form of a 0-terminated C string.
QCString left(size_t len) const
constexpr int level() const
Text streaming class that buffers data.
Class representing a regular expression.
Object representing the matching results.
#define Config_getBool(name)
#define Config_getString(name)
void writeDiaGraphFromFile(const QCString &inFile, const QCString &outDir, const QCString &outFile, DiaOutputFormat format, const QCString &srcFile, int srcLine)
constexpr bool holds_one_of_alternatives(const DocNodeVariant &v)
returns true iff v holds one of types passed as template parameters
std::variant< DocWord, DocLinkedWord, DocURL, DocLineBreak, DocHorRuler, DocAnchor, DocCite, DocStyleChange, DocSymbol, DocEmoji, DocWhiteSpace, DocSeparator, DocVerbatim, DocInclude, DocIncOperator, DocFormula, DocIndexEntry, DocAutoList, DocAutoListItem, DocTitle, DocXRefItem, DocImage, DocDotFile, DocMscFile, DocDiaFile, DocVhdlFlow, DocLink, DocRef, DocInternalRef, DocHRef, DocHtmlHeader, DocHtmlDescTitle, DocHtmlDescList, DocSection, DocSecRefItem, DocSecRefList, DocInternal, DocParBlock, DocSimpleList, DocHtmlList, DocSimpleSect, DocSimpleSectSep, DocParamSect, DocPara, DocParamList, DocSimpleListItem, DocHtmlListItem, DocHtmlDescData, DocHtmlCell, DocHtmlCaption, DocHtmlRow, DocHtmlTable, DocHtmlBlockQuote, DocText, DocRoot, DocHtmlDetails, DocHtmlSummary, DocPlantUmlFile > DocNodeVariant
constexpr DocNodeVariant * parent(DocNodeVariant *n)
returns the parent node of a given node n or nullptr if the node has no parent.
void writeDotGraphFromFile(const QCString &inFile, const QCString &outDir, const QCString &outFile, GraphOutputFormat format, const QCString &srcFile, int srcLine)
std::unique_ptr< FileDef > createFileDef(const QCString &p, const QCString &n, const QCString &ref, const QCString &dn)
Translator * theTranslator
static const char * g_subparagraphLabel
static const int g_maxLevels
static const std::array< const char *, g_maxLevels > g_secLabels
static bool listIsNested(const DocHtmlDescList &dl)
static void insertDimension(TextStream &t, QCString dimension, const char *orientationString)
static void visitPreStart(TextStream &t, bool hasCaption, QCString name, QCString width, QCString height, bool inlineImage=FALSE)
static const char * g_paragraphLabel
static bool classEqualsReflist(const DocHtmlDescList &dl)
static void visitPostEnd(TextStream &t, bool hasCaption, bool inlineImage=FALSE)
@ TEX
called through texorpdf as TeX (first) part
@ PDF
called through texorpdf as PDF (second) part
@ NO
not called through texorpdf
QCString latexFilterURL(const QCString &s)
void filterLatexString(TextStream &t, const QCString &str, bool insideTabbing, bool insidePre, bool insideItem, bool insideTable, bool keepSpaces, const bool retainNewline)
void latexWriteIndexItem(TextStream &m_t, const QCString &s1, const QCString &s2)
void writeMscGraphFromFile(const QCString &inFile, const QCString &outDir, const QCString &outFile, MscOutputFormat format, const QCString &srcFile, int srcLine)
bool search(std::string_view str, Match &match, const Ex &re, size_t pos)
Search in a given string str starting at position pos for a match against regular expression re.
Portable versions of functions that are platform dependent.
Options to configure the code parser.
CodeParserOptions & setStartLine(int lineNr)
CodeParserOptions & setInlineFragment(bool enable)
CodeParserOptions & setShowLineNumbers(bool enable)
CodeParserOptions & setFileDef(const FileDef *fd)
QCString writeFileContents(const QCString &baseName, const QCString &extension, const QCString &content, bool &exists)
Thread-safe function to write a string to a file.
SrcLangExt getLanguageFromFileName(const QCString &fileName, SrcLangExt defLang)
QCString integerToRoman(int n, bool upper)
QCString stripPath(const QCString &s)
bool readInputFile(const QCString &fileName, std::string &contents, bool filter, bool isSourceCode)
read a file name fileName and optionally filter and transcode it
SrcLangExt getLanguageFromCodeLang(QCString &fileName)
Routine to handle the language attribute of the \code command.
QCString makeBaseName(const QCString &name, const QCString &ext)
bool copyFile(const QCString &src, const QCString &dest)
Copies the contents of file with name src to the newly created file with name dest.
QCString getFileNameExtension(const QCString &fn)
A bunch of utility functions.