summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2016-09-02 14:34:43 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2016-09-03 09:43:07 (GMT)
commit558958dca5e5cb50bd33f3344cab151aba9ce076 (patch)
treefc9995ba8e53c8d525a92886f2eee11bff8057e1 /src
parent0bdf976df43dfc1eea03fd3e31d949d05422b2ca (diff)
downloadDoxygen-558958dca5e5cb50bd33f3344cab151aba9ce076.zip
Doxygen-558958dca5e5cb50bd33f3344cab151aba9ce076.tar.gz
Doxygen-558958dca5e5cb50bd33f3344cab151aba9ce076.tar.bz2
Sorting in latex index and missing \@ in index
When looking at the index of the doxygen (pdf) manual we see that __init__ is on a bit strnge place (between "\" items) and that the item "\@" is missing. Made handling of the index consistent by using latex... routines and adjusting the label routine in respect to the @.
Diffstat (limited to 'src')
-rw-r--r--src/latexdocvisitor.cpp30
-rwxr-xr-xsrc/util.cpp3
2 files changed, 6 insertions, 27 deletions
diff --git a/src/latexdocvisitor.cpp b/src/latexdocvisitor.cpp
index 467800c..2b590ed 100644
--- a/src/latexdocvisitor.cpp
+++ b/src/latexdocvisitor.cpp
@@ -34,30 +34,6 @@
#include "htmlentity.h"
#include "plantuml.h"
-static QCString escapeLabelName(const char *s)
-{
- QCString result;
- const char *p=s;
- char c;
- if (p)
- {
- while ((c=*p++))
- {
- switch (c)
- {
- case '%': result+="\\%"; break;
- case '|': result+="\\texttt{\"|}"; break;
- case '!': result+="\"!"; break;
- case '{': result+="\\lcurly{}"; break;
- case '}': result+="\\rcurly{}"; break;
- case '~': result+="````~"; break; // to get it a bit better in index together with other special characters
- default: result+=c;
- }
- }
- }
- return result;
-}
-
const int maxLevels=5;
static const char *secLabels[maxLevels] =
{ "section","subsection","subsubsection","paragraph","subparagraph" };
@@ -556,8 +532,10 @@ void LatexDocVisitor::visit(DocFormula *f)
void LatexDocVisitor::visit(DocIndexEntry *i)
{
if (m_hide) return;
- m_t << "\\index{" << escapeLabelName(i->entry()) << "@{";
- escapeMakeIndexChars(i->entry());
+ m_t << "\\index{";
+ m_t << latexEscapeLabelName(i->entry(),false);
+ m_t << "@{";
+ m_t << latexEscapeIndexChars(i->entry(),false);
m_t << "}}";
}
diff --git a/src/util.cpp b/src/util.cpp
index efd3d3c..f1ebf8b 100755
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -6744,6 +6744,7 @@ QCString latexEscapeLabelName(const char *s,bool insideTabbing)
{
case '|': t << "\\texttt{\"|}"; break;
case '!': t << "\"!"; break;
+ case '@': t << "\"@"; break;
case '%': t << "\\%"; break;
case '{': t << "\\lcurly{}"; break;
case '}': t << "\\rcurly{}"; break;
@@ -6753,7 +6754,7 @@ QCString latexEscapeLabelName(const char *s,bool insideTabbing)
i=0;
// collect as long string as possible, before handing it to docify
tmp[i++]=c;
- while ((c=*p) && c!='|' && c!='!' && c!='%' && c!='{' && c!='}' && c!='~')
+ while ((c=*p) && c!='@' && c!='[' && c!=']' && c!='!' && c!='{' && c!='}' && c!='|')
{
tmp[i++]=c;
p++;