JKQtPlotter/doc/dox/jkqtmathtext_supportedlatex.dox

386 lines
27 KiB
Plaintext
Raw Permalink Normal View History

2022-08-02 18:20:15 +08:00
/*!
\defgroup jkqtmathtext_supportedlatex Supported LaTeX-Subset
\ingroup jkqtmathtext_general_latex
2022-08-02 18:20:15 +08:00
\tableofcontents
\section JKQTMathTextSuppoertedLaTeXMathTextMode Switch between Math- and Text-Mode
These LaTeX-instructions allow to switch between math and text-mode:
- \c $...$ , \c \\ensuremath{...} , \c \\equation{...} : inside is math-mode
- \c \\text{...} , \c \\mbox{...} , \c \\ensuretext{...} : switches from math back to text-mode (or stays in text-mode)
.
The following image shows the difference between text- and math-mode:
\image html jkqtmathtext/jkqtmathtext_mathmode_and_textmode.png
In text mode the text is rendered normally. In math mode the rendering is changed:
- normal text is typeset in an italic font
- numbers, parantheses ... are typeset in an upright font
- operators are typeset with additional space around them
.
\section JKQTMathTextSuppoertedLaTeXFormatting Formatting
The supported LaTeX subset for formatting text is listed in this section.
\subsection JKQTMathTextSuppoertedLaTeXFontPropsFontProps Font Properties
JKQTMathText supports these instructions for font properties:
2022-08-02 18:20:15 +08:00
- \c \\textbf{...} \c \\mathbf{...} \c {\\bf...} \c {\\bfseries...}: draw the contained text in bold face \image html jkqtmathtext/jkqtmathtext_bold.png
- \c \\textit{...} \c \\mathit{...} \c {\\it...} \c {\\itshape...} : draw the contained text in italic face \image html jkqtmathtext/jkqtmathtext_italic.png
- \c \\emph{...} : emphasize text \image html jkqtmathtext/jkqtmathtext_emph.png
- \c \\textsc{...} \c \\mathsc{...} \c {\\sc...} \c {\\scshape...} : draw the text in small caps \image html jkqtmathtext/jkqtmathtext_sc.png
- \c \\uppercase{...} : draw the text in all uppercase \image html jkqtmathtext/jkqtmathtext_uppercase.png
- \c \\lowercase{...} : draw the text in all uppercase \image html jkqtmathtext/jkqtmathtext_lowercase.png
.
\subsection JKQTMathTextSuppoertedLaTeXFontPropsFonts Font Selection
These instructions are supported to select a font:
- \c \\textrm{...} \c \\mathrm{...} \c {\\rm...} \c {\\rmfamily...} \c \\mbox{...} : draw the contained text in normal upright roman font face \image html jkqtmathtext/jkqtmathtext_fonts.png
- \c \\textsf{...} \c \\mathsf{...} \c {\\sf...} \c {\\sffamily...} : draw the contained text in normal upright sans-serif font face \image html jkqtmathtext/jkqtmathtext_fonts.png
- \c \\textcal{...} \c \\mathcal{...} \c {\\cal...} : draw the contained text in caligraphic font face \image html jkqtmathtext/jkqtmathtext_cal.png
- \c \\textfrak{...} \c \\mathfrak{...} \c {\\frak...} : draw the contained text in fraktur font face \image html jkqtmathtext/jkqtmathtext_frak.png
- \c \\textscript{...} \c \\mathscript{...} \c {\\script...} : draw the contained text in script font face \image html jkqtmathtext/jkqtmathtext_script.png
- \c \\texttt{...} \c \\mathtt{...} \c {\\tt...} \c {\\ttshape...} : draw text in typewriter font \image html jkqtmathtext/jkqtmathtext_fonts.png
- \c \\userfont{font}{...} : draw text in a user-specific font, available on the system \image html jkqtmathtext/jkqtmathtext_userfont.png (generated by <code>default, \\userfont{Arial}{Arial}, \\userfont{Comic Sans MS}{Comic Sans MS}</code> )
- \c \\textbb{...} \c \\mathbb{...} : draw the contained text in blackboard font face \image html jkqtmathtext/jkqtmathtext_bb.png
Blackboard fonts are not widely available on target systems (viable fonts are e.g. <code>"Double Stroke", "CloisterOpenFace BT", "GoudyHandtooled BT", "Castellar", "MathJax_AMS", "Castellar Standard", "MathJax_AMS Standard", "Colonna MT"</code>). But the most important blackboard characters are usually available in the higher unicode codepoints of Fonts specialized for math (e.g. XIST, STIX, ASANA). Therefore JKQTMathText supports using these characters, or simulating a blackboard font in addition to using one of the fonts above. You can set that by setting JKQTMathText::setFontBlackboradMode() with one of the options from JKQTMathTextBlackboradDrawingMode:
- MTBBDMfontDirectly: use a blackboard font specified by JKQTMathText::setFontBlackboard() \image html jkqtmathtext/jkqtmathtext_bb_font_directly.png using \c JKQTMathText::setFontBlackboard("Castellar")
- MTBBDMsimulate: \image html jkqtmathtext/jkqtmathtext_bb_simulate.png using \c JKQTMathText::setFontBlackboard("Arial")
- MTBBDMunicodeCharactersOrFontDirectly: \image html jkqtmathtext/jkqtmathtext_bb_unicode_or_font_directly.png using \c JKQTMathText::setFontBlackboard("Castellar")
- MTBBDMunicodeCharactersOrSimulate: \image html jkqtmathtext/jkqtmathtext_bb_unicode_or_simulate.png using \c JKQTMathText::setFontBlackboard("Arial")
.
- \c \\textscript{...} \c \\mathscript{...} \c {\\script...} : draw the contained text in a script font face \image html jkqtmathtext/jkqtmathtext_fonts.png
.
\subsection JKQTMathTextSuppoertedLaTeXFontPropsFontSizes Font Sizes
JKQTMathText supports these instructions for font size:
- \c {\\tiny...}
- \c {\\ssmall...}
- \c {\\scriptsize...}
- \c {\\footnotesize...}
- \c {\\small...}
- \c {\\normalsize...} switches back to the default font size
- \c {\\large...}
- \c {\\Large...}
- \c {\\LARGE...}
- \c {\\huge...}
- \c {\\Huge...}
- \c {\\userfontsize{pointsize}...}
.
\image html jkqtmathtext/jkqtmathtext_fontsizes.png
JKQTMathText supports these instructions for font size in math mode:
- \c $\\displaystyle...$ switches back to the default font size
- \c $\\textstyle...$ switches back to the default font size
- \c $\\scriptstyle...$
- \c $\\scriptscriptstyle...$
.
\image html jkqtmathtext/jkqtmathtext_mathfontsizes.png
\subsection JKQTMathTextSuppoertedLaTeXUnderlinesEtz Text Decoration: Underline, Overlines, Strikeout, ...
JKQTMathText supports several LaTeX instruction to decorate the text with underlines, overlines, etc:
- \c \\ul{...} , \c \\underline{...} , \c \\uline{...} \c \\underlined{...} : draw the text with underlining \image html jkqtmathtext/jkqtmathtext_ul.png
- \c \\uul{...} : draw the text with double-underlining \image html jkqtmathtext/jkqtmathtext_uul.png
- \c \\dashuline{...} : draw the text with dashed underlining \image html jkqtmathtext/jkqtmathtext_dashuline.png
- \c \\dotuline{...} : draw the text with dotted underlining \image html jkqtmathtext/jkqtmathtext_dotuline.png
2022-08-02 18:20:15 +08:00
- \c \\ol{...} \c \\overline{...} \c \\overlined{...} : draw the text with overlining \image html jkqtmathtext/jkqtmathtext_ol.png
- \c \\ool{...} : draw the text with double-overlining \image html jkqtmathtext/jkqtmathtext_ool.png
2022-08-02 18:20:15 +08:00
- \c \\sout{...} : strike out the text \image html jkqtmathtext/MTDstrike.png
- \c \\cancel{...} : slanted strike out the text \image html jkqtmathtext/MTDcancel.png
- \c \\bcancel{...} : back-strike out the text \image html jkqtmathtext/MTDbcancel.png
- \c \\xcancel{...} : x-strike out the text \image html jkqtmathtext/MTDxcancel.png
- <code>\\vec{x} \\dot{x} \\ddot{x} \\overline{x} \\underline{x} \\hat{x} \\tilde{x} \\uul{x} \\ool{x} \\bar{x} \\arrow{x} \\widehat{x} \\widetilde{x} ...</code>: Decorations over/under symbols \image html jkqtmathtext/jkqtmathtext_mathdeco.png
\image html jkqtmathtext/jkqtmathtext_mathaccents.png
.
\subsection JKQTMathTextSuppoertedLaTeXTextColor Text Color
JKQTMathText supports several standard commands to set the text color:
- \c \\textcolor{color}{...} \c \\mathcolor{color}{...} : draw colored text \image html jkqtmathtext/jkqtmathtext_colored.png
- \c {\\color{color}...} : same as above
2022-08-02 18:20:15 +08:00
.
You can use all color names like (\c black , \c blue , \c yellow , \c transparent , ... see e.g. <a href="https://www.w3.org/TR/SVG11/types.html#ColorKeywords">https://www.w3.org/TR/SVG11/types.html#ColorKeywords</a> or <a href="https://en.wikipedia.org/wiki/Web_colors">https://en.wikipedia.org/wiki/Web_colors</a>) or a color defined via \c #RGB \c #RRGGBB \c #AARRGGBB \c #RRRGGGBBB \c #RRRRGGGGBBBB (where R,G,B are HEX-digits)
\see jkqtp_String2QColor()
2022-08-02 18:20:15 +08:00
\section JKQTMathTextSuppoertedLaTeXBoxes Boxes
These instructions draw boxes in various ways:
- \c \\boxed{...} : draw text with a box around it \image html jkqtmathtext/jkqtmathtext_boxed.png
- \c \\snugbox{...} : draw text with a snug box around it \image html jkqtmathtext/jkqtmathtext_snugbox.png
2022-08-02 18:20:15 +08:00
- \c \\doublebox{...} : draw text with a rounded box around it \image html jkqtmathtext/jkqtmathtext_doublebox.png
- \c \\ovalbox{...} : draw text with a rounded box around it \image html jkqtmathtext/jkqtmathtext_ovalboxed.png
- \c \\Ovalbox{...} : draw a thick oval box \image html jkqtmathtext/jkqtmathtext_oovalbox.png
- \c \\dashbox{...} , \c \\dbox{...} : draw a dashed box \image html jkqtmathtext/jkqtmathtext_dashbox.png
- \c \\dottedbox{...} : draw a dottted box \image html jkqtmathtext/jkqtmathtext_dottedbox.png
- \c \\ovaldoublebox{...} : draw a double oval box \image html jkqtmathtext/jkqtmathtext_doubleovalbox.png
- \c \\colorbox{bordercolor}{...} : draw a colored box (see \ref JKQTMathTextSuppoertedLaTeXTextColor for accepted colors) \image html jkqtmathtext/jkqtmathtext_colorbox.png
- \c \\shaded{backgroundcolor}{...} : draw a filled box (see \ref JKQTMathTextSuppoertedLaTeXTextColor for accepted colors) \image html jkqtmathtext/jkqtmathtext_shaded.png
- \c \\snugshade{...} : draw text with a snug shade around it (see \ref JKQTMathTextSuppoertedLaTeXTextColor for accepted colors) \image html jkqtmathtext/jkqtmathtext_snugshade.png
- \c \\fcolorbox{bordercolor}{backgroundcolor}{...} : draw a colored, filled box (see \ref JKQTMathTextSuppoertedLaTeXTextColor for accepted colors) \image html jkqtmathtext/jkqtmathtext_fcolorbox.png
- \c \\colorbox{color}{...} : draw a colored box around text (see \ref JKQTMathTextSuppoertedLaTeXTextColor for accepted colors) \image html jkqtmathtext/jkqtmathtext_colorbox.png
2022-08-02 18:20:15 +08:00
.
\section JKQTMathTextSuppoertedLaTeXVerbatim Verbatim Text
Sometimes it is necessary to typeset text withou interpreting it as LaTeX markup. These instructions are implemented for that:
2024-02-12 22:01:46 +08:00
- <code>\\verb!...!</code>: interpret enclosed text between \c ! as verbose. Instead of \ ! you can choose ANY character! \image html jkqtmathtext/jkqtmathtext_verb.png "generated by <code>\\verb!\\LaTeX{} is not pares inside \\verb~..~! outside {\\backslash}verb</code>"
- <code>\\begin{verbatim}...\\end{verbatim}</code>: interpret enclosed multi-line text as verbatim. \image html jkqtmathtext/jkqtmathtext_verbatim.png
- <code>\\begin{lstlisting}...\\end{lstlisting}</code>: actually menat for highlighted code, for now this is the same as \c \\begin{verbatim}...\\end{verbatim}. \image html jkqtmathtext/jkqtmathtext_lstlisting.png
- <code>\\begin{verbatim*}...\\end{verbatim*}</code>: interpret enclosed multi-line text as verbatim. Print with visible whitespace and tab characters \image html jkqtmathtext/jkqtmathtext_verbatimast.png
.
2022-08-02 18:20:15 +08:00
\section JKQTMathTextSuppoertedLaTeXSymbols Symbols and special characters
2022-08-08 16:39:15 +08:00
These instructions draw different types of characters and symbols:
- \c \\alpha ... : display the according greek letter in italic style (see \ref jkqtmathtext_supportedlatexsymbols ) \image html jkqtmathtext/jkqtmathtext_greek.png
- \c \\upalpha ... : display the according upright greek letter. This letter is always upright, independent of the surrounding environment (see \ref jkqtmathtext_supportedlatexsymbols ) \image html jkqtmathtext/jkqtmathtext_upgreek.png
- \c \\textalpha ... : display the according greek letter with italic style defined by the current environment (i.e. italic in mathmode or inside \c \\textit{\\alpha} and upright in text mode). (see \ref jkqtmathtext_supportedlatexsymbols ) \image html jkqtmathtext/jkqtmathtext_textgreek.png
2024-02-12 22:01:46 +08:00
- \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 <code>A: \\char65, circonflex: \\char\"109 accent: \\char\'351</code>)"
- \c \\unicode{HEX} and \c \\usym{HEX} : draws a unicode character from its 32-bit codepoint \image html jkqtmathtext/jkqtmathtext_unicode.png "(generated by <code>star: \\unicode{2605}, circonflex: \\unicode{109} emoticons: \\usym{1F440} \\usym{1F929}</code>)"
- \c \\utfeight{HEX} : draws a unicode character from its UTF-8 encoding \image html jkqtmathtext/jkqtmathtext_utf8.png "(generated by <code>star: \\utfeight{e29885} emoticons \\utfeight{F09F9881} \\utfeight{f09f98bb}</code>)"
- The usual LaTeX-accent commands are also implemented here and work as expected in text-mode, provided the matching unicode characters are available in the current font.
\image html jkqtmathtext/jkqtmathtext_textaccents.png
- In math-mode the text-accent commands do not work. here you have to use the math-mode commands:
\image html jkqtmathtext/jkqtmathtext_mathaccents.png
2022-08-02 18:20:15 +08:00
- \c \\{ / \\} : display opening/closing brace
- \c \\_ : display underscore
2022-08-08 05:11:14 +08:00
- \c \\sum \c \\prod \c \\int ... : plot special symbol (see \ref jkqtmathtext_supportedlatexsymbols ). Note that depending on the fontEncoding the available
2022-08-02 18:20:15 +08:00
symbols may differ (there are not all symbols defined in the MS Windows Symbol
font!). Best coverage should be given by Unicode font encoding with a good
unicode font installed!<br>\image html jkqtmathtext/jkqtmathtext_symbols.png
- \c - : draw a hyphen \image html jkqtmathtext/jkqtmathtext_hyphen.png
- \c -- : draw an en-dash \image html jkqtmathtext/jkqtmathtext_endash.png
- \c --- : draw an em-dash \image html jkqtmathtext/jkqtmathtext_emdash.png
.
2022-08-08 16:39:15 +08:00
\section JKQTMathTextSuppoertedLaTeXWhitespace Explicit Whitespaces
<table>
2022-08-19 19:59:31 +08:00
<tr>
<td>
<td>NONE
<td>\image html jkqtmathtext/jkqtmathtext_whitespace_none.png
2022-08-08 16:39:15 +08:00
<tr>
2022-08-11 01:21:54 +08:00
<td>\c \\ (backslash+whitespace)
2022-08-08 16:39:15 +08:00
<td>thicker whitespace (1/3em)
<td>\image html jkqtmathtext/jkqtmathtext_whitespace_thicker.png
<tr>
2022-08-11 01:21:54 +08:00
<td>\c \\enspace
2022-08-08 16:39:15 +08:00
<td>1en whitespace
<td>\image html jkqtmathtext/jkqtmathtext_whitespace_enspace.png
<tr>
2022-08-11 01:21:54 +08:00
<td>\c \\emspace / \c \\quad
2022-08-08 16:39:15 +08:00
<td>quad (1em) whitespace
<td>\image html jkqtmathtext/jkqtmathtext_whitespace_emspace.png
<tr>
2022-08-11 01:21:54 +08:00
<td>\c \\qquad
2022-08-08 16:39:15 +08:00
<td>qquad (2em) whitespace
<td>\image html jkqtmathtext/jkqtmathtext_whitespace_qquad.png
<tr>
2022-08-11 01:21:54 +08:00
<td>\c \\, / \c \\thinspace
2022-08-08 16:39:15 +08:00
<td>thin whitespace
<td>\image html jkqtmathtext/jkqtmathtext_whitespace_thinspace.png
<tr>
2022-08-11 01:21:54 +08:00
<td>\c \\: / \c \\medspace
2022-08-08 16:39:15 +08:00
<td>medium whitespace
<td>\image html jkqtmathtext/jkqtmathtext_whitespace_medspace.png
<tr>
2022-08-11 01:21:54 +08:00
<td>\c \\; / \c \\thickspace
2022-08-08 16:39:15 +08:00
<td>thick whitespace
<td>\image html jkqtmathtext/jkqtmathtext_whitespace_thickspace.png
<tr>
2022-08-11 01:21:54 +08:00
<td>\c \\! / \c \\negthinspace
2022-08-08 16:39:15 +08:00
<td>negative thin whitespace
<td>\image html jkqtmathtext/jkqtmathtext_whitespace_negthinspace.png
<tr>
2022-08-11 01:21:54 +08:00
<td>\c \\negmedspace
2022-08-08 16:39:15 +08:00
<td>negative medium whitespace
<td>\image html jkqtmathtext/jkqtmathtext_whitespace_negmedspace.png
<tr>
2022-08-11 01:21:54 +08:00
<td>\c \\negthickspace
2022-08-08 16:39:15 +08:00
<td>negative thick whitespace
<td>\image html jkqtmathtext/jkqtmathtext_whitespace_negthickspace.png
<tr>
2022-08-11 01:21:54 +08:00
<td>\c \\phantom{XXX}
<td>whitespace with the width and height of <code>XXX</code> (may contain LaTeX instructions)
<td>\image html jkqtmathtext/jkqtmathtext_whitespace_phantom.png
<tr>
2022-08-11 01:21:54 +08:00
<td>\c \\vphantom{XXX}
<td>whitespace with the height of <code>XXX</code> (may contain LaTeX instructions) and width 0
<td>\image html jkqtmathtext/jkqtmathtext_whitespace_vphantom.png
<tr>
2022-08-11 01:21:54 +08:00
<td>\c \\hphantom{XXX}
<td>whitespace with the width of <code>XXX</code> (may contain LaTeX instructions) and height 0
<td>\image html jkqtmathtext/jkqtmathtext_whitespace_hphantom.png
2022-08-08 16:39:15 +08:00
</table>
2022-08-02 18:20:15 +08:00
\section JKQTMathTextSuppoertedLaTeXTextAlignment Environments for Multi-line text
Several environments are supported that allow to layout text with linebreaks and different alignemnts:
- <code>$\\begin{document} ... \\\\ ... \\end{document}$</code> \image html jkqtmathtext/jkqtmathtext_beginflushleft.png
- <code>$\\begin{flushleft} ... \\\\ ... \\end{flushleft}$</code> \image html jkqtmathtext/jkqtmathtext_beginflushleft.png
- <code>$\\begin{flushright} ... \\\\ ... \\end{flushright}$</code> \image html jkqtmathtext/jkqtmathtext_beginflushright.png
- <code>$\\begin{center} ... \\\\ ... \\end{center}$</code> \image html jkqtmathtext/jkqtmathtext_begincenter.png
- <code>$\\begin{framed} ... \\\\ ... \\end{framed}$</code> \image html jkqtmathtext/jkqtmathtext_beginframed.png
- <code>$\\begin{shaded} ... \\\\ ... \\end{shaded}$</code> \image html jkqtmathtext/jkqtmathtext_beginshaded.png
- <code>$\\begin{snugshade} ... \\\\ ... \\end{snugshade}$</code> \image html jkqtmathtext/jkqtmathtext_beginsnugshade.png
.
\section JKQTMathTextSuppoertedLaTeXTabular Tabular Environments
2022-08-12 19:06:50 +08:00
\see Additional matrix-environments are listed in \ref JKQTMathTextSuppoertedLaTeXMatrix
For text-mode tables, the \c tabular -environment is supported:
- <code>$\\begin{tabular}{COLSPEC} a & b & ...\\\\ c & d & ...\\end{tabular}$</code>
\c COLSPEC is a LaTeX column specifier, i.e. a sequence composed of these parts:
2024-02-12 22:01:46 +08:00
- \c l : left-aligned column
- \c c : centered column
- \c r : right-aligned column
- \c | : single line
- \c || : double line
- \c : : single dashed line
- \c :: : double dashed line
.
2024-02-12 22:01:46 +08:00
.
In all these environments, you can use the following instructions to draw lines above/below a row in the matrix:
- \c \\hline or \c \\midrule: a single line
- \c \\hline\\hline : a double line
- \c \\toprule or \c \\bottomrule : a heavy line
- \c \\hdashline : a single dashed line
- \c \\hdashline\\hdashline : a double dashed line
2024-02-12 22:01:46 +08:00
.
2024-02-12 22:01:46 +08:00
Here is an example:
\code
\begin{tabular}{:l|cr||}
\hdashline
a1--- & b1--- & c1---\\
a2- & b2- & c2-\\
\hline
a3 & b3 & c3\\
\hline\hline
a4 & b4 & c4\\
\bottomrule
\end{tabular}
2024-02-12 22:01:46 +08:00
\endcode
2024-02-12 22:01:46 +08:00
\image html jkqtmathtext/jkqtmathtext_tabular.png
2022-08-02 18:20:15 +08:00
\section JKQTMathTextSuppoertedLaTeXMathSupport Supported Mathematical Constructs
\subsection JKQTMathTextSuppoertedLaTeXSubSuper Sub- and Superscript
The standard LaTeX sub-/superscript instructions (i.e. \c text_{sub} or \c text^{super} ) are supported:
- \c ^{...} \c _{...} : display the contents of braces in superscript/subscript \image html jkqtmathtext/jkqtmathtext_supersub.png
2022-08-02 18:20:15 +08:00
<br>Special subscript/superscript typesetting applies, when the sub/super follows \c \\sum \c \\Prod ...: \image html jkqtmathtext/jkqtmathtext_specialsubsuper.png
- \c \\limits , \c \\nolimits : Several special symbols, like \c \\sum , \c \\lim , ... cause sub-/superscripts to be positioned below/above the symbol, not besides it. This behaviour can be altered by using \c \\limits and \c \\nolimits : \image html jkqtmathtext/jkqtmathtext_limits.png
2022-08-12 19:36:15 +08:00
- <code>$\\substack[lrc]{...\\\\...}$</code> allows to e.g. subset several lines below a \c \\sum using \c \\sum\\limits_\\substack{a<5\\\\b<100}: \image html jkqtmathtext/jkqtmathtext_substack.png
- <code>$\\lsubstack{...\\\\...}$</code> \image html jkqtmathtext/jkqtmathtext_lsubstack.png
- <code>$\\rsubstack{...\\\\...}$</code> \image html jkqtmathtext/jkqtmathtext_rsubstack.png
2022-08-02 18:20:15 +08:00
.
\subsection JKQTMathTextSuppoertedLaTeXBraces Braces/Parantheses ...
Braces in math mode are adjusted in size, so they are a small bit (factor \c brace_factor ) larger than the contents.
To enable this you have to write braces with \c \\left and \c \\right. These types of braces are defined (slight
differences to LaTeX standard):
- \c \\left( \c \\right) : default meaning (), \image html jkqtmathtext/jkqtmathtext_brace_round.png
- \c \\left[ \c \\right] : default meaning [], \image html jkqtmathtext/jkqtmathtext_brace_rect.png
- \c \\left\\{ \c \\right\\} : default meaning {}, \image html jkqtmathtext/jkqtmathtext_brace_curly.png
- \c \\left\\langle \c \\right\\rangle : "averaging" braces , \image html jkqtmathtext/jkqtmathtext_brace_tri.png
2022-08-02 18:20:15 +08:00
- \c \\left\\lfloor \c \\right\\rfloor : floor braces , \image html jkqtmathtext/jkqtmathtext_brace_floor.png
- \c \\left\\lceil \c \\right\\rceil : ceil braces , \image html jkqtmathtext/jkqtmathtext_brace_ceil.png
2022-09-20 03:53:53 +08:00
- \c \\left| \c \\right| : absolute value braces | |, \image html jkqtmathtext/jkqtmathtext_brace_oneline.png
- \c \\left\\| \c \\right\\| : norm braces || ||, \image html jkqtmathtext/jkqtmathtext_brace_dblline.png
- \c \\left\\llcorner \c \\right\\lrcorner : lower corner braces , \image html jkqtmathtext/jkqtmathtext_brace_lcorner.png
- \c \\left\\ulcorner \c \\right\\urcorner : upper corner braces , \image html jkqtmathtext/jkqtmathtext_brace_ucorner.png
- You can use \c \\left. or \c \\right. to have only right or only left brace , \image html jkqtmathtext/jkqtmathtext_brace_dot.png generated by <code>{\\backslash}left.: $\\left. a\\cdot x^2\\right)$\\ \\ \\ \\ \\ {\\backslash}right.: $\\left( a\\cdot x^2\\right.$</code>
2022-08-02 18:20:15 +08:00
.
In additional fixed-size parantheses are available with the following family of instructions:
- \c \\bigl([\\{\\langle... , \c \\big([\\{\\langle... and \c \\bigr)]\\}\\rangle... \image html jkqtmathtext/jkqtmathtext_brace_big.png
- \c \\Bigl([\\{\\langle... , \c \\Big([\\{\\langle... and \c \\Bigr)]\\}\\rangle... \image html jkqtmathtext/jkqtmathtext_brace_bbig.png
- \c \\biggl([\\{\\langle... , \c \\bigg([\\{\\langle... and \c \\biggr)]\\}\\rangle... \image html jkqtmathtext/jkqtmathtext_brace_bigg.png
- \c \\Biggl([\\{\\langle... , \c \\Bigg([\\{\\langle... and \c \\Biggr)]\\}\\rangle... \image html jkqtmathtext/jkqtmathtext_brace_bbigg.png
.
They use the same rendering code as the standard \c \\left and \c \\right instructions. Here is an example:
\image html jkqtmathtext/jkqtmathtext_brace_bigfamily.png generated by <code> $\\Biggl\\langle\\biggl\\{\\Bigl[\\bigl( r^{123}\\bigr)\\Bigr]\\biggr\\}\\Biggr\\rangle$</code>
2022-08-02 18:20:15 +08:00
\subsection JKQTMathTextSuppoertedLaTeXRoots Roots
There are also instructions that allow to write roots:
- <code>$\\sqrt{1+\\sqrt{1+x}}$</code> \image html jkqtmathtext/jkqtmathtext_sqrt.png
- <code>$\\sqrt[3]{1+\\sqrt[3]{1+x}}$</code> \image html jkqtmathtext/jkqtmathtext_cbrt.png
.
\subsection JKQTMathTextSuppoertedLaTeXUnderOver Undersetting, Oversetting, Underbraces, Overbraces ...
There are also instructions that allow to under/overset braces, arrows, ...:
- <code>$\\underbrace{x+x+...+x}{k\\ \\mathrm{times}}$</code> \image html jkqtmathtext/MTFMunderbrace.png
- <code>$\\overbrace{x+x+...+x}{k\\ \\mathrm{times}}$</code> \image html jkqtmathtext/MTFMoverbrace.png
2022-08-02 18:20:15 +08:00
- <code>$\\underbracket{x+x+...+x}{k\\ \\mathrm{times}}$</code> \image html jkqtmathtext/MTFMunderbracket.png
- <code>$\\overbracket{x+x+...+x}{k\\ \\mathrm{times}}$</code> \image html jkqtmathtext/MTFMoverbracket.png
- <code>$\\overset{main}{over}$</code> \image html jkqtmathtext/MTFMoverset.png
- <code>$\\underset{main}{under}$</code> \image html jkqtmathtext/MTFMunderset.png
2022-08-02 18:20:15 +08:00
.
\subsection JKQTMathTextSuppoertedLaTeXFrac Fraction Type Instructions
Several fraction-typed LaTeX instructions are supported:
2022-08-02 18:20:15 +08:00
- <code>$\\frac{...}{...}$</code> \image html jkqtmathtext/MTFMfrac.png
- <code>$\\tfrac{...}{...}$</code> (70% smaller font) \image html jkqtmathtext/MTFMtfrac.png
- <code>$\\dfrac{...}{...}$</code> \image html jkqtmathtext/MTFMdfrac.png
- <code>$\\sfrac{...}{...}$</code> \image html jkqtmathtext/MTFMsfrac.png
- <code>$\\stfrac{...}{...}$</code> (70% smaller font) \image html jkqtmathtext/MTFMstfrac.png
- <code>$\\stackrel{...}{...}$ $\\binom{...}{...}$</code> \image html jkqtmathtext/jkqtmathtext_brace_stackrel.png
2022-08-02 18:20:15 +08:00
.
\subsection JKQTMathTextSuppoertedLaTeXMatrix Matrix/Array Type Instructions
Simple instructions are:
2022-08-02 18:20:15 +08:00
- <code>$\\stackrel{...}{...}$ $\\binom{...}{...}$</code> \image html jkqtmathtext/jkqtmathtext_brace_stackrel.png
.
Several Matrix/Array-typed LaTeX instructions are supported:
2022-08-02 18:20:15 +08:00
- <code>$\\begin{cases} ... & ... \\\\ ... & ... \\end{cases}$</code> \image html jkqtmathtext/jkqtmathtext_brace_begincases.png
- <code>$\\begin{matrix} a & b & ...\\\\ c & d & ...\\end{matrix}$</code> \image html jkqtmathtext/jkqtmathtext_matrix.png
2022-08-02 18:20:15 +08:00
- <code>$\\begin{pmatrix} a & b & ...\\\\ c & d & ...\\end{pmatrix}$</code> \image html jkqtmathtext/jkqtmathtext_pmatrix.png
- <code>$\\begin{bmatrix} a & b & ...\\\\ c & d & ...\\end{bmatrix}$</code> \image html jkqtmathtext/jkqtmathtext_bmatrix.png
- <code>$\\begin{Bmatrix} a & b & ...\\\\ c & d & ...\\end{Bmatrix}$</code> \image html jkqtmathtext/jkqtmathtext_bbmatrix.png
- <code>$\\begin{vmatrix} a & b & ...\\\\ c & d & ...\\end{vmatrix}$</code> \image html jkqtmathtext/jkqtmathtext_vmatrix.png
- <code>$\\begin{Vmatrix} a & b & ...\\\\ c & d & ...\\end{Vmatrix}$</code> \image html jkqtmathtext/jkqtmathtext_vvmatrix.png
- <code>$\\begin{array}{COLSPEC} a & b & ...\\\\ c & d & ...\\end{array}$</code> \image html jkqtmathtext/jkqtmathtext_array.png
\c COLSPEC is a LaTeX column specifier, i.e. a sequence composed of these parts:
2022-09-20 03:53:53 +08:00
<ul>
<li> \c l : left-aligned column
<li> \c c : centered column
<li> \c r : right-aligned column
<li> \c | : single line
<li> \c || : double line
<li> \c : : single dashed line
<li> \c :: : double dashed line
</ul>
.
2022-09-20 03:53:53 +08:00
In all these environments, you can use the following instructions to draw lines above/below a row in the matrix:
- \c \\hline or \c \\midrule: a single line
- \c \\hline\\hline : a double line
- \c \\toprule or \c \\bottomrule : a heavy line
- \c \\hdashline : a single dashed line
- \c \\hdashline\\hdashline : a double dashed line
.
2022-08-02 18:20:15 +08:00
*/