Commit Graph

498 Commits

Author SHA1 Message Date
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
cfcf01f9ff improved documentation of JKQTPMathParser 2022-07-24 21:59:20 +02:00
jkriege2
231ee02087 moved some functions 2022-07-24 14:50:46 +02:00
jkriege2
f01a198b7b fixed several doxygen errors 2022-07-24 14:50:28 +02:00
jkriege2
bc7f219aa4 fixed doc structure 2022-07-23 16:19:34 +02:00
jkriege2
c399959774 fixed several (pedantic) compiler warnings
fixed CMake problems
2022-07-23 16:05:13 +02:00
jkriege2
8558896f9b split jkqtcommon into basic tools and jkqtcommon_statistics_and_math for advanced math tools not used by all libs 2022-07-23 15:31:56 +02:00
jkriege2
e923a9de7b improved CMake scripts: better output, less warnings 2022-07-23 13:59:23 +02:00
jkriege2
1c473e0717 removed compiler warning 2022-07-23 13:58:33 +02:00
jkriege2
105b0332ce using Precompiled Headers in QMake 2022-07-23 13:58:01 +02:00
jkriege2
3468e1b331 updated compile status output 2022-07-23 10:40:04 +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
79b5b2693f bugfix: missing include 2022-07-21 12:01:43 +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
ba6e583d56 bugfixed qmake build scripts 2022-07-20 21:35:45 +02:00
jkriege2
c2ddf8af37 improved documentation 2022-07-19 14:44:12 +02:00
jkriege2
74c2e3edf1 improved CMAKE Library Export script 2022-07-19 14:42:41 +02:00
jkriege2
1e81d58968 updated QMake-build files 2022-07-19 14:39:59 +02:00
jkriege2
459c7d7809 bugfixed CMakeLists.txt 2022-07-19 14:21:51 +02:00
jkriege2
5087970c79 updated copyright notice 2022-07-19 13:40:43 +02:00
jkriege2
ece49f2d2b FIXED issue #80: "Bug with multiple inheritance with Q_GDAGET with CLANG", thanks to user:igormironchik, caused by QTBUG-104874 2022-07-19 10:24:52 +02:00
jkriege2
ea6db847d8 Merge branch 'master' of https://github.com/jkriege2/JKQtPlotter 2022-07-19 08:01:49 +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
jkriege2
143ae54ae8 JKQTMathText: modified text-positions of \sfrac and \stfrac 2022-06-09 11:32:57 +02:00
jkriege2
1a8de1bb2f - NEW: reworked node class tree: inserted base-class nodes for single-child, dual-child!
- NEW: improved frac-rendering: font-scaling takes nesting-level into account, overall-rendering, sizes, if a brace surrounds a frac, the heights are equal above and below to center the brace ...
2022-06-08 23:52:22 +02:00
jkriege2
94ca27aed0 NEW/BREAKING: restructured JKQTMathText: broke up single, large CPP-file into several smaller files
added more examples to jkqtmathtext_test
2022-06-08 15:38:26 +02:00
jkriege2
b0f8a2d0b9 - NEW: JKQTMathText supports new decoration instructions: \cancel, \xcancel, \bcancel, \sout, \ocirc, \widetilde, \widehat, \breve</li>
- NEW: JKQTMathText: reworked drawing of decorations: improved appearance and positioning!
2022-06-06 23:24:05 +02:00
jkriege2
0f0c03772e NEW: JKQTMathText supports new instructions: \cancel, \xcancel, \bcancel, \sout 2022-06-06 14:16:50 +02:00
jkriege2
d6b6a71395 fixes/improvements: JKQTMathText renders several LaTeX strings better (simple braces in math mode, +-*... as symbols with proper sizes in math mode, added some missing instruction aliases, improved size of \vec and \hat, corrrected fonts usage for mathrm, 2022-06-03 13:33:18 +02:00
jkriege2
285814f2e6 fixed: JKQTMathText added a little whitespace before and after the LaTeX-string. This was removed as it disturbed the layout of text in plots 2022-06-02 23:24:41 +02:00
jkriege2
f33838f187 added debug-feature to show boxes around text in the plot 2022-06-02 23:05:58 +02:00
jkriege2
d3b74875db improved Qt6-compatibility by getting rid of deprecated warnings 2022-06-02 22:31:39 +02:00
jkriege2
bf21d53149 improved high-dpr-support in JKQTMathText 2022-06-02 22:17:38 +02:00
jkriege2
fd2ae94c6c got rid of deprecated warnings when compiling with Qt6 2022-06-02 21:44:58 +02:00
jkriege2
5bb0235b33 added QIcon-generating functions to jkqtcommon 2022-06-02 21:21:51 +02:00
jkriege2
03497b6c31 changed JKQTPColorDerivationMode from an ENUM to a STRUCT, which extends its capabilities significantly 2022-06-02 21:21:17 +02:00
jkriege2
cf27b77b6b added JKQTMathTextFontSpecifier struct that describes a font and a math companion 2022-06-02 21:19:16 +02:00
jkriege2
5fae11472c added seaborn style 2022-05-23 22:44:58 +02:00
jkriege2
b756cb91e6 improved/fixed styling system: axis styles for colorbars were not properly taken from style objects + corrected some inaccurate drawing by using QRectF instead of QRect 2022-05-23 22:41:57 +02:00
jkriege2
667ffeb3f3 updated icons with high-dpi versions 2022-05-16 22:33:31 +02:00
jkriege2
fa02055b9d bugfixed string conversion method 2022-05-16 22:32:56 +02:00
jkriege2
145da4b191 improved icons: several style changes, all SVGs available, added high-dpi versions 2022-05-16 21:55:58 +02:00
jkriege2
ae5713ea68 implemented feature request #69: Show data tooltip on MouseMove by adding general actions that can be executed on a mouse move operation, when no mouse button is pressed, modification by keyboard modifiers is possible though 2022-05-15 14:15:15 +02:00
jkriege2
94f80510ec fixed issue described in PR #62: Fix custom labels draw, because giving exactly two label-strings did not display all of them, thanks to github_user:FalsinSoft 2022-05-14 22:59:10 +02:00
jkriege2
a80ea3a24a fixed issue #70: typo in lib/jkqtplotter/CMakeLists.txt 2022-05-13 10:45:20 +02:00
jkriege2
1a9593409a fixed QT6 compatibility 2022-05-12 10:35:05 +02:00
jkriege2
f475caddc1 fixed typo 2022-05-11 23:03:33 +02:00
jkriege2
ee2477a1f6 implemented wiggle plots (feature request #68) 2022-05-11 22:55:23 +02:00
jkriege2
d45083ee9b moved include-guards to the head of the headers 2022-04-24 22:07:39 +02:00
jkriege2
c6aa942486 improved/fixed qmake-build scripts fot Qt6 2022-04-24 22:07:16 +02:00
jkriege2
b8088ccc69 improved/bugfixed doxygen documentation 2022-04-24 13:23:59 +02:00
jkriege2
e784a6d89f fixed doxygen comment 2022-04-22 22:19:24 +02:00
jkriege2
b8f1ac7edb fix for Qt < 5.14 2022-04-22 20:53:54 +02:00
jkriege2
687c23a654 bugfixes for QT5 build after QT6 modifications 2022-04-22 15:20:58 +02:00
jkriege2
0a5fa42470 more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
jkriege2
6bcb0b9a9f Merge branch 'master' into add_qt6_compatibility 2022-04-21 21:28:49 +02:00
jkriege2
fbbc814331 using automatic memory management instead of local malloc()/free() pairs 2022-04-21 21:25:37 +02:00
jkriege2
3357ca4240 fixed issue #56: exponent-labels were 0 below ~1e-16 ... reason was using <std::numeric_limits<double>::epsilon() instead of <std::numeric_limits<double>::min() for checking close to zero 2022-04-21 21:24:45 +02:00
jkriege2
b4eda85bfc fixed two possible int-overflows 2022-04-21 13:59:49 +02:00
jkriege2
a24ad0b597 fixed bug #49 : naming of sections in plot-styling INI-files 2022-04-21 13:51:50 +02:00
jkriege2
ad3a26a272 fixed bug #50 JKQtPlotter::clearAllRegisteredMouseDoubleClickActions(), JKQtPlotter::clearAllMouseWheelActions(), JKQtPlotter::clearAllRegisteredMouseDragActions() didn't really deactivate all actions 2022-04-21 13:33:22 +02:00
jkriege2
62adbd8036 Merge branch 'master' into add_qt6_compatibility 2022-04-21 12:15:15 +02:00
jkriege2
cc6a87c6d2 fixed bug #48 some users could not #include <QPrintPreviewWidget> 2022-04-21 12:13:23 +02:00
jkriege2
4ded1a2028 first round of Qt6 compatibility changes 2022-04-21 10:57:24 +02:00
jkriege2
8835febb96 modified CMakeLists.txt to match Qt6 2022-04-18 23:10:05 +02:00