Commit Graph

476 Commits

Author SHA1 Message Date
jkriege2
d283f6b294 bugfix in JKQTPSimplifyPolyLines() 2022-08-26 11:34:03 +02:00
jkriege2
fdb8ce2d75 JKQTPlotter: REORGANIZED: separated line-graphs from jkqtpscatter.h/.cpp into jkqtplines.h/.cpp 2022-08-25 22:41:41 +02:00
jkriege2
a90cbecd9d added optimized line-drawing to JKQTPSpecialLineGraphBase 2022-08-25 22:33:07 +02:00
jkriege2
064f01d0b0 bugfixed optimized line-drawing 2022-08-25 22:32:34 +02:00
jkriege2
c3afee2c1f replaced QVector<QPointF> by QPolygonfF, as Qt changes from QVector to QList with Qt5->Qt6 2022-08-25 17:46:57 +02:00
jkriege2
586548c7d6 change parent-chld relationships of scatter graphs 2022-08-25 17:34:12 +02:00
jkriege2
f4c4a693e4 bugfix+docfix 2022-08-25 17:25:23 +02:00
jkriege2
c2338c07b1 bugfix 2022-08-25 16:53:44 +02:00
jkriege2
69adb3adfb bugfix 2022-08-25 15:30:39 +02:00
jkriege2
03031e3762 JKQTPlotter:
- NEW: improved plotting speed for line-graphs by a compression algorithm (see JKQTPGraphLinesCompressionMixin) that removes overlaying lines (e.g. in JKQTPXYLineGraph)
    - NEW: improved plotting speed for line-graphs by a clipping algorithm (applies to JKQTPXYLineGraph, JKQTPGraphErrorStyleMixin, JKQTPSpecialLineHorizontalGraph, JKQTPSpecialLineVerticalGraph and others)
    - NEW: improved plotting speed for scatter-graphs by not calling draw functions for symbols outside the plot window (e.g. in JKQTPXYLineGraph)
2022-08-25 15:17:50 +02:00
jkriege2
17b93ab580 improved speed example with more options 2022-08-23 22:12:53 +02:00
jkriege2
676b97a3ca fixed several CMakeLists.txt issues 2022-08-22 20:35:24 +02:00
jkriege2
6c8d517f44 fixed CMakeLists.txt 2022-08-22 17:36:49 +02:00
jkriege2
8993b5ad8d CMake-System bugfix (in exports): added missing find_package(JKQTCommonStatisticsAndMath) 2022-08-22 16:38:30 +02:00
jkriege2
37024ffe34 fixed compatibility with older Qt version (before 5.12) 2022-08-22 10:45:39 +02:00
jkriege2
cffa7189d4 doc update 2022-08-21 21:34:05 +02:00
jkriege2
07d3fdcd99 JKQTMAthText: improvements in font handling and documentation 2022-08-21 14:49:48 +02:00
jkriege2
db81286452 added missing #include 2022-08-20 16:37:56 +02:00
jkriege2
528eec68d3 fixed non-existend std::make_unique() 2022-08-20 16:26:07 +02:00
jkriege2
6273e469cd BREAKING/REWORKED: Separated the LaTeX parser into JKQTMathTextLatexParser from JKQTMathText 2022-08-20 16:19:40 +02:00
jkriege2
5722970496 JKQTMathText:
- NEW: added environment-modifying commands for font sizes: \c \\tiny ... \c \\normalsize ... \c \\Huge
- NEW: added environment-modifying commands for text color: \c {\\color{COL}...}
- NEW: added environment-modifying commands for text formatting: \c {\\bfseries...}, \c {\\itshape...}, \c {\\bf...}, \c {\\it...}, \c {\\sffamily...}, \c {\\ttfamily...}, ...
- REFACTORING: split up several .h/.cpp-files in nodes subdirectory
2022-08-19 12:16:00 +02:00
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
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