浏览该文件的文档.
53 : m_t(t), m_relPath(relPath), m_sourceFileName(sourceFileName)
75 const signed char *p=(
const signed char*)str.
data();
78 int spacesToNextTabStop;
93 case '^':
m_t <<
"\\string^";
97 case '\t': spacesToNextTabStop =
98 tabSize - (
m_col%tabSize);
99 for (i = 0; i < spacesToNextTabStop; i++)
m_t <<
" ";
100 m_col+=spacesToNextTabStop;
103 case '\n':
m_t <<
'\n';
112 #define COPYCHAR() do { \
113 int bytes = getUTF8CharNumBytes(c); \
114 if (lresult < (i + bytes + 1)) \
117 result = (signed char *)realloc(result, lresult); \
119 for (int j=0; j<bytes && *p; j++) \
129 c!=0x0c && c!=
'\t' && c!=
'\n' && c!=
' ' && c!=
'^'
157 if (ref.
isEmpty() && usePDFLatex && pdfHyperlinks)
159 m_t <<
"\\mbox{\\hyperlink{";
180 m_t <<
"\\DoxyCodeLine{";
191 lineAnchor.
sprintf(
"_l%05d",l);
194 bool showTarget = usePDFLatex && pdfHyperlinks && !lineAnchor.
isEmpty() && writeLineAnchor;
197 m_t <<
"\\Hypertarget{" <<
stripPath(lineAnchor) <<
"}";
222 m_t <<
"\\DoxyCodeLine{";
239 m_t <<
"\\textcolor{" << name <<
"}{";
257 m_t <<
"\\end{" << style <<
"}\n";
280 return std::make_unique<LatexGenerator>(*
this);
291 std::ofstream f(fileName.
str(),std::ofstream::out | std::ofstream::binary);
294 term(
"Could not open file %s for writing\n",
qPrint(fileName));
303 t <<
"LATEX_CMD=" << latex_command <<
"\n"
305 <<
"all: refman.dvi\n"
309 <<
"pdf: refman.pdf\n"
311 <<
"ps_2on1: refman_2on1.ps\n"
313 <<
"pdf_2on1: refman_2on1.pdf\n"
315 <<
"refman.ps: refman.dvi\n"
316 <<
"\tdvips -o refman.ps refman.dvi\n"
318 t <<
"refman.pdf: refman.ps\n";
319 t <<
"\tps2pdf refman.ps refman.pdf\n\n";
320 t <<
"refman.dvi: clean refman.tex doxygen.sty\n"
321 <<
"\techo \"Running latex...\"\n"
322 <<
"\t$(LATEX_CMD) refman.tex\n"
323 <<
"\techo \"Running makeindex...\"\n"
324 <<
"\t" << mkidx_command <<
" refman.idx\n";
327 t <<
"\techo \"Running bibtex...\"\n";
328 t <<
"\tbibtex refman\n";
329 t <<
"\techo \"Rerunning latex....\"\n";
330 t <<
"\t$(LATEX_CMD) refman.tex\n";
332 t <<
"\techo \"Rerunning latex....\"\n"
333 <<
"\t$(LATEX_CMD) refman.tex\n"
334 <<
"\tlatex_count=8 ; \\\n"
335 <<
"\twhile egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\\\n"
337 <<
"\t echo \"Rerunning latex....\" ;\\\n"
338 <<
"\t $(LATEX_CMD) refman.tex ; \\\n"
339 <<
"\t latex_count=`expr $$latex_count - 1` ;\\\n"
341 <<
"\t" << mkidx_command <<
" refman.idx\n"
342 <<
"\t$(LATEX_CMD) refman.tex\n\n"
343 <<
"refman_2on1.ps: refman.ps\n"
344 <<
"\tpsnup -2 refman.ps >refman_2on1.ps\n"
346 <<
"refman_2on1.pdf: refman_2on1.ps\n"
347 <<
"\tps2pdf refman_2on1.ps refman_2on1.pdf\n";
351 t <<
"LATEX_CMD=" << latex_command <<
"\n"
353 t <<
"all: refman.pdf\n\n"
354 <<
"pdf: refman.pdf\n\n";
355 t <<
"refman.pdf: clean refman.tex\n";
356 t <<
"\t$(LATEX_CMD) refman\n";
357 t <<
"\t" << mkidx_command <<
" refman.idx\n";
360 t <<
"\tbibtex refman\n";
361 t <<
"\t$(LATEX_CMD) refman\n";
363 t <<
"\t$(LATEX_CMD) refman\n"
364 <<
"\tlatex_count=8 ; \\\n"
365 <<
"\twhile egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\\\n"
367 <<
"\t echo \"Rerunning latex....\" ;\\\n"
368 <<
"\t $(LATEX_CMD) refman ;\\\n"
369 <<
"\t latex_count=`expr $$latex_count - 1` ;\\\n"
371 <<
"\t" << mkidx_command <<
" refman.idx\n"
372 <<
"\t$(LATEX_CMD) refman\n\n";
378 <<
"*.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf\n";
383 #if defined(_MSC_VER)
389 std::ofstream t(fileName.
str(),std::ofstream::out | std::ofstream::binary);
392 term(
"Could not open file %s for writing\n",
qPrint(fileName));
394 t <<
"set Dir_Old=%cd%\r\n";
395 t <<
"cd /D %~dp0\r\n\r\n";
396 t <<
"del /s /f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf\r\n\r\n";
399 t <<
"set LATEX_CMD=" << latex_command <<
"\r\n";
400 t <<
"%LATEX_CMD% refman.tex\r\n";
401 t <<
"echo ----\r\n";
402 t << mkidx_command <<
" refman.idx\r\n";
405 t <<
"bibtex refman\r\n";
406 t <<
"echo ----\r\n";
407 t <<
"\t%LATEX_CMD% refman.tex\r\n";
409 t <<
"setlocal enabledelayedexpansion\r\n";
410 t <<
"set count=8\r\n";
412 t <<
"set content=X\r\n";
413 t <<
"for /F \"tokens=*\" %%T in ( 'findstr /C:\"Rerun LaTeX\" refman.log' ) do set content=\"%%~T\"\r\n";
414 t <<
"if !content! == X for /F \"tokens=*\" %%T in ( 'findstr /C:\"Rerun to get cross-references right\" refman.log' ) do set content=\"%%~T\"\r\n";
415 t <<
"if !content! == X goto :skip\r\n";
416 t <<
"set /a count-=1\r\n";
417 t <<
"if !count! EQU 0 goto :skip\r\n\r\n";
418 t <<
"echo ----\r\n";
419 t <<
"%LATEX_CMD% refman.tex\r\n";
420 t <<
"goto :repeat\r\n";
423 t << mkidx_command <<
" refman.idx\r\n";
424 t <<
"%LATEX_CMD% refman.tex\r\n";
425 t <<
"dvips -o refman.ps refman.dvi\r\n";
427 t <<
" -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite "
428 "-sOutputFile=refman.pdf -c save pop -f refman.ps\r\n";
432 t <<
"set LATEX_CMD=" << latex_command <<
"\r\n";
433 t <<
"%LATEX_CMD% refman\r\n";
434 t <<
"echo ----\r\n";
435 t << mkidx_command <<
" refman.idx\r\n";
438 t <<
"bibtex refman\r\n";
439 t <<
"%LATEX_CMD% refman\r\n";
441 t <<
"echo ----\r\n";
442 t <<
"%LATEX_CMD% refman\r\n\r\n";
443 t <<
"setlocal enabledelayedexpansion\r\n";
444 t <<
"set count=8\r\n";
446 t <<
"set content=X\r\n";
447 t <<
"for /F \"tokens=*\" %%T in ( 'findstr /C:\"Rerun LaTeX\" refman.log' ) do set content=\"%%~T\"\r\n";
448 t <<
"if !content! == X for /F \"tokens=*\" %%T in ( 'findstr /C:\"Rerun to get cross-references right\" refman.log' ) do set content=\"%%~T\"\r\n";
449 t <<
"if !content! == X goto :skip\r\n";
450 t <<
"set /a count-=1\r\n";
451 t <<
"if !count! EQU 0 goto :skip\r\n\r\n";
452 t <<
"echo ----\r\n";
453 t <<
"%LATEX_CMD% refman\r\n";
454 t <<
"goto :repeat\r\n";
457 t << mkidx_command <<
" refman.idx\r\n";
458 t <<
"%LATEX_CMD% refman\r\n";
459 t <<
"cd /D %Dir_Old%\r\n";
460 t <<
"set Dir_Old=\r\n";
471 term(
"Could not create output directory %s\n",
qPrint(dname));
513 t <<
"% Latex header for doxygen " << getDoxygenVersion() <<
"\n";
519 t <<
"% Latex footer for doxygen " << getDoxygenVersion() <<
"\n";
525 t <<
"% stylesheet for doxygen " << getDoxygenVersion() <<
"\n";
555 m_t <<
"\\\\[1ex]\\large ";
562 for (
const auto &fileName : extraLatexStyles)
564 if (!fileName.empty())
569 result +=
"\\usepackage{";
590 if (!latex_mkidx_command.
isEmpty())
592 if (latex_mkidx_command[0] ==
'\\')
593 result += latex_mkidx_command;
595 result +=
"\\"+latex_mkidx_command;
599 result +=
"\\makeindex";
638 generatedBy = tg.
str();
643 if (latexEmojiDirectory.
isEmpty()) latexEmojiDirectory =
".";
644 latexEmojiDirectory =
substitute(latexEmojiDirectory,
"\\",
"/");
655 if (!formulaMacrofile.
isEmpty())
672 result =
substitute(result,
"$generatedby",generatedBy);
673 result =
substitute(result,
"$latexbibstyle",style);
676 result =
substitute(result,
"$papertype",paperType+
"paper");
679 result =
substitute(result,
"$latexfontenc",latexFontenc);
681 result =
substitute(result,
"$latexemojidirectory",latexEmojiDirectory);
683 result =
substitute(result,
"$extralatexpackages",extraLatexPackages);
684 result =
substitute(result,
"$latexspecialformulachars",latexSpecialFormulaChars);
685 result =
substitute(result,
"$formulamacrofile",formulaMacrofile);
713 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
721 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
725 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
729 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
733 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
737 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
741 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
745 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
749 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
756 if (!gd->isReference())
758 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
769 if (dd->isLinkableInProject())
771 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
782 if (nd->isLinkableInProject() && !nd->isAlias())
784 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
795 if (cd->isLinkableInProject() && !cd->isAlias())
797 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
808 if (cd->isLinkableInProject() &&
809 cd->templateMaster()==0 &&
810 !cd->isEmbeddedInOuterScope() &&
814 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
826 for (
const auto &fd : *fn)
828 if (fd->isLinkableInProject() || fd->generateSourceFile())
832 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
844 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
850 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
873 m_t <<
"}\n\\label{index}";
875 m_t <<
"\\input{" << indexName <<
"}\n";
879 m_t <<
"}\n\\input{modules}\n";
882 m_t <<
"}\n\\input{dirs}\n";
885 m_t <<
"}\n\\input{namespaces}\n";
888 m_t <<
"}\n\\input{concepts}\n";
891 m_t <<
"}\n\\input{hierarchy}\n";
894 m_t <<
"}\n\\input{annotated}\n";
897 m_t <<
"}\n\\input{files}\n";
900 m_t <<
"}\n\\input{pages}\n";
907 if (!gd->isReference())
914 m_t <<
"\\input{" << gd->getOutputFileBase() <<
"}\n";
924 if (dd->isLinkableInProject())
931 m_t <<
"\\input{" << dd->getOutputFileBase() <<
"}\n";
941 if (nd->isLinkableInProject() && !nd->isAlias())
948 m_t <<
"\\input{" << nd->getOutputFileBase() <<
"}\n";
958 if (cd->isLinkableInProject() && !cd->isAlias())
965 m_t <<
"\\input{" << cd->getOutputFileBase() <<
"}\n";
975 if (cd->isLinkableInProject() &&
976 cd->templateMaster()==0 &&
977 !cd->isEmbeddedInOuterScope() &&
986 m_t <<
"\\input{" << cd->getOutputFileBase() <<
"}\n";
996 for (
const auto &fd : *fn)
998 if (fd->isLinkableInProject())
1005 m_t <<
"\\input{" << fd->getOutputFileBase() <<
"}\n";
1007 if (fd->generateSourceFile())
1014 m_t <<
"\\input{" << fd->getSourceFileBase() <<
"}\n";
1025 m_t <<
"\\input{" << pd->getOutputFileBase() <<
"}\n";
1036 if (!pd->getGroupDef() && !pd->isReference())
1038 if (compactLatex)
m_t <<
"\\doxysection";
else m_t <<
"\\chapter";
1039 m_t <<
"{" << pd->title();
1042 if (compactLatex || first)
m_t <<
"\\input" ;
else m_t <<
"\\include";
1043 m_t <<
"{" << pd->getOutputFileBase() <<
"}\n";
1064 m_t <<
"{" << name <<
"}\n";
1089 m_t <<
"\n" <<
"\n";
1094 m_t <<
"\n" <<
"\n";
1099 m_t <<
"\n" <<
"\n";
1112 m_t <<
"\\contentsline{section}{";
1140 m_t <<
"{\\texttt{ ";
1164 m_t <<
"\\item\\contentsline{section}\\textbf{ ";
1177 m_t <<
"\\item\\contentsline{section}{";
1187 if (hasBrief)
m_t <<
"\\\\*";
1209 m_t <<
"\\mbox{\\hyperlink{";
1216 m_t <<
"\\textbf{ ";
1236 m_t <<
"\\mbox{\\hyperlink{";
1246 m_t <<
"\\textbf{ ";
1254 m_t <<
" \\doxyref{}{";
1276 m_t <<
"\\doxysubsection{";
1280 m_t <<
"\\doxysection{";
1301 m_t <<
"\\doxysubsection{";
1305 m_t <<
"\\doxysection{";
1316 if (extraIndentLevel==3)
1318 m_t <<
"\\doxysubparagraph*{";
1320 else if (extraIndentLevel==2)
1322 m_t <<
"\\doxyparagraph{";
1324 else if (extraIndentLevel==1)
1326 m_t <<
"\\doxysubsubsection{";
1330 m_t <<
"\\doxysubsection{";
1345 m_t <<
"\\doxysubsubsection*{";
1349 m_t <<
"\\doxysubsection*{";
1368 if (!memname.
isEmpty() && memname[0]!=
'@')
1398 static const char *levelLab[] = {
"doxysubsubsection",
"doxyparagraph",
"doxysubparagraph",
"doxysubparagraph" };
1402 if (showInline) level+=2;
1403 if (compactLatex) level++;
1404 m_t <<
"\\" << levelLab[level];
1409 m_t <<
"\\texorpdfstring{";
1418 m_t <<
"\\hspace{0.1cm}{\\footnotesize\\ttfamily [" << memCount <<
"/" << memTotal <<
"]}";
1421 m_t <<
"\n{\\footnotesize\\ttfamily ";
1439 if (usePDFLatex && pdfHyperlinks)
1441 m_t <<
"\\Hypertarget{";
1462 if (usePDFLatex && pdfHyperlinks)
1507 if (usePDFLatex && pdfHyperlinks)
1521 default:
ASSERT(0);
break;
1534 default:
ASSERT(0);
break;
1542 m_t <<
"}\\label{" << lab <<
"}\n";
1582 m_t <<
"\\begin{tabbing}\n";
1583 m_t <<
"xx\\=xx\\=xx\\=xx\\=xx\\=xx\\=xx\\=xx\\=xx\\=\\kill\n";
1593 m_t <<
"\n" <<
"\\end{tabbing}";
1603 m_t <<
"{\\footnotesize ";
1639 m_t <<
"\\begin{DoxyCompactList}\\small\\item\\em ";
1653 m_t <<
"\\end{DoxyCompactList}";
1692 m_t <<
"\\begin{DoxyEnumFields}{" << title <<
"}\n";
1698 m_t <<
"\\end{DoxyEnumFields}\n";
1705 m_t <<
"\\raisebox{\\heightof{T}}[0pt][0pt]{";
1728 m_t <<
"\\\\\n\\hline\n\n";
1740 m_t <<
"\\begin{DoxyCompactItemize}\n";
1749 m_t <<
"\\end{DoxyCompactItemize}\n";
1756 if (hasHeader)
m_t <<
"\\begin{Indent}";
1757 m_t <<
"\\textbf{ ";
1792 if (hasHeader)
m_t <<
"\\end{Indent}";
1844 m_t <<
"\\begin{description}\n";
1849 m_t <<
"\\end{description}\n";
1874 m_t <<
"\\begin{Desc}\n\\item[";
1881 m_t <<
"\\end{Desc}\n";
1886 m_t <<
"\\begin{Desc}\n\\item[";
1893 m_t <<
"\\end{Desc}\n";
1899 if (openBracket)
m_t <<
"(";
1900 m_t <<
"\\begin{DoxyParamCaption}";
1928 m_t <<
"\\end{DoxyParamCaption}";
1929 if (closeBracket)
m_t <<
")";
1937 m_t <<
" " << prefix <<
"(";
1939 else if (closeBracket)
1956 m_t <<
"\\begin{Desc}\n\\item[";
1959 m_t <<
"\\begin{description}\n";
1964 m_t <<
"\\item[{\\em ";
1973 m_t <<
"} : {\\em ";
1991 m_t <<
"\\end{description}\n";
1992 m_t <<
"\\end{Desc}\n";
1999 m_t <<
"\\doxyparagraph*{";
2003 m_t <<
"\\doxysubsubsection*{";
2020 m_t <<
"\\newline\n";
2029 m_t <<
"\\begin{DoxyEnumFields}{";
2034 m_t <<
"\\begin{DoxyFields}{";
2045 m_t <<
"\\end{DoxyEnumFields}\n";
2049 m_t <<
"\\end{DoxyFields}\n";
2081 m_t <<
"\\\\\n\\hline\n\n";
2086 m_t <<
"\\hspace{0.3cm}";
2091 m_t <<
"{\\ttfamily [" << l <<
"]}";
2092 if (!isLast)
m_t <<
", ";
QCString selectBlock(const QCString &s, const QCString &name, bool enable, OutputGenerator::OutputType o)
virtual QCString getDefFileExtension() const =0
std::vector< std::string > StringVector
QCString fileName() const
void endPageRef(const QCString &, const QCString &)
void endMemberGroup(bool)
void startGroupCollaboration()
void addIndexItem(const QCString &, const QCString &)
void startMemberHeader(const QCString &, int)
static ResourceMgr & instance()
Returns the one and only instance of this class
void startDescTableTitle()
virtual QCString trCompoundMembers()=0
QCString latexFilterURL(const QCString &s)
virtual QCString trGeneratedBy()=0
virtual QCString latexFontenc()
QCString stripExtensionGeneral(const QCString &fName, const QCString &ext)
Representation of an directory dependency graph
void endInlineMemberType()
void startDescTable(const QCString &title)
QCString getAsString(const QCString &name) const
Gets the resource data as a C string
The common base class of all entity definitions found in the sources.
void endSection(const QCString &, SectionType)
QCString relativePathToRoot(const QCString &name)
Class representing a directory in the file system
void startIndexValue(bool)
void startInlineMemberDoc()
void startCodeFragment(const QCString &style) override
uint length() const
Returns the length of the string, not counting the 0-terminator.
void startParameterName(bool)
void startSection(const QCString &, const QCString &, SectionType)
virtual QCString latexCommandName()
static ConceptLinkedMap * conceptLinkedMap
void endMemberDescription()
bool isEmpty() const
Returns TRUE iff the string is empty
Abstract node interface with type information.
static PageLinkedMap * pageLinkedMap
void writeLineNumber(const QCString &, const QCString &, const QCString &, int, bool) override
void endDoxyAnchor(const QCString &, const QCString &)
void writeNonBreakableSpace(int)
void startMemberDoc(const QCString &, const QCString &, const QCString &, const QCString &, int, int, bool)
void startMemberItem(const QCString &, int, const QCString &)
void writeLabel(const QCString &l, bool isLast)
bool copyFile(const QCString &src, const QCString &dest)
Copies the contents of file with name src to the newly created file with name dest.
void endParameterName(bool, bool, bool)
virtual ~LatexGenerator()
void writeEndAnnoItem(const QCString &name)
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)
static void writeMakeBat()
void startParamList(ParamListTypes, const QCString &title)
void endFontClass() override
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool TBRank=TRUE, bool imageMap=TRUE, int graphId=-1)
virtual QCString trEnumerationValues()=0
void startFontClass(const QCString &) override
virtual std::unique_ptr< OutputGenerator > clone() const
void startGroupHeader(int)
void startParameterType(bool, const QCString &)
Text streaming class that buffers data.
static DirLinkedMap * dirLinkedMap
void endCodeLine() override
static CitationManager & instance()
void exceptionEntry(const QCString &, bool)
QCString writeGraph(TextStream &out, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1, bool linkRelations=TRUE)
SectionType
enum representing the various types of sections and entities that can be referred to.
void endDotGraph(DotClassGraph &)
QCString convertToLaTeX(const QCString &s, bool insideTabbing, bool keepSpaces)
void startIndexItem(const QCString &ref, const QCString &file)
void startParagraph(const QCString &classDef)
LatexCodeGenerator(TextStream &t, const QCString &relPath, const QCString &sourceFile)
void docify(const QCString &text)
void startInlineMemberName()
void writeString(const QCString &text)
static void writeStyleSheetFile(TextStream &t)
static FileNameLinkedMap * inputNameLinkedMap
virtual QCString trGeneratedAt(const QCString &date, const QCString &projName)=0
virtual QCString latexFont()
void startDoxyAnchor(const QCString &, const QCString &, const QCString &, const QCString &, const QCString &)
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)
A model of a class/file/namespace member symbol.
QCString dateToString(bool includeTime)
QCString removeEmptyLines(const QCString &s)
@ isNamespaceDocumentation
#define Config_getInt(name)
static void writeHeaderFile(TextStream &t)
const char * ghostScriptCommand()
virtual OutputType type() const
void startIndexSection(IndexSections)
void endMemberGroupHeader()
Representation of an call graph
void endMemberDocSimple(bool)
void endTitleHead(const QCString &, const QCString &name)
void startDescTableData()
static QCString makeIndex()
void startAnonTypeScope(int)
static void writeFooterFile(TextStream &t)
Translator * theTranslator
void endMemberGroupDocs()
static GroupLinkedMap * groupLinkedMap
#define Config_getEnumAsString(name)
void startConstraintParam()
bool isEmpty() const
return TRUE if there are no citations.
QCString stripPath(const QCString &s)
Concrete visitor implementation for LaTeX output.
void startConstraintDocs()
QCString latexEscapeLabelName(const QCString &s)
int usedTableLevel() const
QCString fileToString(const QCString &name, bool filter, bool isSourceCode)
#define LATEX_STYLE_EXTENSION
void startMemberTemplateParams()
void setSourceFileName(const QCString &sourceFileName)
std::string str() const
Return the contents of the buffer as a std::string object
void startMemberDescription(const QCString &, const QCString &, bool)
static void writeDefaultStyleSheet(TextStream &t)
void endIndexValue(const QCString &, bool)
void writeStyleInfo(int part)
void writeLatexSpecialFormulaChars(TextStream &t)
Class representing a built-in class diagram.
Representation of a class inheritance or dependency graph
void endDirDepGraph(DotDirDeps &g)
QCString m_sourceFileName
void endClassDiagram(const ClassDiagram &, const QCString &, const QCString &)
void clearSubDirs(const Dir &d)
void startParameterList(bool)
void endCodeFragment(const QCString &style) override
Various UTF8 related helper functions.
void writeExtraLatexPackages(TextStream &t)
void setRelativePath(const QCString &path)
void startMemberDocSimple(bool)
void startConstraintList(const QCString &)
void writeAnchor(const QCString &fileName, const QCString &name)
void codify(const QCString &text) override
Abstract output generator.
void endCallGraph(DotCallGraph &)
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
void endIndexSection(IndexSections)
virtual QCString latexLanguageSupportCommand()=0
void startMemberGroupDocs()
virtual QCString trCiteReferences()=0
QCString substituteKeywords(const QCString &s, const QCString &title, const QCString &projName, const QCString &projNum, const QCString &projBrief)
#define Config_getBool(name)
void startFile(const QCString &name, const QCString &manName, const QCString &title, int id)
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)
void startCodeLine(bool) override
void term(const char *fmt,...)
static QCString extraLatexStyleSheet()
Minimal replacement for QFileInfo.
static QCString substituteLatexKeywords(const QCString &str, const QCString &title)
std::string absFilePath() const
const char * qPrint(const char *s)
Generator for LaTeX output.
void endInlineMemberDoc()
void startInlineMemberType()
#define Config_getString(name)
void writeDoc(DocNode *, const Definition *ctx, const MemberDef *, int id)
void writeObjectLink(const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name)
Representation of a group collaboration graph
static NamespaceLinkedMap * namespaceLinkedMap
const char * data() const
Returns a pointer to the contents of the string in the form of a 0-terminated C string
void writeCodeLink(CodeSymbolType type, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name, const QCString &tooltip) override
void endConstraintParam()
void startTextLink(const QCString &, const QCString &)
virtual QCString latexDocumentPre()
Representation of an include dependency graph
virtual void accept(DocVisitor *v)=0
void startMemberGroupHeader(bool)
void writeStartAnnoItem(const QCString &type, const QCString &file, const QCString &path, const QCString &name)
void lineBreak(const QCString &style=QCString())
OutputGenerator & operator=(const OutputGenerator &o)
void endIndexItem(const QCString &ref, const QCString &file)
bool checkExtension(const QCString &fName, const QCString &ext)
std::string fileName() const
void endInlineMemberName()
Portable versions of functions that are platform dependent.
QCString latexEscapePDFString(const QCString &s)
virtual QCString trExamples()=0
void filterLatexString(TextStream &t, const QCString &str, bool insideTabbing, bool insidePre, bool insideItem, bool insideTable, bool keepSpaces)
void startProjectNumber()
void endMemberTemplateParams(const QCString &, const QCString &)
static ClassLinkedMap * classLinkedMap
LatexGenerator & operator=(const LatexGenerator &)
bool mkdir(const std::string &path, bool acceptsAbsPath=true) const
A bunch of utility functions.
void createSubDirs(const Dir &d)
void endInclDepGraph(DotInclDepGraph &)
virtual QCString latexDocumentPost()
LatexCodeGenerator m_codeGen
QCString latexEscapeIndexChars(const QCString &s)
void endGroupCollaboration(DotGroupCollaboration &g)
void endAnonTypeScope(int)
QCString right(size_t len) const
void startPlainFile(const QCString &name)
QCString & prepend(const char *s)
QCString & sprintf(const char *format,...)
void startTitleHead(const QCString &)
void writeFigure(TextStream &t, const QCString &path, const QCString &file) const
void writePageLink(const QCString &, bool)
#define Config_getList(name)
static void writeLatexMakefile()
void startConstraintType()
static PageLinkedMap * exampleLinkedMap
void startHtmlLink(const QCString &url)
This is an alternative implementation of QCString.