44 : m_relPath(relPath), m_sourceFileName(sourceFileName), m_col(0)
78 int spacesToNextTabStop;
80 const int maxLineLen = 108;
89 case '\t': spacesToNextTabStop =
90 tabSize - (
m_col%tabSize);
92 m_col+=spacesToNextTabStop;
95 case '\n':
m_t <<
'\n';
m_col=0; p++;
102 #define COPYCHAR() do { \ 103 result[i++]=c; p++; \ 108 if (((uchar)c&0xE0)==0xE0) \ 113 if (((uchar)c&0xF0)==0xF0) \ 125 if (
m_col>=maxLineLen)
132 while (
m_col<maxLineLen && (c=*p) &&
133 c!=0x0c && c!=
'\t' && c!=
'\n' && c!=
' ' 138 if (
m_col>=maxLineLen)
161 const char *anchor,
const char *
name,
172 if (!ref && usePDFLatex && pdfHyperlinks)
174 m_t <<
"\\hyperlink{";
176 if (f && anchor)
m_t <<
"_";
177 if (anchor)
m_t << anchor;
201 lineAnchor.
sprintf(
"_l%05d",l);
204 if (usePDFLatex && pdfHyperlinks)
206 m_t <<
"\\hypertarget{" <<
stripPath(lineAnchor) <<
"}{}";
235 m_t <<
"\\textcolor{" << name <<
"}{";
270 err(
"Could not open file %s for writing\n",fileName.
data());
280 t <<
"all: refman.dvi" <<
endl 282 <<
"ps: refman.ps" <<
endl 284 <<
"pdf: refman.pdf" <<
endl 286 <<
"ps_2on1: refman_2on1.ps" <<
endl 288 <<
"pdf_2on1: refman_2on1.pdf" <<
endl 290 <<
"refman.ps: refman.dvi" <<
endl 291 <<
"\tdvips -o refman.ps refman.dvi" <<
endl 293 t <<
"refman.pdf: refman.ps" <<
endl;
294 t <<
"\tps2pdf refman.ps refman.pdf" << endl <<
endl;
295 t <<
"refman.dvi: clean refman.tex doxygen.sty" << endl
296 <<
"\techo \"Running latex...\"" << endl
297 <<
"\t" << latex_command <<
" refman.tex" << endl
298 <<
"\techo \"Running makeindex...\"" << endl
299 <<
"\t" << mkidx_command <<
" refman.idx" <<
endl;
302 t <<
"\techo \"Running bibtex...\"" <<
endl;
303 t <<
"\tbibtex refman" <<
endl;
304 t <<
"\techo \"Rerunning latex....\"" <<
endl;
305 t <<
"\t" << latex_command <<
" refman.tex" <<
endl;
307 t <<
"\techo \"Rerunning latex....\"" << endl
308 <<
"\t" << latex_command <<
" refman.tex" << endl
309 <<
"\tlatex_count=8 ; \\" << endl
310 <<
"\twhile egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\\" << endl
311 <<
"\t do \\" << endl
312 <<
"\t echo \"Rerunning latex....\" ;\\" << endl
313 <<
"\t " << latex_command <<
" refman.tex ;\\" << endl
314 <<
"\t latex_count=`expr $$latex_count - 1` ;\\" << endl
316 <<
"\t" << mkidx_command <<
" refman.idx" << endl
317 <<
"\t" << latex_command <<
" refman.tex" << endl << endl
318 <<
"refman_2on1.ps: refman.ps" << endl
319 <<
"\tpsnup -2 refman.ps >refman_2on1.ps" << endl
321 <<
"refman_2on1.pdf: refman_2on1.ps" << endl
322 <<
"\tps2pdf refman_2on1.ps refman_2on1.pdf" <<
endl;
326 t <<
"all: refman.pdf" <<
endl <<
endl 327 <<
"pdf: refman.pdf" <<
endl <<
endl;
328 t <<
"refman.pdf: clean refman.tex" <<
endl;
329 t <<
"\tpdflatex refman" <<
endl;
330 t <<
"\t" << mkidx_command <<
" refman.idx" <<
endl;
333 t <<
"\tbibtex refman" <<
endl;
334 t <<
"\tpdflatex refman" <<
endl;
336 t <<
"\tpdflatex refman" << endl
337 <<
"\tlatex_count=8 ; \\" << endl
338 <<
"\twhile egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\\" << endl
339 <<
"\t do \\" << endl
340 <<
"\t echo \"Rerunning latex....\" ;\\" << endl
341 <<
"\t pdflatex refman ;\\" << endl
342 <<
"\t latex_count=`expr $$latex_count - 1` ;\\" << endl
344 <<
"\t" << mkidx_command <<
" refman.idx" << endl
345 <<
"\tpdflatex refman" << endl <<
endl;
351 <<
"*.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf" <<
endl;
356 #if defined(_MSC_VER) 365 err(
"Could not open file %s for writing\n",fileName.
data());
369 t <<
"set Dir_Old=%cd%\n";
370 t <<
"cd /D %~dp0\n\n";
371 t <<
"del /s /f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf\n\n";
374 t << latex_command <<
" refman.tex\n";
376 t << mkidx_command <<
" refman.idx\n";
379 t <<
"bibtex refman\n";
381 t << latex_command <<
" refman.tex\n";
383 t <<
"setlocal enabledelayedexpansion\n";
384 t <<
"set count=8\n";
386 t <<
"set content=X\n";
387 t <<
"for /F \"tokens=*\" %%T in ( 'findstr /C:\"Rerun LaTeX\" refman.log' ) do set content=\"%%~T\"\n";
388 t <<
"if !content! == X for /F \"tokens=*\" %%T in ( 'findstr /C:\"Rerun to get cross-references right\" refman.log' ) do set content=\"%%~T\"\n";
389 t <<
"if !content! == X goto :skip\n";
390 t <<
"set /a count-=1\n";
391 t <<
"if !count! EQU 0 goto :skip\n\n";
393 t << latex_command <<
" refman.tex\n";
394 t <<
"goto :repeat\n";
397 t << mkidx_command <<
" refman.idx\n";
398 t << latex_command <<
" refman.tex\n";
399 t <<
"dvips -o refman.ps refman.dvi\n";
400 t <<
"gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite " 401 "-sOutputFile=refman.pdf -c save pop -f refman.ps\n";
405 t <<
"pdflatex refman\n";
407 t << mkidx_command <<
" refman.idx\n";
410 t <<
"bibtex refman" <<
endl;
411 t <<
"pdflatex refman" <<
endl;
414 t <<
"pdflatex refman\n\n";
415 t <<
"setlocal enabledelayedexpansion\n";
416 t <<
"set count=8\n";
418 t <<
"set content=X\n";
419 t <<
"for /F \"tokens=*\" %%T in ( 'findstr /C:\"Rerun LaTeX\" refman.log' ) do set content=\"%%~T\"\n";
420 t <<
"if !content! == X for /F \"tokens=*\" %%T in ( 'findstr /C:\"Rerun to get cross-references right\" refman.log' ) do set content=\"%%~T\"\n";
421 t <<
"if !content! == X goto :skip\n";
422 t <<
"set /a count-=1\n";
423 t <<
"if !count! EQU 0 goto :skip\n\n";
425 t <<
"pdflatex refman\n";
426 t <<
"goto :repeat\n";
429 t << mkidx_command <<
" refman.idx\n";
430 t <<
"pdflatex refman\n";
431 t <<
"cd /D %Dir_Old%\n";
432 t <<
"set Dir_Old=\n";
444 err(
"Could not create output directory %s\n",dir.
data());
460 t <<
"\\batchmode\n";
465 documentClass =
"article";
467 documentClass =
"book";
468 t <<
"\\documentclass[twoside]{" << documentClass <<
"}\n" 472 t <<
"% Packages required by doxygen\n" 473 "\\usepackage{fixltx2e}\n" 474 "\\usepackage{calc}\n" 475 "\\usepackage{doxygen}\n" 476 "\\usepackage[export]{adjustbox} % also loads graphicx\n";
478 for (
uint i=0; i<extraLatexStyle.
count(); ++i)
498 t <<
"\\usepackage{graphicx}\n" 499 "\\usepackage[utf8]{inputenc}\n" 500 "\\usepackage{makeidx}\n" 501 "\\usepackage{multicol}\n" 502 "\\usepackage{multirow}\n" 503 "\\PassOptionsToPackage{warn}{textcomp}\n" 504 "\\usepackage{textcomp}\n" 505 "\\usepackage[nointegrals]{wasysym}\n" 506 "\\usepackage[table]{xcolor}\n" 511 if (!languageSupport.
isEmpty())
513 t <<
"% NLS support packages\n" 519 t <<
"% Font selection\n" 520 "\\usepackage[T1]{fontenc}\n" 521 "\\usepackage[scaled=.90]{helvet}\n" 522 "\\usepackage{courier}\n" 523 "\\usepackage{amssymb}\n" 524 "\\usepackage{sectsty}\n" 525 "\\renewcommand{\\familydefault}{\\sfdefault}\n" 526 "\\allsectionsfont{%\n" 527 " \\fontseries{bc}\\selectfont%\n" 528 " \\color{darkgray}%\n" 530 "\\renewcommand{\\DoxyLabelFont}{%\n" 531 " \\fontseries{bc}\\selectfont%\n" 532 " \\color{darkgray}%\n" 534 "\\newcommand{\\+}{\\discretionary{\\mbox{\\scriptsize$\\hookleftarrow$}}{}{}}\n" 540 t <<
"% Page & text layout\n" 541 "\\usepackage{geometry}\n" 543 " " << paperName <<
"paper,%\n" 551 t <<
"\\tolerance=750\n" 554 "\\setlength{\\emergencystretch}{15pt}\n" 555 "\\setlength{\\parindent}{0cm}\n" 556 "\\setlength{\\parskip}{3ex plus 2ex minus 2ex}\n";
558 t <<
"\\makeatletter\n" 559 "\\renewcommand{\\paragraph}{%\n" 560 " \\@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%\n" 561 " \\normalfont\\normalsize\\bfseries\\SS@parafont%\n" 564 "\\renewcommand{\\subparagraph}{%\n" 565 " \\@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%\n" 566 " \\normalfont\\normalsize\\bfseries\\SS@subparafont%\n" 586 t <<
"% Headers & footers\n" 587 "\\usepackage{fancyhdr}\n" 588 "\\pagestyle{fancyplain}\n" 589 "\\fancyhead[LE]{\\fancyplain{}{\\bfseries\\thepage}}\n" 590 "\\fancyhead[CE]{\\fancyplain{}{}}\n" 591 "\\fancyhead[RE]{\\fancyplain{}{\\bfseries\\leftmark}}\n" 592 "\\fancyhead[LO]{\\fancyplain{}{\\bfseries\\rightmark}}\n" 593 "\\fancyhead[CO]{\\fancyplain{}{}}\n" 594 "\\fancyhead[RO]{\\fancyplain{}{\\bfseries\\thepage}}\n" 595 "\\fancyfoot[LE]{\\fancyplain{}{}}\n" 596 "\\fancyfoot[CE]{\\fancyplain{}{}}\n" 597 "\\fancyfoot[RE]{\\fancyplain{}{\\bfseries\\scriptsize " << genString <<
" Doxygen }}\n" 598 "\\fancyfoot[LO]{\\fancyplain{}{\\bfseries\\scriptsize " << genString <<
" Doxygen }}\n" 599 "\\fancyfoot[CO]{\\fancyplain{}{}}\n" 600 "\\fancyfoot[RO]{\\fancyplain{}{}}\n" 601 "\\renewcommand{\\footrulewidth}{0.4pt}\n";
604 t <<
"\\renewcommand{\\chaptermark}[1]{%\n" 605 " \\markboth{#1}{}%\n" 608 t <<
"\\renewcommand{\\sectionmark}[1]{%\n" 609 " \\markright{\\thesection\\ #1}%\n" 614 t <<
"% Indices & bibliography\n" 615 "\\usepackage{natbib}\n" 616 "\\usepackage[titles]{tocloft}\n" 617 "\\setcounter{tocdepth}{3}\n" 618 "\\setcounter{secnumdepth}{5}\n" 624 if (!extraPackages.
isEmpty()) {
625 t <<
"% Packages requested by user\n";
626 const char *pkgName=extraPackages.
first();
629 if ((pkgName[0] ==
'[') || (pkgName[0] ==
'{'))
630 t <<
"\\usepackage" << pkgName <<
"\n";
632 t <<
"\\usepackage{" << pkgName <<
"}\n";
633 pkgName=extraPackages.
next();
642 t <<
"% Hyperlinks (required, but should be loaded last)\n" 643 "\\usepackage{ifpdf}\n" 645 " \\usepackage[pdftex,pagebackref=true]{hyperref}\n" 647 " \\usepackage[ps2pdf,pagebackref=true]{hyperref}\n" 650 " colorlinks=true,%\n" 651 " linkcolor=blue,%\n" 652 " citecolor=blue,%\n" 659 t <<
"% Custom commands\n" 660 "\\newcommand{\\clearemptydoublepage}{%\n" 661 " \\newpage{\\pagestyle{empty}\\cleardoublepage}%\n" 666 t <<
"\\usepackage{caption}\n" 667 <<
"\\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}\n\n";
670 t <<
"%===== C O N T E N T S =====\n" 672 "\\begin{document}\n";
674 t <<
"\\selectlanguage{greek}\n";
678 t <<
"% Titlepage & ToC\n";
680 if (pdfHyperlinks && usePDFLatex)
684 t <<
"\\hypersetup{pageanchor=false,\n" 686 <<
" bookmarksnumbered=true,\n" 687 <<
" pdfencoding=unicode\n" 690 t <<
"\\pagenumbering{roman}\n" 691 "\\begin{titlepage}\n" 712 t <<
"\\vspace*{0.5cm}\n" 714 t <<
"\\end{center}\n" 715 "\\end{titlepage}\n";
718 t <<
"\\clearemptydoublepage\n";
721 t <<
"\\tableofcontents\n";
723 t <<
"\\clearemptydoublepage\n";
724 t <<
"\\pagenumbering{arabic}\n";
727 if (pdfHyperlinks && usePDFLatex)
730 t <<
"\\hypersetup{pageanchor=true}\n";
733 "%--- Begin generated contents ---\n";
743 t <<
"%--- End generated contents ---\n" 759 t <<
"\\backmatter\n";
763 "\\clearemptydoublepage\n" 775 t <<
"Your title here";
802 if (fileName.
right(4)!=
".tex" && fileName.
right(4)!=
".sty") fileName+=
".tex";
822 t <<
"\\\\[1ex]\\large ";
854 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
862 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
866 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
870 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
874 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
878 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
882 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
886 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
894 for (gli.toFirst();(gd=gli.current()) && !found;++gli)
898 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
910 for (dli.toFirst();(dd=dli.current()) && !found;++dli)
914 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
926 for (nli.toFirst();(nd=nli.current()) && !found;++nli)
930 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
942 for (cli.toFirst();(cd=cli.current()) && !found;++
cli)
949 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
965 for (;(fd=fni.
current());++fni)
971 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
983 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
989 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
1020 t <<
"}\n\\label{index}";
1022 t <<
"\\input{" << indexName <<
"}\n";
1026 t <<
"}\n\\input{modules}\n";
1029 t <<
"}\n\\input{dirs}\n";
1032 t <<
"}\n\\input{namespaces}\n";
1035 t <<
"}\n\\input{hierarchy}\n";
1038 t <<
"}\n\\input{annotated}\n";
1041 t <<
"}\n\\input{files}\n";
1044 t <<
"}\n\\input{pages}\n";
1051 for (gli.toFirst();(gd=gli.current()) && !found;++gli)
1059 for (;(gd=gli.current());++gli)
1075 for (dli.toFirst();(dd=dli.current()) && !found;++dli)
1083 for (;(dd=dli.current());++dli)
1099 for (nli.toFirst();(nd=nli.current()) && !found;++nli)
1107 while ((nd=nli.current()))
1124 for (cli.toFirst();(cd=cli.current()) && !found;++
cli)
1135 for (;(cd=cli.current());++
cli)
1158 for (;(fd=fni.
current());++fni)
1197 for (++pdi;(pd=pdi.current());++pdi)
1212 for (pdi.toFirst();(pd=pdi.current());++pdi)
1216 if (compactLatex)
t <<
"\\section";
else t <<
"\\chapter";
1220 if (compactLatex || first)
t <<
"\\input" ;
else t <<
"\\include";
1253 t <<
"{" << name <<
"}\n";
1292 t <<
"\\contentsline{section}{";
1342 const char *path,
const char *
name)
1344 t <<
"\\item\\contentsline{section}{\\bf ";
1352 t <<
"}{\\pageref{" << name <<
"}}{}" <<
endl;
1357 t <<
"\\item\\contentsline{section}{";
1367 if (hasBrief)
t <<
"\\\\*";
1373 t <<
"}{\\pageref{" << name <<
"}}{}" <<
endl;
1388 t <<
"\\hyperlink{";
1390 if (anchor)
t <<
"_" << anchor;
1405 const char *anchor,
const char *text)
1410 t <<
"\\hyperlink{";
1412 if (f && anchor)
t <<
"_";
1413 if (anchor)
t << anchor;
1428 t <<
" \\doxyref{}{";
1434 if (clname)
t << clname;
1435 if (anchor)
t <<
"_" << anchor;
1444 if (usePDFLatex && pdfHyperlinks && fileName)
1446 t <<
"\\hypertarget{" <<
stripPath(fileName) <<
"}{}";
1450 t <<
"\\subsection{";
1463 t <<
"\\label{" <<
stripPath(fileName) <<
"}\\index{";
1475 t <<
"\\subsection{";
1490 if (extraIndentLevel==3)
1492 t <<
"\\subparagraph*{";
1494 else if (extraIndentLevel==2)
1496 t <<
"\\paragraph{";
1498 else if (extraIndentLevel==1)
1500 t <<
"\\subsubsection{";
1504 t <<
"\\subsection{";
1519 t <<
"\\subsubsection*{";
1523 t <<
"\\subsection*{";
1535 const char *memname,
1540 if (memname && memname[0]!=
'@')
1570 static const char *levelLab[] = {
"subsubsection",
"paragraph",
"subparagraph",
"subparagraph" };
1574 if (showInline) level+=2;
1575 if (compactLatex) level++;
1576 t <<
"\\" << levelLab[
level];
1581 t <<
"\\texorpdfstring{";
1589 t <<
"{\\setlength{\\rightskip}{0pt plus 5cm}";
1601 const char *anchor,
const char *,
1610 if (usePDFLatex && pdfHyperlinks)
1612 t <<
"\\hypertarget{";
1614 if (anchor)
t <<
"_" << anchor;
1619 if (anchor)
t <<
"_" << anchor;
1629 if (usePDFLatex && pdfHyperlinks)
1674 if (usePDFLatex && pdfHyperlinks)
1676 t <<
"\\hypertarget{" <<
stripPath(lab) <<
"}{}";
1688 default:
ASSERT(0);
break;
1701 default:
ASSERT(0);
break;
1709 t <<
"}\\label{" << lab <<
"}" <<
endl;
1743 t <<
"\\begin{tabbing}" <<
endl;
1744 t <<
"xx\\=xx\\=xx\\=xx\\=xx\\=xx\\=xx\\=xx\\=xx\\=\\kill" <<
endl;
1754 t <<
endl <<
"\\end{tabbing}";
1764 t <<
"{\\footnotesize ";
1781 t <<
"\\item " <<
endl;
1800 t <<
"\\begin{DoxyCompactList}\\small\\item\\em ";
1804 for (
int i=0;i<
m_indent+2;i++)
t <<
"\\>";
1814 t <<
"\\end{DoxyCompactList}";
1840 t <<
"\\begin{DoxyCompactItemize}" <<
endl;
1849 t <<
"\\end{DoxyCompactItemize}" <<
endl;
1856 if (hasHeader)
t <<
"\\begin{Indent}";
1872 t <<
"}\\par" <<
endl;
1892 if (hasHeader)
t <<
"\\end{Indent}";
1944 t <<
"\\begin{description}" <<
endl;
1949 t <<
"\\end{description}" <<
endl;
1973 const char *anchor,
const char *
title)
1975 t <<
"\\begin{Desc}\n\\item[";
1989 t <<
"\\end{Desc}" <<
endl;
1994 t <<
"\\begin{Desc}\n\\item[";
2001 t <<
"\\end{Desc}" <<
endl;
2007 if (openBracket)
t <<
"(";
2008 t <<
endl <<
"\\begin{DoxyParamCaption}" <<
endl;
2018 if (!first && key)
t <<
key;
2037 t <<
"\\end{DoxyParamCaption}" <<
endl;
2038 if (closeBracket)
t <<
")";
2046 else if (closeBracket)
2061 t <<
"\\begin{Desc}\n\\item[";
2064 t <<
"\\begin{description}" <<
endl;
2069 t <<
"\\item[{\\em ";
2096 t <<
"\\end{description}" <<
endl;
2097 t <<
"\\end{Desc}" <<
endl;
2102 t <<
"\n\\begin{DoxyCode}\n";
2107 t <<
"\\end{DoxyCode}\n";
2114 t <<
"\\paragraph*{";
2118 t <<
"\\subsubsection*{";
2141 t <<
"\\begin{DoxyFields}{";
2148 t <<
"\\end{DoxyFields}" <<
endl;
2175 t <<
"\\\\\n\\hline\n" <<
endl;
2180 t <<
"\\hspace{0.3cm}";
2185 t <<
"{\\ttfamily [" << l <<
"]}";
2186 if (!isLast)
t <<
", ";
Traverses directory structures and contents in a platform-independent way.
void startMemberTemplateParams()
void startSection(const char *, const char *, SectionInfo::SectionType)
static CiteDict * citeDict
static GroupSDict * groupSDict
void startProjectNumber()
void startTitleHead(const char *)
void startInlineMemberDoc()
QCString fileToString(const char *name, bool filter, bool isSourceCode)
QCString substituteKeywords(const QCString &s, const char *title, const char *projName, const char *projNum, const char *projBrief)
QCString getAsString(const char *name) const
bool isLinkableInProject() const
void endGroupCollaboration(const DotGroupCollaboration &g)
void endDoxyAnchor(const char *, const char *)
void endClassDiagram(const ClassDiagram &, const char *, const char *)
void startParameterType(bool, const char *)
static void writeStyleSheetFile(QFile &f)
virtual QCString latexLanguageSupportCommand()=0
void addIndexItem(const char *, const char *)
void writeFigure(FTextStream &t, const char *path, const char *file) const
void startConstraintType()
static constexpr double g
static PageSDict * exampleSDict
void endInlineMemberType()
static void writeDefaultHeaderPart3(FTextStream &t)
void endMemberGroup(bool)
static void writeMakeBat()
void setSourceFileName(const QCString &sourceFileName)
bool generateSourceFile() const
QCString getOutputFileBase() const
void startFontClass(const char *)
void lineBreak(const char *style=0)
void writeCodeLink(const char *ref, const char *file, const char *anchor, const char *name, const char *tooltip)
void startInlineMemberName()
void startMemberDocSimple()
void setTextStream(FTextStream &t)
void setDevice(QIODevice *)
static void writeDefaultHeaderPart2(FTextStream &t)
void startParamList(ParamListTypes, const char *title)
void endIndexValue(const char *, bool)
static FileNameList * inputNameList
QCString writeGraph(FTextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const char *path, const char *fileName, const char *relPath, bool writeImageMap=TRUE, int graphId=-1) const
static ResourceMgr & instance()
void endTitleHead(const char *, const char *name)
void writePageLink(const char *, bool)
QCString latexEscapeIndexChars(const char *s, bool insideTabbing)
static QCString stripPath(const QCString &s)
void startMemberHeader(const char *)
void startConstraintDocs()
#define Config_getList(val)
QCString left(uint len) const
void startMemberDescription(const char *, const char *)
virtual bool isReference() const
QCString m_sourceFileName
QCString convertToLaTeX(const QCString &s, bool insideTabbing, bool keepSpaces)
QCString relativePathToRoot(const char *name)
Simplified and optimized version of QTextStream.
void writeLineNumber(const char *, const char *, const char *, int)
void writeDoc(DocNode *, Definition *ctx, MemberDef *)
void setRelativePath(const QCString &path)
void startMemberGroupHeader(bool)
void endMemberDocSimple()
Concrete visitor implementation for LaTeX output.
void startIndexValue(bool)
QCString getDefFileExtension() const
void endIndexItem(const char *ref, const char *file)
#define Config_getEnum(val)
#define Config_getInt(val)
static NamespaceSDict * namespaceSDict
QCString writeGraph(FTextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const char *path, const char *fileName, const char *relPath, bool TBRank=TRUE, bool imageMap=TRUE, int graphId=-1) const
ClassDef * templateMaster() const
static void writeHeaderFile(QFile &f)
void writeNonBreakableSpace(int)
const char * data() const
void startMemberDoc(const char *, const char *, const char *, const char *, bool)
virtual bool mkdir(const QString &dirName, bool acceptAbsPath=TRUE) const
static void writeDefaultStyleSheet(FTextStream &t)
Q_EXPORT uint qstrlen(const char *str)
void startPlainFile(const char *name)
virtual QCString trGeneratedBy()=0
void startGroupHeader(int)
QCString stripExtensionGeneral(const char *fName, const char *ext)
bool isLinkableInProject() const
void endDotGraph(const DotClassGraph &)
void writeString(const char *text)
QCString getSourceFileBase() const
QCString right(uint len) const
void endIndexSection(IndexSections)
void endMemberGroupHeader()
void endDirDepGraph(const DotDirDeps &g)
void startConstraintParam()
static DirSDict * directories
void codify(const char *text)
void writeLabel(const char *l, bool isLast)
QCString & prepend(const char *s)
void startIndexSection(IndexSections)
LatexCodeGenerator m_codeGen
QCString latexEscapeLabelName(const char *s, bool insideTabbing)
void writeEndAnnoItem(const char *name)
A bunch of utility functions.
static PageSDict * pageSDict
static void writeFooterFile(QFile &f)
void startDoxyAnchor(const char *, const char *, const char *, const char *, const char *)
const char * data() const
void endPageRef(const char *, const char *)
bool isEmbeddedInOuterScope() const
void endMemberTemplateParams(const char *, const char *)
void startInlineMemberType()
void startParameterName(bool)
QCString dateToString(bool includeTime)
#define Config_getString(val)
void endMemberDescription()
#define Config_getBool(val)
QCString latexEscapePDFString(const char *s)
QIODevice * device() const
void startParameterList(bool)
bool isLinkableInProject() const
void err(const char *fmt,...)
void filterLatexString(FTextStream &t, const char *str, bool insideTabbing, bool insidePre, bool insideItem, bool keepSpaces)
void startMemberItem(const char *, int, const char *)
void writeStyleInfo(int part)
QCString getOutputFileBase() const
The QFile class is an I/O device that operates on files.
QCString & sprintf(const char *format,...)
void writeLatexBibliography(FTextStream &t)
void endInlineMemberDoc()
QCString getOutputFileBase() const
virtual QCString trGeneratedAt(const char *date, const char *projName)=0
static void writeDefaultHeaderPart1(FTextStream &t)
QCString getOutputFileBase() const
QCString writeGraph(FTextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const char *path, const char *fileName, const char *relPath, bool writeImageMap=TRUE, int graphId=-1) const
void docify(const char *text)
void startSimpleSect(SectionTypes, const char *, const char *, const char *)
void endParameterName(bool, bool, bool)
static void writeDefaultFooter(FTextStream &t)
void startHtmlLink(const char *url)
A model of a page symbol.
virtual QCString idLanguage()=0
void startIndexItem(const char *ref, const char *file)
void writeObjectLink(const char *ref, const char *file, const char *anchor, const char *name)
void startMemberGroupDocs()
static const char * latexStyleExtension
Translator * theTranslator
QCString writeGraph(FTextStream &out, GraphOutputFormat gf, EmbeddedOutputFormat ef, const char *path, const char *fileName, const char *relPath, bool writeImageMap=TRUE, int graphId=-1, bool linkRelations=TRUE) const
bool checkExtension(const char *fName, const char *ext)
virtual QCString trCompoundMembers()=0
void createSubDirs(QDir &d)
void endCallGraph(const DotCallGraph &)
void startConstraintList(const char *)
void startTextLink(const char *, const char *)
void endInclDepGraph(const DotInclDepGraph &)
QCString writeGraph(FTextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const char *path, const char *fileName, const char *relPath, bool writeImageMap=TRUE, int graphId=-1) const
void startFile(const char *name, const char *manName, const char *title)
bool isLinkableInProject() const
The QFileInfo class provides system-independent file information.
QCString getOutputFileBase() const
void endConstraintParam()
static void writeLatexMakefile()
static ClassSDict * classSDict
void writeAnchor(const char *fileName, const char *name)
QCString getOutputFileBase() const
virtual void accept(DocVisitor *v)=0
virtual bool exists() const
virtual QCString trRTFGeneralIndex()=0
void endInlineMemberName()
void endAnonTypeScope(int)
QTextStream & endl(QTextStream &s)
void startGroupCollaboration()
GroupDef * getGroupDef() const
void startAnonTypeScope(int)
void endSection(const char *, SectionInfo::SectionType)
void endMemberGroupDocs()
void writeStartAnnoItem(const char *type, const char *file, const char *path, const char *name)
void exceptionEntry(const char *, bool)