The LatexCodeGenerator
Class Reference
Generator for LaTeX code fragments. More...
Declaration
class LatexCodeGenerator { ... }
Base class
Public Constructors Index
Public Member Functions Index
void | setTextStream (TextStream *t) |
|
|
|
OutputType | type () const override |
|
|
|
std::unique_ptr< OutputCodeIntf > | clone () override |
|
|
|
void | codify (const QCString &text) override |
|
|
|
void | stripCodeComments (bool b) override |
|
|
|
void | startSpecialComment () override |
|
|
|
void | endSpecialComment () override |
|
|
|
void | setStripIndentAmount (size_t amount) override |
|
|
|
void | writeCodeLink (CodeSymbolType type, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name, const QCString &tooltip) override |
|
|
|
void | writeTooltip (const QCString &, const DocLinkInfo &, const QCString &, const QCString &, const SourceLinkInfo &, const SourceLinkInfo &) override |
|
|
|
void | writeLineNumber (const QCString &, const QCString &, const QCString &, int, bool) override |
|
|
|
void | startCodeLine (int) override |
|
|
|
void | endCodeLine () override |
|
|
|
void | startFontClass (const QCString &) override |
|
|
|
void | endFontClass () override |
|
|
|
void | writeCodeAnchor (const QCString &) override |
|
|
|
void | startCodeFragment (const QCString &style) override |
|
|
|
void | endCodeFragment (const QCString &style) override |
|
|
|
void | startFold (int, const QCString &, const QCString &) override |
|
|
|
void | endFold () override |
|
|
|
void | incUsedTableLevel () |
|
|
|
void | decUsedTableLevel () |
|
|
|
int | usedTableLevel () const |
|
|
|
void | setRelativePath (const QCString &path) |
|
|
|
void | setSourceFileName (const QCString &sourceFileName) |
|
|
|
void | setInsideTabbing (bool b) |
|
|
|
bool | insideTabbing () const |
|
|
|
Private Member Functions Index
void | _writeCodeLink (const QCString &className, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name, const QCString &tooltip) |
|
|
|
void | docify (const QCString &str) |
|
|
|
Private Member Attributes Index
Description
Generator for LaTeX code fragments.
Definition at line 27 of file latexgen.h.
Public Constructors
LatexCodeGenerator()
LatexCodeGenerator()
LatexCodeGenerator::LatexCodeGenerator (TextStream * t) |
|
Public Member Functions
clone()
std::unique_ptr< OutputCodeIntf > LatexCodeGenerator::clone () |
|
inline
virtual
|
Definition at line 35 of file latexgen.h.
35 std::unique_ptr<OutputCodeIntf> clone() override { return std::make_unique<LatexCodeGenerator>(*this); }
codify()
void LatexCodeGenerator::codify (const QCString & text) |
|
virtual
|
Declaration at line 36 of file latexgen.h, definition at line 78 of file latexgen.cpp.
79{
81 {
82 const char *p=str.data();
83 char c = 0;
84
89 {
91 }
92 else
93 {
94 while ((c=*p))
95 {
96 switch(c)
97 {
98 case 0x0c: p++;
99 break;
101 {
103 }
105 p++;
106 break;
107 case '^': *m_t <<"\\string^";
109 p++;
110 break;
111 case '`': *m_t <<"\\`{}";
113 p++;
114 break;
115 case '\t': {
116 int spacesToNextTabStop = tabSize - (m_col%tabSize);
117 while (spacesToNextTabStop--)
118 {
120 {
122 }
124 }
125 p++;
126 }
127 break;
128 case '\n': *m_t << '\n';
130 p++;
131 break;
132 default:
133 {
134 int i=0;
135
136#undef COPYCHAR
137
138#define COPYCHAR() do { \
139 int bytes = getUTF8CharNumBytes(c); \
140 if (lresult < (i + bytes + 1)) \
141 { \
142 lresult += 512; \
143 result = static_cast<char *>(realloc(result, lresult)); \
144 } \
145 for (int j=0; j<bytes && *p; j++) \
146 { \
147 result[i++]=*p++; \
148 } \
149 m_col++; \
150 } while(0)
151
152
154 while ((c=*p) &&
155 c!=0x0c && c!='\t' && c!='\n' && c!=' ' && c!='^'
156 )
157 {
159 }
160 result[i]=0;
163 true,
164 false,
166 false
167 );
168 }
169 break;
170 }
171 }
172 }
173 }
174}
References Config_getInt, COPYCHAR, QCString::data, filterLatexString, QCString::isEmpty, m_col, m_doxyCodeLineOpen, m_hide, m_insideTabbing, m_stripIndentAmount, m_t, m_usedTableLevel, THREAD_LOCAL and updateColumnCount.
Referenced by endCodeLine, writeCodeLink and writeLineNumber.
decUsedTableLevel()
void LatexCodeGenerator::decUsedTableLevel () |
|
inline
|
endCodeFragment()
void LatexCodeGenerator::endCodeFragment (const QCString & style) |
|
virtual
|
endCodeLine()
void LatexCodeGenerator::endCodeLine () |
|
virtual
|
endFold()
void LatexCodeGenerator::endFold () |
|
inline
virtual
|
endFontClass()
void LatexCodeGenerator::endFontClass () |
|
virtual
|
endSpecialComment()
void LatexCodeGenerator::endSpecialComment () |
|
virtual
|
incUsedTableLevel()
void LatexCodeGenerator::incUsedTableLevel () |
|
inline
|
insideTabbing()
bool LatexCodeGenerator::insideTabbing () |
|
inline
|
setInsideTabbing()
void LatexCodeGenerator::setInsideTabbing (bool b) |
|
inline
|
setRelativePath()
void LatexCodeGenerator::setRelativePath (const QCString & path) |
|
setSourceFileName()
void LatexCodeGenerator::setSourceFileName (const QCString & sourceFileName) |
|
setStripIndentAmount()
void LatexCodeGenerator::setStripIndentAmount (size_t amount) |
|
virtual
|
setTextStream()
void LatexCodeGenerator::setTextStream (TextStream * t) |
|
inline
|
startCodeFragment()
void LatexCodeGenerator::startCodeFragment (const QCString & style) |
|
virtual
|
startCodeLine()
void LatexCodeGenerator::startCodeLine (int) |
|
virtual
|
startFold()
startFontClass()
void LatexCodeGenerator::startFontClass (const QCString & name) |
|
virtual
|
startSpecialComment()
void LatexCodeGenerator::startSpecialComment () |
|
virtual
|
stripCodeComments()
void LatexCodeGenerator::stripCodeComments (bool b) |
|
virtual
|
type()
OutputType LatexCodeGenerator::type () |
|
inline
virtual
|
usedTableLevel()
int LatexCodeGenerator::usedTableLevel () |
|
inline
|
writeCodeAnchor()
void LatexCodeGenerator::writeCodeAnchor (const QCString &) |
|
inline
virtual
|
writeCodeLink()
writeLineNumber()
void LatexCodeGenerator::writeLineNumber (const QCString & ref, const QCString & fileName, const QCString & anchor, int l, bool writeLineAnchor) |
|
virtual
|
Declaration at line 52 of file latexgen.h, definition at line 222 of file latexgen.cpp.
223{
228 {
229 *m_t << "\\DoxyCodeLine{";
231 }
233 {
236
239 {
240 lineAnchor.sprintf("_l%05d",l);
242 }
243 bool showTarget = usePDFLatex && pdfHyperlinks && !lineAnchor.isEmpty() && writeLineAnchor;
244 if (showTarget)
245 {
246 *m_t << "\\Hypertarget{" << stripPath(lineAnchor) << "}";
247 }
249 {
251 }
252 else
253 {
255 }
257 }
258 else
259 {
264 }
266}
References codify, Config_getBool, Default, QCString::isEmpty, m_col, m_doxyCodeLineOpen, m_hide, m_sourceFileName, m_t, QCString::prepend, QCString::sprintf, stripExtensionGeneral, stripPath, TRUE and writeCodeLink.
writeTooltip()
Private Member Functions
_writeCodeLink()
docify()
void LatexCodeGenerator::docify (const QCString & str) |
|
Private Member Attributes
m_col
size_t LatexCodeGenerator::m_col = 0 |
|
m_doxyCodeLineOpen
bool LatexCodeGenerator::m_doxyCodeLineOpen = false |
|
m_hide
bool LatexCodeGenerator::m_hide = false |
|
m_insideTabbing
bool LatexCodeGenerator::m_insideTabbing = false |
|
m_relPath
QCString LatexCodeGenerator::m_relPath |
|
m_sourceFileName
QCString LatexCodeGenerator::m_sourceFileName |
|
m_streamSet
bool LatexCodeGenerator::m_streamSet = false |
|
m_stripCodeComments
bool LatexCodeGenerator::m_stripCodeComments = false |
|
m_stripIndentAmount
size_t LatexCodeGenerator::m_stripIndentAmount = 0 |
|
m_t
TextStream* LatexCodeGenerator::m_t |
|
Definition at line 80 of file latexgen.h.
Referenced by codify, endCodeFragment, endCodeLine, endFontClass, LatexCodeGenerator, LatexCodeGenerator, setTextStream, startCodeFragment, startCodeLine, startFontClass, writeCodeLink and writeLineNumber.
m_usedTableLevel
int LatexCodeGenerator::m_usedTableLevel = 0 |
|
The documentation for this class was generated from the following files:
Generated via doxygen2docusaurus by Doxygen 1.14.0.