jkriege2
dde8deb56f
JKQTMathText: improved placement of sub-/superscript nodes by using JKQTMathtextNodeSize::baselineXCorrection to shift subscript to the left for e.g. preceding italic text or symbols that require such a shift
...
JKQTMathText: moved sub-/superscripts placed below/above a bit further apart from the central symbol/node
2022-08-17 22:56:57 +02:00
jkriege2
b5459a90d9
Merge branch 'master' of https://github.com/jkriege2/JKQtPlotter
...
# Conflicts:
# lib/jkqtmathtext/jkqtmathtext.cpp
# lib/jkqtmathtext/jkqtmathtext.h
2022-08-16 23:11:44 +02:00
jkriege2
6fa5dd65ed
JKQTMathText: Code Cleanup: using JKQTMathTextNodeSize for all size-calculation functions and got rid of all functions that take the output parameters with call-by-reference
...
JKQTMathText: JKQTMathTextBraceNode now properly supports different opening and closing braces e.g. |...> for bra-vetors
2022-08-16 23:05:04 +02:00
jkriege2
74cf8046ce
code cleanup: Removed Parameter prevNodeSize from JKQTMathTextNode::draw() and JKQTMathTextNode::getSize()/JKQTMathTextNode::getSizeInternal(), since it is only really necessary for JKQTMathTextSubscriptNode and JKQTMathTextSuperscriptNode
...
bugfixed possible crash in JKQTMathTextWhitespaceNode (QMap[n1]=QMap[n2]=something; does not work for some reason)
2022-08-14 16:59:03 +02:00
jkriege2
e757e26503
JKQTMathText: ensure mini size of \left/\right braces, when contained text is very small, e.g. only lower-case
...
JKQTMathText: improve width-calculation of \left/\right braces
2022-08-13 21:56:09 +02:00
jkriege2
cfac5138b3
docfix
2022-08-13 19:47:35 +02:00
jkriege2
f83a3468b1
JKQTMathText:
...
- new options interface for JKQTMathText::parse()
- breaking: removed JKQTMathtext::unparsedNode
- several minor improvements
2022-08-13 19:43:39 +02:00
jkriege2
9819a8c4be
new options interface for JKQTMathText::parse()
...
breaking: removed JKQTMathtext::unparsedNode
2022-08-13 15:32:31 +02:00
jkriege2
ce6637fb4b
NEW: JKQTMathText::parse() by default allows linebreaks in the LaTeX string to be parsed. This can be switched off by a parameter
...
NEW: TabSize can be set in JKQTMathTextVerbatimNode
2022-08-13 14:36:49 +02:00
jkriege2
c58fc985ce
JKQTMathText: optimized frac/sub/super spacing
2022-08-12 16:50:26 +02:00
jkriege2
04beafb1a6
JKQTMathText: text/narrow-math-operators have less space around the,
2022-08-12 13:28:34 +02:00
jkriege2
86ec545794
bug fixed
2022-08-12 13:04:26 +02:00
jkriege2
67579da1bc
JKQTMathText: NEW: array/tabular-environments have limited support for formatting string like l|r|c and for \hline , \hdashline , \toprule , \midrule , \bottomrule
2022-08-12 12:54:10 +02:00
jkriege2
05d791502b
fixed \min & \max + docfix
2022-08-11 15:22:48 +02:00
jkriege2
8876c361cf
bugfix QSet <--> QList conversion + docfix
2022-08-11 15:12:11 +02:00
jkriege2
bfee90b4fe
JKQTMathText: added long arrow symbols
2022-08-11 14:17:39 +02:00
jkriege2
331a67c5a8
JKQTMathText: added \c \\dashuline{X}, \c \\dotuline{X}, \c \\underleftarrow{X}, \c \\underrightarrow{X}, \c \\underleftrightarrow{X}, \c \\overleftarrow{X}, \c \\overrightarrow{X}, \c \\overleftrightarrow{X}
...
JKQTMathText: corrected linewidths for decorations
2022-08-11 14:17:04 +02:00
jkriege2
62e3b47d08
JKQTMathText: improved rendering of decorations
2022-08-11 12:26:14 +02:00
jkriege2
c7b0185735
JKQTMathtext: added several new symbols that were missing so far
2022-08-11 11:33:29 +02:00
jkriege2
84f02e3ab6
JKQTMathText: improved symbol listing (auto-generated)
2022-08-11 09:06:06 +02:00
jkriege2
ff58485aa6
docfix
2022-08-10 19:21:54 +02:00
jkriege2
9ab3ddd3b0
doc-update
2022-08-10 14:41:26 +02:00
jkriege2
868b89a99e
JKQTMathText:
...
NEW: added \c \\snugshade{...}
NEW: added \c \\snugbox{...}
NEW: added \c \\phantom{xXy} , \c \\vphantom{xXy} and \c \\hphantom{xXy} instructions for whitespaces with the size of \c xXy
2022-08-10 14:36:16 +02:00
jkriege2
5283a1a995
JKQTMathText: IMPROVED/REWORKED rendering of blackboard font: now several different rendering modes can be selected using JKQTMathText::setFontBlackboradMode()
2022-08-10 12:12:30 +02:00
jkriege2
3de6cf59d2
JKQTMathtext: bugfixed symbols for registered and copyright (had wrong codepoint)
2022-08-10 12:09:13 +02:00
jkriege2
030cdfe2e5
bugfixed JKQTMathText::drawIntoImage(), some code-cleanup in the other draw() functions + update of autogenerated doc-images
2022-08-08 10:12:59 +02:00
jkriege2
03ba0572af
bigfixed some problems
2022-08-07 22:59:32 +02:00
jkriege2
5cc0a2478a
JKQTMathText: updated documentation with new (auto-generated) images, added CMake Custom Target to generate documentation images with jkqtmathtext_render, improved documentation
2022-08-07 22:23:19 +02:00
jkriege2
d3b0e88bb8
jkqtmathtext_render: added option to generate listing of all symbols + fixed some bugs
2022-08-07 22:13:31 +02:00
jkriege2
baeb7f9e38
bugfixed: \left....\right) didn't work
2022-08-07 20:39:45 +02:00
jkriege2
3d0183f6e9
bugfixed possible crash
2022-08-07 20:33:48 +02:00
jkriege2
afa14cbbfb
NEW: additional method JKQTMathtext::getSizeDetail() that returns all size-properties as a convenient struct, also added matching varinat JKQTMathTextNode::getSize()
...
NEW: additional method JKQTMathtext::drawIntoPixmap(), JKQTMathtext::drawIntoPicture(), JKQTMathtext::drawIntoImage() which returns a QPixmap, QPicture and QImage respectively that contains the render result of the currently parsed markup
2022-08-07 17:57:52 +02:00
jkriege2
ad171c161f
whitespacenode: updated drawing/calculating
2022-08-07 17:50:38 +02:00
jkriege2
8af79cb927
JKQTMathTextSymbolNode: bugfixed bar-drawing for hbar
2022-08-07 17:49:46 +02:00
jkriege2
f7ad259aeb
JKQTMathText: added JKATMathTextNode::getSize()-Variant with struct return value
2022-08-07 17:48:05 +02:00
jkriege2
715aa4e7d9
JKQTMathText: bugfixed some uninitialized variables
2022-08-07 17:42:43 +02:00
jkriege2
b872fda7f9
added some convenience functions and docufix
2022-08-07 17:41:27 +02:00
jkriege2
06db6633e7
JKQTMathtext: added \st and \sout-instructions
2022-08-07 17:40:19 +02:00
jkriege2
7f2dc5f645
JKQTMathText: made simulated blackboard-font nicer (thinner outline)
2022-08-07 17:38:57 +02:00
jkriege2
00c6e39391
docufix
2022-08-07 17:37:34 +02:00
jkriege2
7d686f0c9a
JKQTMathText:
...
- BREAKING/REWORKED: The \\verb!...!-command now works the same as in LaTeX
- NEW: added support for \\begin{verbatim}...\\end{verbatim}, \\begin{verbatim*}...\\end{verbatim*}
2022-08-03 16:12:19 +02:00
jkriege2
c7ffdacfcc
JKQTMathText: added support for \\bigl,\\bigr,\\Bigr,... commands for fixed-size but enlarged paramtheses
2022-08-03 09:55:45 +02:00
jkriege2
0b1af2e8f9
JKQTMathText: REWORKED rendering of text in text- and math-mode. Now it is more consistent with the output of LaTeX itself
2022-08-02 12:17:58 +02:00
jkriege2
79c5b26642
revert: JKQTMathText: modified initial values for operator sizes
2022-08-02 12:10:59 +02:00
jkriege2
93399cead9
JKQTMathText: modified initial values for operator sizes
2022-08-02 11:39:52 +02:00
jkriege2
200c538a49
JKQTMathText: improved HTML export (now color and font-family are supported)
2022-08-02 11:38:40 +02:00
jkriege2
b38ccc5fbc
JKQTMathText: added \dashbox() and \dotbox{}
2022-08-01 15:17:34 +02:00
jkriege2
66f71ca606
docu fix
2022-08-01 13:55:34 +02:00
jkriege2
7e12fb331e
JKQTMathText: added support for \c \\char"HEX , \c \\char'OCTAL and \c \\charDECIMAL for inserting any uicode character code
2022-08-01 13:39:34 +02:00
jkriege2
de80fa666b
JKQTMathText: added support for -- and --- for en- and em-dashes
2022-08-01 11:47:20 +02:00
jkriege2
f2e77c3213
docufix
2022-07-31 08:32:36 +02:00
jkriege2
22c45bcdea
JKQTMathText: added support for framed/shaded/snugshade-environments with linebreaks and framed
2022-07-31 08:17:45 +02:00
jkriege2
816a97f88f
JKQTMathText: added support for flushleft/flushright/center-environments with linebreaks
2022-07-31 07:56:13 +02:00
jkriege2
a819dda4c1
docu improvement
2022-07-31 07:28:28 +02:00
jkriege2
326ba7313c
JKQTMathText:
...
- NEW: JKQTMathTextVerticalListNode allows to typeset a vertical list of lines
- NEW: added \substack[lcr]{...\\...}, \lsubstack{...\\...}, \rsubstack{...\\...} instructions
2022-07-30 23:30:47 +02:00
jkriege2
edd7784d47
JKQTMathText: \\unicode{} now always accepts a codepoint and \utfeight{} a UTF8-seuqnece
2022-07-26 22:27:16 +02:00
jkriege2
e469dbb9ae
JKQTMathText: added instruction \\utfeight{HEX}
2022-07-25 23:29:32 +02:00
jkriege2
2ec3d12507
JKQTMathText: added \unicode{XXXX} instruction
2022-07-24 23:22:54 +02:00
jkriege2
18b0ef61f1
JKQTMathText: added instruction \\userfont
2022-07-24 22:31:38 +02:00
jkriege2
f01a198b7b
fixed several doxygen errors
2022-07-24 14:50:28 +02:00
jkriege2
c399959774
fixed several (pedantic) compiler warnings
...
fixed CMake problems
2022-07-23 16:05:13 +02:00
jkriege2
e923a9de7b
improved CMake scripts: better output, less warnings
2022-07-23 13:59:23 +02:00
jkriege2
ae3d3b479d
better way to reuse PCH in examples, added CMake-Option to (de)activate PCH-usage
2022-07-22 21:44:16 +02:00
jkriege2
671e25b33b
removed some compiler warnings and fixed construction problems
2022-07-22 16:24:24 +02:00
jkriege2
8b6e420c56
bugfix: added #define _USE_MATH_DEFINES needed for msvc to use M_PI, M_LN2...
2022-07-21 12:06:22 +02:00
jkriege2
25c55391ab
NEW: Using precompiled headers in CMake-build to speed up build times
2022-07-20 22:31:42 +02:00
jkriege2
459c7d7809
bugfixed CMakeLists.txt
2022-07-19 14:21:51 +02:00
jkriege2
d8c1524f61
partly solve issue #81 by making print-support optional. In addition it can be switched off with the CMake-option JKQtPlotter_BUILD_FORCE_NO_PRINTER_SUPPORT=ON
2022-07-18 23:33:20 +02:00
jkriege2
d132009679
added some additional accent-control-sequences
2022-07-18 15:01:42 +02:00
jkriege2
a1a2fcdd3f
clean-up of library dependencies
2022-07-18 15:01:12 +02:00
jkriege2
a8da6caf0d
IMPROVED JKQTMathText: tokenizing and parsing of text in text-mode: now a lot of accents with commands like \"a, \'e and variants (e.g. {\"a}, \"{a}, ...) are supported now
...
NEW in JKQTMathText: added \acute{X}, \grave{X}, \acute{X}
2022-07-10 22:01:11 +02:00
jkriege2
24cb74fc06
bugfixed Qt5.x problem
2022-07-09 10:57:46 +02:00
jkriege2
5dee5ae93d
JKQTMathText: refactored \\instruction parsing
...
JKQTMathText: added \shaded{color}{...}, \ovalbox{}, ... commands
2022-07-08 23:15:42 +02:00
jkriege2
36aeec13aa
refactored/simplified JKQTMathText::parseLatexString()
...
bugfixed regression: JKQTMathText displays \left.\right)-type braces and \sum,\int,... with and without \limits correctly again
2022-07-06 22:44:02 +02:00
jkriege2
f9370799fc
minor bugfix: missing return
2022-07-06 21:00:24 +02:00
jkriege2
fc83ebea4c
Wingdings symbols
2022-07-06 21:00:03 +02:00
jkriege2
0ab3626f4d
refactored symbol node, should also fix issue #78
2022-07-05 22:03:08 +02:00
jkriege2
341e1ac2ef
bugfixed missing QFontMettricsF::width() in newer Qt versions, should fix issue #77
2022-07-05 20:14:51 +02:00
jkriege2
2ef181301b
NEW: JKQTMathText: added functions to set the font-size in pixels (as alternative to the existing functions that set them in points), implements request #76
2022-07-04 21:02:43 +02:00
jkriege2
9a13e5127a
JKQTMathText: improve documentation (fixes issue #74 ), add new draw()-variant, which accepts a QPointF
2022-07-03 21:30:12 +02:00
jkriege2
0f958cc2d6
- JKQTMathText: IMPROVED/breaking: refactored symbol node JKQTMathTextSymbolNode and changed font-lookup!
...
- JKQTMathText: IMPROVED/NEW/breaking: refactored whitespace-processing node JKQTMathTextWhitespaceNode, now all major LaTeX whitespace commands are supported properly
2022-07-03 20:30:12 +02:00
jkriege2
8814523e63
BUGFIX: JKQTMathText: corrected size-calculation and drawing of decorations
2022-06-28 23:14:31 +02:00
jkriege2
9a7e44889f
IMPROVED: JKQTMathText: optional parameter of \sqrt is properly parsed now
2022-06-28 21:59:50 +02:00
jkriege2
6c26e250da
IMPROVED: JKQTMathText: rendering of sqrt
2022-06-28 12:00:20 +02:00
jkriege2
b83e0a3292
NEW: JKQTMathText: added \underbracket and \overbracket
2022-06-28 10:15:54 +02:00
jkriege2
fc557c9aff
IMPROVEMENT: JKQTMathText: added x-correction for sub/superscript above/below/besides integrals
2022-06-27 22:57:49 +02:00
jkriege2
56418f9504
IMPROVEMENTS: JKQTMathText: underbrace/overbrace and angle-braket improvements
2022-06-27 21:09:22 +02:00
jkriege2
ebdc183b2b
IMPROVED: JKQTMathText: improved drawing of parantheses, square brackets ...
2022-06-26 23:46:11 +02:00
jkriege2
2d2acc3b19
NEW: JKQTMathText: added top-corner (\ulcorner/\urcorner) and bottom-corner brackets (\llcorner/\lrcorner)
2022-06-26 21:17:42 +02:00
jkriege2
45d6ef373b
bugfix: JKQTMathText: \sum and \prod used the wrong symbol in XITS-mode
...
NEW: JKQTMathText: \limits and \nolimits work as in LaTeX now (before it was simply removed and the functionality implemented for a fixed list of symbols)
remove/breaking: JKQTMathText: \v[a-zA-Z] and shorthand for \vec{a-zA-Z} was removed
improvement: improved typesetting of sub-/supercripts, especially for large math operators and braces
2022-06-26 00:28:49 +02:00
jkriege2
f49714ecb6
JKQTMathText: improved quotation mark symbols
2022-06-20 12:21:38 +02:00
jkriege2
48a9a45af9
JKQTMathText code/documentation cleanup
2022-06-20 12:18:19 +02:00
jkriege2
d8a3539844
bugfix: didn't compile with Qt < 6.0
2022-06-20 09:53:28 +02:00
jkriege2
f9c060af68
FIXED: JKQTMathText: symbol spacing in math mode (and text mode)
2022-06-19 23:34:25 +02:00
jkriege2
03c59d3507
NEW: LaTeX-Parser simplifies parse-tree to increase speed of execution
2022-06-19 22:36:38 +02:00
jkriege2
d885f7f00a
NEW: JKQTMathText: LaTeX-Parser understands optional instruction parameters in [...] now
2022-06-19 15:11:06 +02:00
jkriege2
5c255712ce
JKQTMathTextBraceNode uses an enum to reference brace types, not a QStrig
2022-06-09 21:37:06 +02:00
jkriege2
c8ef57bb66
JKQTMathText: moved some node-specific enums into the node classes
2022-06-09 20:32:16 +02:00
jkriege2
7b83640a19
moved JKQTMathText images to their own subdirectory
2022-06-09 14:42:25 +02:00
jkriege2
992cad7ff3
MODIFIED: brace node now calculates the extension of the child height above or below the strikeoutPos, in order to center braces around the strikeoutPos
...
fixed: strikeoutPos was not correctly calculated in sub-/superscript node
NEW: JKQTMathText shows strikeoutPos when drawing Debug-Boxes
2022-06-09 14:31:27 +02:00