Doxygen
Loading...
Searching...
No Matches
latexgen.h
Go to the documentation of this file.
1/******************************************************************************
2 *
3 * Copyright (C) 1997-2023 by Dimitri van Heesch.
4 *
5 * Permission to use, copy, modify, and distribute this software and its
6 * documentation under the terms of the GNU General Public License is hereby
7 * granted. No representations are made about the suitability of this software
8 * for any purpose. It is provided "as is" without express or implied warranty.
9 * See the GNU General Public License for more details.
10 *
11 * Documents produced by Doxygen are derivative works derived from the
12 * input used in their production; they are not affected by this license.
13 *
14 */
15
16#ifndef LATEXGEN_H
17#define LATEXGEN_H
18
19#include <algorithm>
20#include <array>
21
22#include "outputgen.h"
23
24#define LATEX_STYLE_EXTENSION ".sty"
25
26class OutputCodeList;
27
28/** Generator for LaTeX code fragments */
30{
31 public:
32 LatexCodeGenerator(TextStream *t,const DString &relPath,const DString &sourceFile);
34 void setTextStream(TextStream *t) { m_t = t; }
35
36 OutputType type() const override { return OutputType::Latex; }
37 std::unique_ptr<OutputCodeIntf> clone() override { return std::make_unique<LatexCodeGenerator>(*this); }
38 void codify(const DString &text) override;
39 void stripCodeComments(bool b) override;
40 void startSpecialComment() override;
41 void endSpecialComment() override;
42 void setStripIndentAmount(size_t amount) override;
44 const DString &ref,const DString &file,
45 const DString &anchor,const DString &name,
46 const DString &tooltip) override;
47 void writeTooltip(const DString &,
48 const DocLinkInfo &,
49 const DString &,
50 const DString &,
51 const SourceLinkInfo &,
52 const SourceLinkInfo &
53 ) override {}
54 void writeLineNumber(const DString &,const DString &,const DString &,int,bool) override;
55 void startCodeLine(int) override;
56 void endCodeLine() override;
57 void startFontClass(const DString &) override;
58 void endFontClass() override;
59 void writeCodeAnchor(const DString &) override {}
60 void startCodeFragment(const DString &style) override;
61 void endCodeFragment(const DString &style) override;
62 void startFold(int,const DString &,const DString &) override {}
63 void endFold() override {}
64
65 // extra methods not part of CodeOutputInterface
68 int usedTableLevel() const { return m_usedTableLevel; }
69
70 void setRelativePath(const DString &path);
71 void setSourceFileName(const DString &sourceFileName);
73 bool insideTabbing() const { return m_insideTabbing; }
74
75 private:
76 void _writeCodeLink(const DString &className,
77 const DString &ref,const DString &file,
78 const DString &anchor,const DString &name,
79 const DString &tooltip);
80 void docify(const DString &str);
81 bool m_streamSet = false;
85 size_t m_col = 0;
86 bool m_doxyCodeLineOpen = false;
88 bool m_insideTabbing = false;
89 bool m_stripCodeComments = false;
90 bool m_hide = false;
92};
93
94/** Generator for LaTeX output. */
95class LatexGenerator final : public OutputGenerator, public OutputGenIntf
96{
97 public:
104
105 static void init();
106 static void writeStyleSheetFile(TextStream &t);
107 static void writeHeaderFile(TextStream &t);
108 static void writeFooterFile(TextStream &t);
110
111 //----------------------------------------------------------------------
112
113 OutputType type() const override { return OutputType::Latex; }
114 std::unique_ptr<OutputGenIntf> clone() override { return std::make_unique<LatexGenerator>(*this); }
115 void addCodeGen(OutputCodeList &list) override;
116 void cleanup() override;
117 void writeDoc(const IDocNodeAST *node,const Definition *ctx,const MemberDef *,int id,int sectionLevel) override;
118 void startFile(const DString &name,bool isSource,const DString &manName,const DString &title,int id,int hierarchyLevel) override;
119 void endFile() override;
120
121 void writeSearchInfo() override {}
122 void writeFooter(const DString &) override {}
123
124 void startPageDoc(const DString &) override {}
125 void endPageDoc() override {}
126 void startIndexSection(IndexSection) override;
127 void endIndexSection(IndexSection) override;
128 void writePageLink(const DString &,bool) override;
129 void startProjectNumber() override;
130 void endProjectNumber() override {}
131 void writeStyleInfo(int part) override;
132 void startTitleHead(const DString &) override;
133 void endTitleHead(const DString &,const DString &name) override;
134
135 void startParagraph(const DString &classDef) override;
136 void endParagraph() override;
137 void writeString(const DString &text) override;
138 void startIndexListItem() override {}
139 void endIndexListItem() override {}
140 void startIndexList() override { m_t << "\\begin{DoxyCompactList}\n"; }
141 void endIndexList() override { m_t << "\\end{DoxyCompactList}\n"; }
142 void startIndexKey() override;
143 void endIndexKey() override;
144 void startIndexValue(bool) override;
145 void endIndexValue(const DString &,bool) override;
146 void startItemList() override { m_t << "\\begin{DoxyCompactItemize}\n"; }
147 void endItemList() override { m_t << "\\end{DoxyCompactItemize}\n"; }
148 void startIndexItem(const DString &ref,const DString &file) override;
149 void endIndexItem(const DString &ref,const DString &file) override;
150 void docify(const DString &text) override;
151 void writeObjectLink(const DString &ref,const DString &file,
152 const DString &anchor,const DString &name) override;
153
154 void startTextLink(const DString &,const DString &) override;
155 void endTextLink() override;
156 void startTypewriter() override { m_t << "{\\ttfamily "; }
157 void endTypewriter() override { m_t << "}"; }
158 void startGroupHeader(const DString &,int) override;
159 void endGroupHeader(int) override;
160 void startItemListItem() override { m_t << "\\item \n"; }
161 void endItemListItem() override {}
162
163 void startMemberSections() override {}
164 void endMemberSections() override {}
165 void startHeaderSection() override {}
166 void endHeaderSection() override {}
167 void startMemberHeader(const DString &,int) override;
168 void endMemberHeader() override;
169 void startMemberSubtitle() override {}
170 void endMemberSubtitle() override {}
171 void startMemberDocList() override {}
172 void endMemberDocList() override {}
173 void startMemberList() override;
174 void endMemberList() override;
175 void startInlineHeader() override;
176 void endInlineHeader() override;
177 void startAnonTypeScope(int) override;
178 void endAnonTypeScope(int) override;
179 void startMemberItem(const DString &,MemberItemType,const DString &) override;
180 void endMemberItem(MemberItemType) override;
181 void startMemberTemplateParams() override;
182 void endMemberTemplateParams(const DString &,const DString &) override;
183 void startCompoundTemplateParams() override { m_t << "\\doxysubsubsection*{";}
184 void endCompoundTemplateParams() override { m_t << "}\n"; }
185
186 void startMemberGroupHeader(const DString &,bool) override;
187 void endMemberGroupHeader(bool) override;
188 void startMemberGroupDocs() override;
189 void endMemberGroupDocs() override;
190 void startMemberGroup() override;
191 void endMemberGroup(bool) override;
192
193 void insertMemberAlign(bool) override {}
195
196 void writeRuler() override { m_t << "\n\n"; }
197 void writeAnchor(const DString &fileName,const DString &name) override;
198 void startEmphasis() override { m_t << "{\\em "; }
199 void endEmphasis() override { m_t << "}"; }
200 void startBold() override { m_t << "{\\bfseries "; }
201 void endBold() override { m_t << "}"; }
202 void lineBreak(const DString &style=DString()) override;
203 void startMemberDoc(const DString &,const DString &,const DString &,const DString &,int,int,bool) override;
204 void endMemberDoc(bool) override;
205 void startDoxyAnchor(const DString &,const DString &,const DString &,const DString &,const DString &) override;
206 void endDoxyAnchor(const DString &,const DString &) override;
207 void addLabel(const DString &,const DString &) override;
208 void writeChar(char c) override;
209 void writeLatexSpacing() override { m_t << "\\hspace{0.3cm}"; }
210 void writeStartAnnoItem(const DString &type,const DString &file,
211 const DString &path,const DString &name) override;
212 void startCenter() override { m_t << "\\begin{center}\n"; }
213 void endCenter() override { m_t << "\\end{center}\n"; }
214 void startSmall() override { m_t << "\\footnotesize "; }
215 void endSmall() override { m_t << "\\normalsize "; }
216 void startMemberDescription(const DString &,const DString &,bool) override;
217 void endMemberDescription() override;
218 void startMemberDeclaration() override {}
219 void endMemberDeclaration(const DString &,const DString &) override {}
220 void writeInheritedSectionTitle(const DString &,const DString &,const DString &,
221 const DString &,const DString &,const DString &) override;
222 void startExamples() override;
223 void endExamples() override;
224 void startDescForItem() override { m_t << "\\par\n"; }
225 void endDescForItem() override {}
226 void startSection(const DString &,const DString &,SectionType) override;
227 void endSection(const DString &,SectionType) override;
228 void addIndexItem(const DString &,const DString &) override;
229 void startIndent() override {}
230 void endIndent() override {}
231 void writeSynopsis() override {}
232 void startClassDiagram() override;
233 void endClassDiagram(const ClassDiagram &,const DString &,const DString &) override;
234 void startPageRef() override;
235 void endPageRef(const DString &,const DString &) override;
236 void startQuickIndices() override {}
237 void endQuickIndices() override {}
238 void writeSplitBar(const DString &,const DString &) override {}
239 void writeNavigationPath(const DString &) override {}
240 void writeLogo() override {}
241 void writeQuickLinks(HighlightedItem,const DString &,bool) override {}
242 void writeSummaryLink(const DString &,const DString &,const DString &,bool) override {}
243 void writePageOutline() override {}
244 void startContents() override {}
245 void endContents() override {}
246 void writeNonBreakableSpace(int) override;
247
248 void startDescTable(const DString &title,const bool hasInits) override;
249 void endDescTable() override;
250 void startDescTableRow() override;
251 void endDescTableRow() override;
252 void startDescTableTitle() override;
253 void endDescTableTitle() override;
254 void startDescTableInit() override;
255 void endDescTableInit() override;
256 void startDescTableData() override;
257 void endDescTableData() override;
258 void lastIndexPage() override;
259
260 void startDotGraph() override;
261 void endDotGraph(DotClassGraph &) override;
262 void startInclDepGraph() override;
263 void endInclDepGraph(DotInclDepGraph &) override;
264 void startCallGraph() override;
265 void startGroupCollaboration() override;
267 void endCallGraph(DotCallGraph &) override;
268 void startDirDepGraph() override;
269 void endDirDepGraph(DotDirDeps &g) override;
271
272 void startTextBlock(bool) override {}
273 void endTextBlock(bool) override {}
274
275 void startMemberDocPrefixItem() override {}
276 void endMemberDocPrefixItem() override { m_t << "\\\\\n"; }
277 void startMemberDocName(bool) override {}
278 void endMemberDocName() override {}
279 void startParameterType(bool,const DString &) override;
280 void endParameterType() override;
281 void startParameterName(bool) override;
282 void endParameterName() override;
283 void startParameterExtra() override;
284 void endParameterExtra(bool last,bool one,bool bracket) override;
285 void startParameterDefVal(const char *s) override { docify(s); startTypewriter(); }
286 void endParameterDefVal() override { endTypewriter(); }
287 void startParameterList(bool) override;
288 void endParameterList() override;
289 void exceptionEntry(const DString &,bool) override;
290
291 void startConstraintList(const DString &) override;
292 void startConstraintParam() override;
293 void endConstraintParam() override;
294 void startConstraintType() override;
295 void endConstraintType() override;
296 void startConstraintDocs() override;
297 void endConstraintDocs() override;
298 void endConstraintList() override;
299
300 void startMemberDocSimple(bool) override;
301 void endMemberDocSimple(bool) override;
302 void startInlineMemberType() override;
303 void endInlineMemberType() override;
304 void startInlineMemberName() override;
305 void endInlineMemberName() override;
306 void startInlineMemberDoc() override;
307 void endInlineMemberDoc() override;
308
309 void startLabels() override;
310 void writeLabel(const DString &l,bool isLast) override;
311 void endLabels() override;
312
313 void startLocalToc(int level) override;
314 void endLocalToc() override {}
315 void startTocEntry(const SectionInfo *) override {}
316 void endTocEntry(const SectionInfo *) override {}
317
318 void startPlainFile(const DString &name) override { OutputGenerator::startPlainFile(name); }
320
321 void startEmbeddedDoc(size_t) override;
322 void endEmbeddedDoc() override;
323
324 private:
325 bool m_firstDescItem = true;
326 bool m_disableLinks = false;
328 int m_indent = 0;
330 std::unique_ptr<OutputCodeList> m_codeList;
332 bool m_insideTableEnv = false;
334};
335
338DString convertToLaTeX(const DString &s,bool insideTabbing,bool keepSpaces=false);
339
340void filterLatexString(TextStream &t,const DString &str,
341 bool insideTabbing,
342 bool insidePre,
343 bool insideItem,
344 bool insideTable,
345 bool keepSpaces,
346 const bool retainNewline = false);
347
352void latexWriteIndexItem(TextStream &t,const DString &r1,const DString &s2 = "");
353
354/** LaTeX sectioning commands of doxygen.sty, indexed by nesting level. */
356{
357 inline constexpr std::array labels =
358 { "doxysection",
359 "doxysubsection",
360 "doxysubsubsection",
361 "doxysubsubsubsection",
362 "doxysubsubsubsubsection",
363 "doxysubsubsubsubsubsection",
364 "doxysubsubsubsubsubsubsection"
365 };
366 constexpr int maxLevels = static_cast<int>(labels.size());
367
368 inline const char *name(int level)
369 {
370 return labels[std::clamp(level,0,maxLevels-1)];
371 }
372}
373
374
375#endif
Class representing a built-in class diagram.
Definition diagram.h:29
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
Definition dstring.h:84
The common base class of all entity definitions found in the sources.
Definition definition.h:77
Representation of an call graph.
Representation of a class inheritance or dependency graph.
Representation of an directory dependency graph.
Definition dotdirdeps.h:27
Represents a graphical class hierarchy.
Representation of a group collaboration graph.
Representation of an include dependency graph.
opaque representation of the abstract syntax tree (AST)
Definition docparser.h:50
Generator for LaTeX code fragments.
Definition latexgen.h:30
int usedTableLevel() const
Definition latexgen.h:68
bool m_stripCodeComments
Definition latexgen.h:89
TextStream * m_t
Definition latexgen.h:82
void startCodeFragment(const DString &style) override
Definition latexgen.cpp:304
LatexCodeGenerator(TextStream *t, const DString &relPath, const DString &sourceFile)
Definition latexgen.cpp:60
void setStripIndentAmount(size_t amount) override
Definition latexgen.cpp:192
void docify(const DString &str)
void setInsideTabbing(bool b)
Definition latexgen.h:72
void endFontClass() override
Definition latexgen.cpp:298
bool insideTabbing() const
Definition latexgen.h:73
void codify(const DString &text) override
Definition latexgen.cpp:79
void writeCodeLink(CodeSymbolType type, const DString &ref, const DString &file, const DString &anchor, const DString &name, const DString &tooltip) override
Definition latexgen.cpp:197
std::unique_ptr< OutputCodeIntf > clone() override
Definition latexgen.h:37
void setTextStream(TextStream *t)
Definition latexgen.h:34
void endSpecialComment() override
Definition latexgen.cpp:187
void stripCodeComments(bool b) override
Definition latexgen.cpp:177
void writeCodeAnchor(const DString &) override
Definition latexgen.h:59
size_t m_stripIndentAmount
Definition latexgen.h:91
DString m_relPath
Definition latexgen.h:83
void _writeCodeLink(const DString &className, const DString &ref, const DString &file, const DString &anchor, const DString &name, const DString &tooltip)
void startCodeLine(int) override
Definition latexgen.cpp:270
void startSpecialComment() override
Definition latexgen.cpp:182
void decUsedTableLevel()
Definition latexgen.h:67
void startFontClass(const DString &) override
Definition latexgen.cpp:292
void writeLineNumber(const DString &, const DString &, const DString &, int, bool) override
Definition latexgen.cpp:223
void setRelativePath(const DString &path)
Definition latexgen.cpp:69
void endCodeFragment(const DString &style) override
Definition latexgen.cpp:309
OutputType type() const override
Definition latexgen.h:36
void endCodeLine() override
Definition latexgen.cpp:281
DString m_sourceFileName
Definition latexgen.h:84
bool m_doxyCodeLineOpen
Definition latexgen.h:86
void setSourceFileName(const DString &sourceFileName)
Definition latexgen.cpp:74
void writeTooltip(const DString &, const DocLinkInfo &, const DString &, const DString &, const SourceLinkInfo &, const SourceLinkInfo &) override
Definition latexgen.h:47
void endFold() override
Definition latexgen.h:63
void incUsedTableLevel()
Definition latexgen.h:66
void startFold(int, const DString &, const DString &) override
Definition latexgen.h:62
void endMemberItem(MemberItemType) override
void addCodeGen(OutputCodeList &list) override
Definition latexgen.cpp:363
void endIndexKey() override
void endInlineMemberDoc() override
void startMemberHeader(const DString &, int) override
void startProjectNumber() override
Definition latexgen.cpp:735
void cleanup() override
Definition latexgen.cpp:680
void startIndexSection(IndexSection) override
Definition latexgen.cpp:929
void writeInheritedSectionTitle(const DString &, const DString &, const DString &, const DString &, const DString &, const DString &) override
void endParameterList() override
void endMemberDocList() override
Definition latexgen.h:172
LatexGenerator(LatexGenerator &&)=delete
void endMemberDescription() override
std::unique_ptr< OutputCodeList > m_codeList
Definition latexgen.h:330
void endDirDepGraph(DotDirDeps &g) override
void endCompoundTemplateParams() override
Definition latexgen.h:184
void endDescTable() override
void startMemberGroup() override
void endInlineHeader() override
void endGroupHeader(int) override
void writeAnchor(const DString &fileName, const DString &name) override
void startTextLink(const DString &, const DString &) override
void writeChar(char c) override
void endDescTableInit() override
void docify(const DString &text) override
void startParameterName(bool) override
void writePageLink(const DString &, bool) override
void startCenter() override
Definition latexgen.h:212
void endParameterType() override
void startPageRef() override
void startFile(const DString &name, bool isSource, const DString &manName, const DString &title, int id, int hierarchyLevel) override
Definition latexgen.cpp:710
void endLabels() override
void endIndexValue(const DString &, bool) override
void endSection(const DString &, SectionType) override
void endIndexSection(IndexSection) override
void endMemberDocPrefixItem() override
Definition latexgen.h:276
void startMemberDoc(const DString &, const DString &, const DString &, const DString &, int, int, bool) override
void exceptionEntry(const DString &, bool) override
void startMemberDeclaration() override
Definition latexgen.h:218
void startConstraintType() override
void startClassDiagram() override
void endSmall() override
Definition latexgen.h:215
void startCompoundTemplateParams() override
Definition latexgen.h:183
void writeLatexSpacing() override
Definition latexgen.h:209
void startMemberDocPrefixItem() override
Definition latexgen.h:275
LatexGenerator & operator=(LatexGenerator &&)=delete
void endInlineMemberType() override
void startDescTableTitle() override
void endItemList() override
Definition latexgen.h:147
void endInclDepGraph(DotInclDepGraph &) override
void writeNonBreakableSpace(int) override
void startTitleHead(const DString &) override
void startMemberGroupDocs() override
void startDescTable(const DString &title, const bool hasInits) override
void endDescTableTitle() override
void endPageDoc() override
Definition latexgen.h:125
void startMemberDescription(const DString &, const DString &, bool) override
void startInclDepGraph() override
void lastIndexPage() override
void endExamples() override
void startLocalToc(int level) override
void endMemberDeclaration(const DString &, const DString &) override
Definition latexgen.h:219
void endLocalToc() override
Definition latexgen.h:314
void startAnonTypeScope(int) override
void writeSplitBar(const DString &, const DString &) override
Definition latexgen.h:238
void endPlainFile() override
Definition latexgen.h:319
void endTitleHead(const DString &, const DString &name) override
static void writeFooterFile(TextStream &t)
Definition latexgen.cpp:698
void endTocEntry(const SectionInfo *) override
Definition latexgen.h:316
void startParameterList(bool) override
void endMemberDoc(bool) override
void endConstraintType() override
void startDescTableRow() override
void writePageOutline() override
Definition latexgen.h:243
void endAnonTypeScope(int) override
void startMemberSections() override
Definition latexgen.h:163
void endConstraintList() override
void startDotGraph() override
void endParameterExtra(bool last, bool one, bool bracket) override
void startSection(const DString &, const DString &, SectionType) override
void startConstraintList(const DString &) override
void endDescTableData() override
void endTypewriter() override
Definition latexgen.h:157
void writeSearchInfo() override
Definition latexgen.h:121
void endIndexItem(const DString &ref, const DString &file) override
void writeFooter(const DString &) override
Definition latexgen.h:122
void startGroupCollaboration() override
void clearBuffer()
void startLabels() override
void endMemberGroupHeader(bool) override
void endDescForItem() override
Definition latexgen.h:225
static void writeStyleSheetFile(TextStream &t)
Definition latexgen.cpp:704
void startContents() override
Definition latexgen.h:244
void endMemberHeader() override
OutputType type() const override
Definition latexgen.h:113
void startTocEntry(const SectionInfo *) override
Definition latexgen.h:315
void lineBreak(const DString &style=DString()) override
void startSmall() override
Definition latexgen.h:214
void startIndexList() override
Definition latexgen.h:140
void startHeaderSection() override
Definition latexgen.h:165
void endConstraintDocs() override
void startIndexKey() override
void writeRuler() override
Definition latexgen.h:196
void endMemberDocName() override
Definition latexgen.h:278
void startMemberGroupHeader(const DString &, bool) override
void startBold() override
Definition latexgen.h:200
void startConstraintParam() override
void endInlineMemberName() override
void startMemberTemplateParams() override
void startInlineMemberType() override
void writeStartAnnoItem(const DString &type, const DString &file, const DString &path, const DString &name) override
int m_hierarchyLevel
Definition latexgen.h:333
void startPlainFile(const DString &name) override
Definition latexgen.h:318
void startInlineMemberDoc() override
void endContents() override
Definition latexgen.h:245
void addLabel(const DString &, const DString &) override
void startTextBlock(bool) override
Definition latexgen.h:272
void startCallGraph() override
void insertMemberAlignLeft(MemberItemType, bool) override
Definition latexgen.h:194
void endMemberList() override
void writeSummaryLink(const DString &, const DString &, const DString &, bool) override
Definition latexgen.h:242
void endFile() override
Definition latexgen.cpp:724
void startExamples() override
void startIndexItem(const DString &ref, const DString &file) override
void startIndent() override
Definition latexgen.h:229
void writeGraphicalHierarchy(DotGfxHierarchyTable &) override
Definition latexgen.h:270
void writeSynopsis() override
Definition latexgen.h:231
LatexGenerator & operator=(const LatexGenerator &)
Definition latexgen.cpp:343
void startDirDepGraph() override
void endTextLink() override
void endEmbeddedDoc() override
void startMemberList() override
void endHeaderSection() override
Definition latexgen.h:166
void startDescTableData() override
void endDescTableRow() override
void startConstraintDocs() override
void endMemberGroupDocs() override
void endMemberTemplateParams(const DString &, const DString &) override
void startDescTableInit() override
void addIndexItem(const DString &, const DString &) override
void endMemberDocSimple(bool) override
void endParameterName() override
void startItemList() override
Definition latexgen.h:146
void startGroupHeader(const DString &, int) override
void startMemberDocSimple(bool) override
void startQuickIndices() override
Definition latexgen.h:236
void endCallGraph(DotCallGraph &) override
void endGroupCollaboration(DotGroupCollaboration &g) override
void startParagraph(const DString &classDef) override
bool m_disableLinks
Definition latexgen.h:326
void startInlineHeader() override
void startMemberDocList() override
Definition latexgen.h:171
void endCenter() override
Definition latexgen.h:213
void endConstraintParam() override
void endParameterDefVal() override
Definition latexgen.h:286
void endDotGraph(DotClassGraph &) override
void writeString(const DString &text) override
void startPageDoc(const DString &) override
Definition latexgen.h:124
void writeNavigationPath(const DString &) override
Definition latexgen.h:239
void endItemListItem() override
Definition latexgen.h:161
void startParameterExtra() override
LatexCodeGenerator * m_codeGen
Definition latexgen.h:331
void endMemberGroup(bool) override
void startParameterDefVal(const char *s) override
Definition latexgen.h:285
void startMemberSubtitle() override
Definition latexgen.h:169
void startDescForItem() override
Definition latexgen.h:224
bool m_firstDescItem
Definition latexgen.h:325
void startItemListItem() override
Definition latexgen.h:160
void endQuickIndices() override
Definition latexgen.h:237
static void writeHeaderFile(TextStream &t)
Definition latexgen.cpp:692
void startEmbeddedDoc(size_t) override
void endProjectNumber() override
Definition latexgen.h:130
void endEmphasis() override
Definition latexgen.h:199
void endParagraph() override
void writeObjectLink(const DString &ref, const DString &file, const DString &anchor, const DString &name) override
void endIndexListItem() override
Definition latexgen.h:139
void writeLogo() override
Definition latexgen.h:240
void endClassDiagram(const ClassDiagram &, const DString &, const DString &) override
void endBold() override
Definition latexgen.h:201
void endMemberSections() override
Definition latexgen.h:164
bool m_insideTableEnv
Definition latexgen.h:332
void writeStyleInfo(int part) override
void insertMemberAlign(bool) override
Definition latexgen.h:193
void endDoxyAnchor(const DString &, const DString &) override
void endIndexList() override
Definition latexgen.h:141
std::unique_ptr< OutputGenIntf > clone() override
Definition latexgen.h:114
void startIndexValue(bool) override
void startMemberDocName(bool) override
Definition latexgen.h:277
void startIndexListItem() override
Definition latexgen.h:138
void writeLabel(const DString &l, bool isLast) override
void endTextBlock(bool) override
Definition latexgen.h:273
void startInlineMemberName() override
void endIndent() override
Definition latexgen.h:230
void writeQuickLinks(HighlightedItem, const DString &, bool) override
Definition latexgen.h:241
void startTypewriter() override
Definition latexgen.h:156
void startDoxyAnchor(const DString &, const DString &, const DString &, const DString &, const DString &) override
void writeDoc(const IDocNodeAST *node, const Definition *ctx, const MemberDef *, int id, int sectionLevel) override
static void init()
Definition latexgen.cpp:634
void endMemberSubtitle() override
Definition latexgen.h:170
void startEmphasis() override
Definition latexgen.h:198
void startMemberItem(const DString &, MemberItemType, const DString &) override
void startParameterType(bool, const DString &) override
DString m_relPath
Definition latexgen.h:327
void endPageRef(const DString &, const DString &) override
bool m_templateMemberItem
Definition latexgen.h:329
A model of a class/file/namespace member symbol.
Definition memberdef.h:45
OutputCodeIntf()=default
Class representing a list of different code generators.
Definition outputlist.h:162
Abstract interface for output generators.
Definition outputgen.h:124
void startPlainFile(const DString &name)
Definition outputgen.cpp:28
void endPlainFile()
Definition outputgen.cpp:40
TextStream m_t
Definition outputgen.h:113
DString fileName() const
Definition outputgen.cpp:53
class that provide information about a section.
Definition section.h:58
Text streaming class that buffers data.
Definition textstream.h:36
bool insideTable(const DocNodeVariant *n)
HighlightedItem
Definition index.h:58
IndexSection
Definition index.h:31
void latexWriteIndexItem(TextStream &t, const DString &r1, const DString &s2="")
DString latexFilterURL(const DString &s)
DString latexEscapePDFString(const DString &s)
DString latexEscapeIndexChars(const DString &s)
DString convertToLaTeX(const DString &s, bool insideTabbing, bool keepSpaces=false)
DString latexEscapeLabelName(const DString &s)
void writeExtraLatexPackages(TextStream &t)
void filterLatexString(TextStream &t, const DString &str, bool insideTabbing, bool insidePre, bool insideItem, bool insideTable, bool keepSpaces, const bool retainNewline=false)
void writeLatexSpecialFormulaChars(TextStream &t)
LaTeX sectioning commands of doxygen.sty, indexed by nesting level.
Definition latexgen.h:356
constexpr std::array labels
Definition latexgen.h:357
const char * name(int level)
Definition latexgen.h:368
constexpr int maxLevels
Definition latexgen.h:366
OutputType
Definition outputgen.h:56
CodeSymbolType
Definition types.h:481