diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index f5f19e3450..5439e64741 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -16,6 +16,7 @@ if(JKQtPlotter_BUILD_TOOLS)
jkqtmathtext_docimages_misc.jkmt
jkqtmathtext_docimages_specialfonts.jkmt
jkqtmathtext_docimages_symbolsandencoding.jkmt
+ jkqtmathtext_docimages_spaces.jkmt
)
diff --git a/doc/dox/jkqtmathtext_supportedlatex.dox b/doc/dox/jkqtmathtext_supportedlatex.dox
index 46cc408bd0..dce5b5433f 100644
--- a/doc/dox/jkqtmathtext_supportedlatex.dox
+++ b/doc/dox/jkqtmathtext_supportedlatex.dox
@@ -80,7 +80,7 @@
\section JKQTMathTextSuppoertedLaTeXSymbols Symbols and special characters
- These instructions draw boxes in various ways:
+ These instructions draw different types of characters and symbols:
- \c \\alpha ... : display the according greek letter (see \ref jkqtmathtext_supportedlatexsymbols ) \image html jkqtmathtext/jkqtmathtext_greek.png
- \c \\charDECIMAL and \c \\char\"HEX and \c \\char\'OCTAL : draws a unicode character from its 32-bit codepoint \image html jkqtmathtext/jkqtmathtext_char.png (generated by A: \\char65, circonflex: \\char\"109 accent: \\char\'351
)
- \c \\unicode{HEX} and \c \\usym{HEX} : draws a unicode character from its 32-bit codepoint \image html jkqtmathtext/jkqtmathtext_unicode.png (generated by star: \\unicode{2605}, circonflex: \\unicode{109} emoticons: \\usym{1F440} \\usym{1F929}
)
@@ -102,6 +102,55 @@
\image html jkqtmathtext/jkqtmathtext_mathaccents.png
.
+
+
+ \section JKQTMathTextSuppoertedLaTeXWhitespace Explicit Whitespaces
+
+
- \\aa :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_aa.png
| \\AA :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_aaaa.png
+ | \\aa :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_aa.png
| \\AC :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_aacc.png
|
@@ -22,10 +22,10 @@
\\ae :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ae.png
- | \\alef :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_alef.png
| \\Alef :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_aalef.png
+ | \\alef :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_alef.png
|
\\Aleph :
@@ -198,16 +198,16 @@
|
\\dagger :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_dagger.png
- | \\dalet :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_dalet.png
| \\Dalet :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ddalet.png
+ | \\dalet :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_dalet.png
|
- \\daleth :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_daleth.png
| \\Daleth :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ddaleth.png
+ | \\daleth :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_daleth.png
| \\dblhyphen :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_dblhyphen.png
|
@@ -236,10 +236,10 @@
\image html jkqtmathtext/symbols/jkqtmathtext_symbols_degree.png
|
- \\delta :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_delta.png
| \\Delta :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ddelta.png
+ | \\delta :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_delta.png
| \\det :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_det.png
|
@@ -256,12 +256,12 @@
\image html jkqtmathtext/symbols/jkqtmathtext_symbols_dollar.png
| \\dots :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_dots.png
- | \\Downarrow :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ddownarrow.png
-
- |
\\downarrow :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_downarrow.png
+ |
+
+ \\Downarrow :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ddownarrow.png
| \\downharpoonleft :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_downharpoonleft.png
| \\downharpoonright :
@@ -412,10 +412,10 @@
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ll.png
|
- \\lambda :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_lambda.png
| \\Lambda :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_llambda.png
+ | \\lambda :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_lambda.png
| \\land :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_land.png
|
@@ -436,10 +436,10 @@
\image html jkqtmathtext/symbols/jkqtmathtext_symbols_le.png
|
- \\leftarrow :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_leftarrow.png
| \\Leftarrow :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_lleftarrow.png
+ | \\leftarrow :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_leftarrow.png
| \\lefthand :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_lefthand.png
|
@@ -448,12 +448,12 @@
\image html jkqtmathtext/symbols/jkqtmathtext_symbols_leftharpoondown.png
| \\leftharpoonup :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_leftharpoonup.png
- | \\leftrightarrow :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_leftrightarrow.png
-
- |
\\Leftrightarrow :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_lleftrightarrow.png
+ |
+
+ \\leftrightarrow :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_leftrightarrow.png
| \\leftrightharpoon :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_leftrightharpoon.png
| \\leq :
@@ -576,16 +576,16 @@
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_oo.png
| \\odot :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_odot.png
- | \\oe :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_oe.png
- |
-
\\OE :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ooee.png
- | \\ohm :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ohm.png
+ |
+
+ \\oe :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_oe.png
| \\Ohm :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_oohm.png
+ | \\ohm :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ohm.png
|
\\oiiint :
@@ -596,10 +596,10 @@
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_oint.png
|
- \\omega :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_omega.png
| \\Omega :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_oomega.png
+ | \\omega :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_omega.png
| \\ominus :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ominus.png
|
@@ -632,12 +632,12 @@
\image html jkqtmathtext/symbols/jkqtmathtext_symbols_pphi.png
| \\phi :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_phi.png
- | \\pi :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_pi.png
-
- |
\\Pi :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ppi.png
+ |
+
+ \\pi :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_pi.png
| \\pm :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_pm.png
| \\pound :
@@ -656,12 +656,12 @@
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_prod.png
| \\propto :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_propto.png
- | \\psi :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_psi.png
- |
-
\\Psi :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ppsi.png
+ |
+
+ \\psi :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_psi.png
| \\rangle :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_rangle.png
| \\rceil :
@@ -710,10 +710,10 @@
|
\\sgn :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_sgn.png
- | \\sigma :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_sigma.png
| \\Sigma :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ssigma.png
+ | \\sigma :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_sigma.png
|
\\sign :
@@ -870,10 +870,10 @@
|
\\textPhi :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_textpphi.png
- | \\textPi :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_textppi.png
| \\textpi :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_textpi.png
+ | \\textPi :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_textppi.png
|
\\textPsi :
@@ -902,10 +902,10 @@
|
\\texttheta :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_texttheta.png
- | \\textupsilon :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_textupsilon.png
| \\textUpsilon :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_textuupsilon.png
+ | \\textupsilon :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_textupsilon.png
|
\\textvarepsilon :
@@ -934,10 +934,10 @@
|
\\therefore :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_therefore.png
- | \\Theta :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ttheta.png
| \\theta :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_theta.png
+ | \\Theta :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_ttheta.png
|
\\times :
@@ -984,22 +984,22 @@
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upddelta.png
| \\updelta :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_updelta.png
- | \\updownarrow :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_updownarrow.png
- |
-
\\Updownarrow :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_uupdownarrow.png
+ |
+
+ \\updownarrow :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_updownarrow.png
| \\upepsilon :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upepsilon.png
| \\upeta :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upeta.png
|
- \\upgamma :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upgamma.png
| \\upGamma :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upggamma.png
+ | \\upgamma :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upgamma.png
| \\upharpoonleft :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upharpoonleft.png
|
@@ -1012,10 +1012,10 @@
\image html jkqtmathtext/symbols/jkqtmathtext_symbols_upkappa.png
|
- \\uplambda :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_uplambda.png
| \\upLambda :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upllambda.png
+ | \\uplambda :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_uplambda.png
| \\upmu :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upmu.png
|
@@ -1028,10 +1028,10 @@
\image html jkqtmathtext/symbols/jkqtmathtext_symbols_upomega.png
|
- \\upphi :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upphi.png
| \\upPhi :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_uppphi.png
+ | \\upphi :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upphi.png
| \\upPi :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upppi.png
|
@@ -1046,10 +1046,10 @@
\\uprho :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_uprho.png
- | \\upSigma :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upssigma.png
| \\upsigma :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upsigma.png
+ | \\upSigma :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upssigma.png
|
\\Upsilon :
@@ -1064,12 +1064,12 @@
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upttheta.png
| \\uptheta :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_uptheta.png
- | \\upupsilon :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upupsilon.png
- |
-
\\upUpsilon :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upuupsilon.png
+ |
+
+ \\upupsilon :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upupsilon.png
| \\upvarepsilon :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_upvarepsilon.png
| \\upvarphi :
@@ -1132,10 +1132,10 @@
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_wedge.png
|
- \\xi :
- | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_xi.png
| \\Xi :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_xxi.png
+ | \\xi :
+ | \image html jkqtmathtext/symbols/jkqtmathtext_symbols_xi.png
| \\yen :
| \image html jkqtmathtext/symbols/jkqtmathtext_symbols_yen.png
|
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_utf8.png b/doc/images/jkqtmathtext/jkqtmathtext_utf8.png
index 59d040436a..342f14b3d1 100644
Binary files a/doc/images/jkqtmathtext/jkqtmathtext_utf8.png and b/doc/images/jkqtmathtext/jkqtmathtext_utf8.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_whitespace_emspace.png b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_emspace.png
new file mode 100644
index 0000000000..3103567a87
Binary files /dev/null and b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_emspace.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_whitespace_enspace.png b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_enspace.png
new file mode 100644
index 0000000000..d8d044f983
Binary files /dev/null and b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_enspace.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_whitespace_medspace.png b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_medspace.png
new file mode 100644
index 0000000000..033d784c6a
Binary files /dev/null and b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_medspace.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_whitespace_negmedspace.png b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_negmedspace.png
new file mode 100644
index 0000000000..f5cc1cc48a
Binary files /dev/null and b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_negmedspace.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_whitespace_negthickspace.png b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_negthickspace.png
new file mode 100644
index 0000000000..0f9bbda3cd
Binary files /dev/null and b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_negthickspace.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_whitespace_negthinspace.png b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_negthinspace.png
new file mode 100644
index 0000000000..35accff2be
Binary files /dev/null and b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_negthinspace.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_whitespace_qquad.png b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_qquad.png
new file mode 100644
index 0000000000..82cb14e2e2
Binary files /dev/null and b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_qquad.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_whitespace_thicker.png b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_thicker.png
new file mode 100644
index 0000000000..816537a5d8
Binary files /dev/null and b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_thicker.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_whitespace_thickspace.png b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_thickspace.png
new file mode 100644
index 0000000000..3b4ef8b380
Binary files /dev/null and b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_thickspace.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_whitespace_thinspace.png b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_thinspace.png
new file mode 100644
index 0000000000..188da417fb
Binary files /dev/null and b/doc/images/jkqtmathtext/jkqtmathtext_whitespace_thinspace.png differ
diff --git a/doc/jkqtmathtext_docimages_spaces.jkmt b/doc/jkqtmathtext_docimages_spaces.jkmt
new file mode 100644
index 0000000000..a222a1b4af
--- /dev/null
+++ b/doc/jkqtmathtext_docimages_spaces.jkmt
@@ -0,0 +1,30 @@
+---
+jkqtmathtext_whitespace_thicker.png
+\rightarrow\ \leftarrow
+---
+jkqtmathtext_whitespace_enspace.png
+\rightarrow\enspace^\leftarrow
+---
+jkqtmathtext_whitespace_emspace.png
+\rightarrow\emspace\leftarrow
+---
+jkqtmathtext_whitespace_qquad.png
+\rightarrow\qquad\leftarrow
+---
+jkqtmathtext_whitespace_thinspace.png
+\rightarrow\thinspace\leftarrow
+---
+jkqtmathtext_whitespace_medspace.png
+\rightarrow\medspace\leftarrow
+---
+jkqtmathtext_whitespace_thickspace.png
+\rightarrow\thickspace\leftarrow
+---
+jkqtmathtext_whitespace_negthinspace.png
+\rightarrow\negthinspace\leftarrow
+---
+jkqtmathtext_whitespace_negmedspace.png
+\rightarrow\negmedspace\leftarrow
+---
+jkqtmathtext_whitespace_negthickspace.png
+\rightarrow\negthickspace\leftarrow
diff --git a/tools/jkqtmathtext_render/jkqtmathtext_render.cpp b/tools/jkqtmathtext_render/jkqtmathtext_render.cpp
index 7b341e7925..a8cff0df2a 100644
--- a/tools/jkqtmathtext_render/jkqtmathtext_render.cpp
+++ b/tools/jkqtmathtext_render/jkqtmathtext_render.cpp
@@ -14,6 +14,7 @@
#include
#include
#include
+#include
#if (QT_VERSION>=QT_VERSION_CHECK(6, 0, 0))
#include
#include
@@ -132,6 +133,7 @@ int main(int argc, char* argv[])
fileList<<" \n";
fileList<<" \n";
QStringList symbols=JKQTMathTextSymbolNode::getSymbols();
+ std::sort(symbols.begin(), symbols.end(), [](const QString& a, const QString& b) { const QString al=a.toLower(); const QString bl=b.toLower(); if (al==bl) { return a0 && symbol[0].isLetter()) {