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 "outputgen.h"
20
21#define LATEX_STYLE_EXTENSION ".sty"
22
23class OutputCodeList;
24
25/** Generator for LaTeX code fragments */
27{
28 public:
29 LatexCodeGenerator(TextStream *t,const DString &relPath,const DString &sourceFile);
31 void setTextStream(TextStream *t) { m_t = t; }
32
33 OutputType type() const override { return OutputType::Latex; }
34 std::unique_ptr<OutputCodeIntf> clone() override { return std::make_unique<LatexCodeGenerator>(*this); }
35 void codify(const DString &text) override;
36 void stripCodeComments(bool b) override;
37 void startSpecialComment() override;
38 void endSpecialComment() override;
39 void setStripIndentAmount(size_t amount) override;
41 const DString &ref,const DString &file,
42 const DString &anchor,const DString &name,
43 const DString &tooltip) override;
44 void writeTooltip(const DString &,
45 const DocLinkInfo &,
46 const DString &,
47 const DString &,
48 const SourceLinkInfo &,
49 const SourceLinkInfo &
50 ) override {}
51 void writeLineNumber(const DString &,const DString &,const DString &,int,bool) override;
52 void startCodeLine(int) override;
53 void endCodeLine() override;
54 void startFontClass(const DString &) override;
55 void endFontClass() override;
56 void writeCodeAnchor(const DString &) override {}
57 void startCodeFragment(const DString &style) override;
58 void endCodeFragment(const DString &style) override;
59 void startFold(int,const DString &,const DString &) override {}
60 void endFold() override {}
61
62 // extra methods not part of CodeOutputInterface
65 int usedTableLevel() const { return m_usedTableLevel; }
66
67 void setRelativePath(const DString &path);
68 void setSourceFileName(const DString &sourceFileName);
70 bool insideTabbing() const { return m_insideTabbing; }
71
72 private:
73 void _writeCodeLink(const DString &className,
74 const DString &ref,const DString &file,
75 const DString &anchor,const DString &name,
76 const DString &tooltip);
77 void docify(const DString &str);
78 bool m_streamSet = false;
82 size_t m_col = 0;
83 bool m_doxyCodeLineOpen = false;
85 bool m_insideTabbing = false;
86 bool m_stripCodeComments = false;
87 bool m_hide = false;
89};
90
91/** Generator for LaTeX output. */
92class LatexGenerator final : public OutputGenerator, public OutputGenIntf
93{
94 public:
101
102 static void init();
103 static void writeStyleSheetFile(TextStream &t);
104 static void writeHeaderFile(TextStream &t);
105 static void writeFooterFile(TextStream &t);
107
108 //----------------------------------------------------------------------
109
110 OutputType type() const override { return OutputType::Latex; }
111 std::unique_ptr<OutputGenIntf> clone() override { return std::make_unique<LatexGenerator>(*this); }
112 void addCodeGen(OutputCodeList &list) override;
113 void cleanup() override;
114 void writeDoc(const IDocNodeAST *node,const Definition *ctx,const MemberDef *,int id,int sectionLevel) override;
115 void startFile(const DString &name,bool isSource,const DString &manName,const DString &title,int id,int hierarchyLevel) override;
116 void endFile() override;
117
118 void writeSearchInfo() override {}
119 void writeFooter(const DString &) override {}
120
121 void startPageDoc(const DString &) override {}
122 void endPageDoc() override {}
123 void startIndexSection(IndexSection) override;
124 void endIndexSection(IndexSection) override;
125 void writePageLink(const DString &,bool) override;
126 void startProjectNumber() override;
127 void endProjectNumber() override {}
128 void writeStyleInfo(int part) override;
129 void startTitleHead(const DString &) override;
130 void endTitleHead(const DString &,const DString &name) override;
131
132 void startParagraph(const DString &classDef) override;
133 void endParagraph() override;
134 void writeString(const DString &text) override;
135 void startIndexListItem() override {}
136 void endIndexListItem() override {}
137 void startIndexList() override { m_t << "\\begin{DoxyCompactList}\n"; }
138 void endIndexList() override { m_t << "\\end{DoxyCompactList}\n"; }
139 void startIndexKey() override;
140 void endIndexKey() override;
141 void startIndexValue(bool) override;
142 void endIndexValue(const DString &,bool) override;
143 void startItemList() override { m_t << "\\begin{DoxyCompactItemize}\n"; }
144 void endItemList() override { m_t << "\\end{DoxyCompactItemize}\n"; }
145 void startIndexItem(const DString &ref,const DString &file) override;
146 void endIndexItem(const DString &ref,const DString &file) override;
147 void docify(const DString &text) override;
148 void writeObjectLink(const DString &ref,const DString &file,
149 const DString &anchor,const DString &name) override;
150
151 void startTextLink(const DString &,const DString &) override;
152 void endTextLink() override;
153 void startTypewriter() override { m_t << "{\\ttfamily "; }
154 void endTypewriter() override { m_t << "}"; }
155 void startGroupHeader(const DString &,int) override;
156 void endGroupHeader(int) override;
157 void startItemListItem() override { m_t << "\\item \n"; }
158 void endItemListItem() override {}
159
160 void startMemberSections() override {}
161 void endMemberSections() override {}
162 void startHeaderSection() override {}
163 void endHeaderSection() override {}
164 void startMemberHeader(const DString &,int) override;
165 void endMemberHeader() override;
166 void startMemberSubtitle() override {}
167 void endMemberSubtitle() override {}
168 void startMemberDocList() override {}
169 void endMemberDocList() override {}
170 void startMemberList() override;
171 void endMemberList() override;
172 void startInlineHeader() override;
173 void endInlineHeader() override;
174 void startAnonTypeScope(int) override;
175 void endAnonTypeScope(int) override;
176 void startMemberItem(const DString &,MemberItemType,const DString &) override;
177 void endMemberItem(MemberItemType) override;
178 void startMemberTemplateParams() override;
179 void endMemberTemplateParams(const DString &,const DString &) override;
180 void startCompoundTemplateParams() override { m_t << "\\subsubsection*{";}
181 void endCompoundTemplateParams() override { m_t << "}\n"; }
182
183 void startMemberGroupHeader(const DString &,bool) override;
184 void endMemberGroupHeader(bool) override;
185 void startMemberGroupDocs() override;
186 void endMemberGroupDocs() override;
187 void startMemberGroup() override;
188 void endMemberGroup(bool) override;
189
190 void insertMemberAlign(bool) override {}
192
193 void writeRuler() override { m_t << "\n\n"; }
194 void writeAnchor(const DString &fileName,const DString &name) override;
195 void startEmphasis() override { m_t << "{\\em "; }
196 void endEmphasis() override { m_t << "}"; }
197 void startBold() override { m_t << "{\\bfseries "; }
198 void endBold() override { m_t << "}"; }
199 void lineBreak(const DString &style=DString()) override;
200 void startMemberDoc(const DString &,const DString &,const DString &,const DString &,int,int,bool) override;
201 void endMemberDoc(bool) override;
202 void startDoxyAnchor(const DString &,const DString &,const DString &,const DString &,const DString &) override;
203 void endDoxyAnchor(const DString &,const DString &) override;
204 void addLabel(const DString &,const DString &) override;
205 void writeChar(char c) override;
206 void writeLatexSpacing() override { m_t << "\\hspace{0.3cm}"; }
207 void writeStartAnnoItem(const DString &type,const DString &file,
208 const DString &path,const DString &name) override;
209 void startCenter() override { m_t << "\\begin{center}\n"; }
210 void endCenter() override { m_t << "\\end{center}\n"; }
211 void startSmall() override { m_t << "\\footnotesize "; }
212 void endSmall() override { m_t << "\\normalsize "; }
213 void startMemberDescription(const DString &,const DString &,bool) override;
214 void endMemberDescription() override;
215 void startMemberDeclaration() override {}
216 void endMemberDeclaration(const DString &,const DString &) override {}
217 void writeInheritedSectionTitle(const DString &,const DString &,const DString &,
218 const DString &,const DString &,const DString &) override;
219 void startExamples() override;
220 void endExamples() override;
221 void startDescForItem() override { m_t << "\\par\n"; }
222 void endDescForItem() override {}
223 void startSection(const DString &,const DString &,SectionType) override;
224 void endSection(const DString &,SectionType) override;
225 void addIndexItem(const DString &,const DString &) override;
226 void startIndent() override {}
227 void endIndent() override {}
228 void writeSynopsis() override {}
229 void startClassDiagram() override;
230 void endClassDiagram(const ClassDiagram &,const DString &,const DString &) override;
231 void startPageRef() override;
232 void endPageRef(const DString &,const DString &) override;
233 void startQuickIndices() override {}
234 void endQuickIndices() override {}
235 void writeSplitBar(const DString &,const DString &) override {}
236 void writeNavigationPath(const DString &) override {}
237 void writeLogo() override {}
238 void writeQuickLinks(HighlightedItem,const DString &,bool) override {}
239 void writeSummaryLink(const DString &,const DString &,const DString &,bool) override {}
240 void writePageOutline() override {}
241 void startContents() override {}
242 void endContents() override {}
243 void writeNonBreakableSpace(int) override;
244
245 void startDescTable(const DString &title,const bool hasInits) override;
246 void endDescTable() override;
247 void startDescTableRow() override;
248 void endDescTableRow() override;
249 void startDescTableTitle() override;
250 void endDescTableTitle() override;
251 void startDescTableInit() override;
252 void endDescTableInit() override;
253 void startDescTableData() override;
254 void endDescTableData() override;
255 void lastIndexPage() override;
256
257 void startDotGraph() override;
258 void endDotGraph(DotClassGraph &) override;
259 void startInclDepGraph() override;
260 void endInclDepGraph(DotInclDepGraph &) override;
261 void startCallGraph() override;
262 void startGroupCollaboration() override;
264 void endCallGraph(DotCallGraph &) override;
265 void startDirDepGraph() override;
266 void endDirDepGraph(DotDirDeps &g) override;
268
269 void startTextBlock(bool) override {}
270 void endTextBlock(bool) override {}
271
272 void startMemberDocPrefixItem() override {}
273 void endMemberDocPrefixItem() override { m_t << "\\\\\n"; }
274 void startMemberDocName(bool) override {}
275 void endMemberDocName() override {}
276 void startParameterType(bool,const DString &) override;
277 void endParameterType() override;
278 void startParameterName(bool) override;
279 void endParameterName() override;
280 void startParameterExtra() override;
281 void endParameterExtra(bool last,bool one,bool bracket) override;
282 void startParameterDefVal(const char *s) override { docify(s); startTypewriter(); }
283 void endParameterDefVal() override { endTypewriter(); }
284 void startParameterList(bool) override;
285 void endParameterList() override;
286 void exceptionEntry(const DString &,bool) override;
287
288 void startConstraintList(const DString &) override;
289 void startConstraintParam() override;
290 void endConstraintParam() override;
291 void startConstraintType() override;
292 void endConstraintType() override;
293 void startConstraintDocs() override;
294 void endConstraintDocs() override;
295 void endConstraintList() override;
296
297 void startMemberDocSimple(bool) override;
298 void endMemberDocSimple(bool) override;
299 void startInlineMemberType() override;
300 void endInlineMemberType() override;
301 void startInlineMemberName() override;
302 void endInlineMemberName() override;
303 void startInlineMemberDoc() override;
304 void endInlineMemberDoc() override;
305
306 void startLabels() override;
307 void writeLabel(const DString &l,bool isLast) override;
308 void endLabels() override;
309
310 void startLocalToc(int level) override;
311 void endLocalToc() override {}
312 void startTocEntry(const SectionInfo *) override {}
313 void endTocEntry(const SectionInfo *) override {}
314
315 void startPlainFile(const DString &name) override { OutputGenerator::startPlainFile(name); }
317
318 void startEmbeddedDoc(size_t) override;
319 void endEmbeddedDoc() override;
320
321 private:
322 bool m_firstDescItem = true;
323 bool m_disableLinks = false;
325 int m_indent = 0;
327 std::unique_ptr<OutputCodeList> m_codeList;
329 bool m_insideTableEnv = false;
331};
332
335DString convertToLaTeX(const DString &s,bool insideTabbing,bool keepSpaces=false);
336
337void filterLatexString(TextStream &t,const DString &str,
338 bool insideTabbing,
339 bool insidePre,
340 bool insideItem,
341 bool insideTable,
342 bool keepSpaces,
343 const bool retainNewline = false);
344
349void latexWriteIndexItem(TextStream &t,const DString &r1,const DString &s2 = "");
350
351
352#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:88
DString()=default
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:27
int usedTableLevel() const
Definition latexgen.h:65
bool m_stripCodeComments
Definition latexgen.h:86
TextStream * m_t
Definition latexgen.h:79
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:69
bool insideTabbing() const
Definition latexgen.h:70
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:34
void setTextStream(TextStream *t)
Definition latexgen.h:31
void endSpecialComment() override
Definition latexgen.cpp:187
void stripCodeComments(bool b) override
Definition latexgen.cpp:177
void writeCodeAnchor(const DString &) override
Definition latexgen.h:56
size_t m_stripIndentAmount
Definition latexgen.h:88
DString m_relPath
Definition latexgen.h:80
void _writeCodeLink(const DString &className, const DString &ref, const DString &file, const DString &anchor, const DString &name, const DString &tooltip)
void startSpecialComment() override
Definition latexgen.cpp:182
void decUsedTableLevel()
Definition latexgen.h:64
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:33
DString m_sourceFileName
Definition latexgen.h:81
bool m_doxyCodeLineOpen
Definition latexgen.h:83
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:44
void endFold() override
Definition latexgen.h:60
void incUsedTableLevel()
Definition latexgen.h:63
void startFold(int, const DString &, const DString &) override
Definition latexgen.h:59
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:169
LatexGenerator(LatexGenerator &&)=delete
void endMemberDescription() override
std::unique_ptr< OutputCodeList > m_codeList
Definition latexgen.h:327
void endDirDepGraph(DotDirDeps &g) override
void endCompoundTemplateParams() override
Definition latexgen.h:181
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:209
void endParameterType() override
void startPageRef() override
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:273
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:215
void startConstraintType() override
void startClassDiagram() override
void endSmall() override
Definition latexgen.h:212
void startCompoundTemplateParams() override
Definition latexgen.h:180
void writeLatexSpacing() override
Definition latexgen.h:206
void startMemberDocPrefixItem() override
Definition latexgen.h:272
LatexGenerator & operator=(LatexGenerator &&)=delete
void endInlineMemberType() override
void startDescTableTitle() override
void endItemList() override
Definition latexgen.h:144
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:122
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:216
void endLocalToc() override
Definition latexgen.h:311
void startAnonTypeScope(int) override
void writeSplitBar(const DString &, const DString &) override
Definition latexgen.h:235
void endPlainFile() override
Definition latexgen.h:316
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:313
void startParameterList(bool) override
void endMemberDoc(bool) override
void endConstraintType() override
void startDescTableRow() override
void writePageOutline() override
Definition latexgen.h:240
void endAnonTypeScope(int) override
void startMemberSections() override
Definition latexgen.h:160
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:154
void writeSearchInfo() override
Definition latexgen.h:118
void endIndexItem(const DString &ref, const DString &file) override
void writeFooter(const DString &) override
Definition latexgen.h:119
void startGroupCollaboration() override
void clearBuffer()
void startLabels() override
void endMemberGroupHeader(bool) override
void endDescForItem() override
Definition latexgen.h:222
static void writeStyleSheetFile(TextStream &t)
Definition latexgen.cpp:704
void startContents() override
Definition latexgen.h:241
void endMemberHeader() override
OutputType type() const override
Definition latexgen.h:110
void startTocEntry(const SectionInfo *) override
Definition latexgen.h:312
void lineBreak(const DString &style=DString()) override
void startSmall() override
Definition latexgen.h:211
void startIndexList() override
Definition latexgen.h:137
void startHeaderSection() override
Definition latexgen.h:162
void endConstraintDocs() override
void startIndexKey() override
void writeRuler() override
Definition latexgen.h:193
void endMemberDocName() override
Definition latexgen.h:275
void startMemberGroupHeader(const DString &, bool) override
void startBold() override
Definition latexgen.h:197
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:330
void startPlainFile(const DString &name) override
Definition latexgen.h:315
void startInlineMemberDoc() override
void endContents() override
Definition latexgen.h:242
void addLabel(const DString &, const DString &) override
void startTextBlock(bool) override
Definition latexgen.h:269
void startCallGraph() override
void insertMemberAlignLeft(MemberItemType, bool) override
Definition latexgen.h:191
void endMemberList() override
void writeSummaryLink(const DString &, const DString &, const DString &, bool) override
Definition latexgen.h:239
void startExamples() override
void startIndexItem(const DString &ref, const DString &file) override
void startIndent() override
Definition latexgen.h:226
void writeGraphicalHierarchy(DotGfxHierarchyTable &) override
Definition latexgen.h:267
void writeSynopsis() override
Definition latexgen.h:228
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:163
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:143
void startGroupHeader(const DString &, int) override
void startMemberDocSimple(bool) override
void startQuickIndices() override
Definition latexgen.h:233
void endCallGraph(DotCallGraph &) override
void endGroupCollaboration(DotGroupCollaboration &g) override
void startParagraph(const DString &classDef) override
bool m_disableLinks
Definition latexgen.h:323
void startInlineHeader() override
void startMemberDocList() override
Definition latexgen.h:168
void endCenter() override
Definition latexgen.h:210
void endConstraintParam() override
void endParameterDefVal() override
Definition latexgen.h:283
void endDotGraph(DotClassGraph &) override
void writeString(const DString &text) override
void startPageDoc(const DString &) override
Definition latexgen.h:121
void writeNavigationPath(const DString &) override
Definition latexgen.h:236
void endItemListItem() override
Definition latexgen.h:158
void startParameterExtra() override
LatexCodeGenerator * m_codeGen
Definition latexgen.h:328
void endMemberGroup(bool) override
void startParameterDefVal(const char *s) override
Definition latexgen.h:282
void startMemberSubtitle() override
Definition latexgen.h:166
void startDescForItem() override
Definition latexgen.h:221
bool m_firstDescItem
Definition latexgen.h:322
void startItemListItem() override
Definition latexgen.h:157
void endQuickIndices() override
Definition latexgen.h:234
static void writeHeaderFile(TextStream &t)
Definition latexgen.cpp:692
void startEmbeddedDoc(size_t) override
void endProjectNumber() override
Definition latexgen.h:127
void endEmphasis() override
Definition latexgen.h:196
void endParagraph() override
void writeObjectLink(const DString &ref, const DString &file, const DString &anchor, const DString &name) override
void endIndexListItem() override
Definition latexgen.h:136
void writeLogo() override
Definition latexgen.h:237
void endClassDiagram(const ClassDiagram &, const DString &, const DString &) override
void endBold() override
Definition latexgen.h:198
void endMemberSections() override
Definition latexgen.h:161
bool m_insideTableEnv
Definition latexgen.h:329
void writeStyleInfo(int part) override
void insertMemberAlign(bool) override
Definition latexgen.h:190
void endDoxyAnchor(const DString &, const DString &) override
void endIndexList() override
Definition latexgen.h:138
std::unique_ptr< OutputGenIntf > clone() override
Definition latexgen.h:111
void startIndexValue(bool) override
void startMemberDocName(bool) override
Definition latexgen.h:274
void startIndexListItem() override
Definition latexgen.h:135
void writeLabel(const DString &l, bool isLast) override
void endTextBlock(bool) override
Definition latexgen.h:270
void startInlineMemberName() override
void endIndent() override
Definition latexgen.h:227
void writeQuickLinks(HighlightedItem, const DString &, bool) override
Definition latexgen.h:238
void startTypewriter() override
Definition latexgen.h:153
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:167
void startEmphasis() override
Definition latexgen.h:195
void startMemberItem(const DString &, MemberItemType, const DString &) override
void startParameterType(bool, const DString &) override
DString m_relPath
Definition latexgen.h:324
void endPageRef(const DString &, const DString &) override
bool m_templateMemberItem
Definition latexgen.h:326
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:30
void endPlainFile()
Definition outputgen.cpp:42
TextStream m_t
Definition outputgen.h:113
DString fileName() const
Definition outputgen.cpp:55
class that provide information about a section.
Definition section.h:58
Text streaming class that buffers data.
Definition textstream.h:36
static void endCodeLine(yyscan_t yyscanner)
Definition code.l:2490
static void startCodeLine(yyscan_t yyscanner)
Definition code.l:2421
static void startFontClass(yyscan_t yyscanner, const char *s, bool specialComment=false)
Definition code.l:3509
static void endFontClass(yyscan_t yyscanner, bool specialComment=false)
Definition code.l:3494
bool insideTable(const DocNodeVariant *n)
void endFile(OutputList &ol, bool skipNavIndex, bool skipEndContents, const DString &navPath)
Definition index.cpp:430
void startFile(OutputList &ol, const DString &name, bool isSource, const DString &manName, const DString &title, HighlightedItem hli, bool additionalIndices, const DString &altSidebarName, int hierarchyLevel, const DString &allMembersFile)
Definition index.cpp:404
HighlightedItem
Definition index.h:58
IndexSection
Definition index.h:31
DString latexFilterURL(const DString &s)
DString latexEscapePDFString(const DString &s)
DString latexEscapeIndexChars(const DString &s)
DString latexEscapeLabelName(const DString &s)
void filterLatexString(TextStream &t, const DString &str, bool insideTabbing, bool insidePre, bool insideItem, bool insideTable, bool keepSpaces, const bool retainNewline)
void writeExtraLatexPackages(TextStream &t)
void latexWriteIndexItem(TextStream &m_t, const DString &s1, const DString &s2)
void writeLatexSpecialFormulaChars(TextStream &t)
DString convertToLaTeX(const DString &s, bool insideTabbing, bool keepSpaces)
OutputType
Definition outputgen.h:56
CodeSymbolType
Definition types.h:481