Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
utftex(1)		     General Commands Manual		       utftex(1)

NAME
     utftex - An UTF-8 unicode equation renderer

SYNOPSIS
     utftex [options] [equation] ...

DESCRIPTION
     The  aim  of utftex is to use the possibilities unicode provides to display
     math in simple UTF-8 encoded text.  utftex renders  mathematical  equations
     in  mono-space  unicode characters, i.e. unicode-art. It is intended to in-
     sert equations in source code, e-mails, and man-pages. It	generally  works
     without introducing additional dependencies as most text editors and e-mail
     programs already support UTF-8 encoding out of the box.

     Unicode  provides	many code-points which are intended for mathematical ex-
     pressions. It even supplies some characters which are  intended  to  "draw"
     math  such  as the top (a ) and bottom (a!) of an integral symbol. This way
     you can draw an integral symbol such as this:
     a
     a(R)
     a!

     utftex uses an (ASCII or UTF-8 encoded) input with a syntax similar to  La-
     TeX and outputs an UTF-8 encoded text.

OPTIONS
     All  arguments  are  optional.  If no arguments are passed utftex will read
     one equation from stdin.

     [equation]
     Each [equation] argument is parsed as one latex equation  (i.e.  more  than
     one equation may be passed).

     [--line-width -l]
     Define  the  output line width. If it is 0 the line width is unlimited (de-
     fault). This causes utftex to insert line breaks at suitable places to  di-
     vide the expression over multiple lines. It is not guaranteed that suitable
     locations	are  found to insert line breaks and thus the actual line length
     may exceed the specified one.

     [--symbol-list -s]
     List all symbols supported by this version of  utftex.  Supported	in  this
     case  means  that an input command exists to generate the symbol as output,
     e.g. \alpha as input generates I+/- as output

     [--test-texsymbols -T]
     Same as above (list all symbols) in a more machine readable format.

     [--version -v]
     Print utftex and libtexprintf versions.

     [--show-input -i]
     Print input before the rendered results.

     [--wchar-width -w]
     Specify the size of wide characters. Valid sizes are 1 and 2. Default is 2.

     [--fchar-width -f]
     Specify the size of full width characters. Valid sizes are 1 and 2. Default
     is 2.

     [--default-font -F]
     Specify the default font style to use. See the Fonts below. The font  names
     correspond to the font commands minus the slash and the argument.	e.g. one
     could  pass "-F mathnormal". Without this option the default font is set to
     "text" as not all fonts support the other font styles.

     [--test-fonts -t]
     Print table with chacters in various styles.

     [--test-stexprintf -S]

     [--box-tree -B]
     Print box structure (for debugging purposes)

     [--ascii -A]
     Try to stick to ASCII characters. This  affects  all  "drawing"  characters
     used  for integral signs, brackets, fractions, and tables.  It does not af-
     fect symbols like lpha (The user can avoid those, and  there  is  no  ASCII
     equivalent for lpha).

     [--combine-errors -E]
     Combines error messages in a semicolon delimited string.

     [--mapsupersub -m]
     Turns  on	or off sub/super script mapping (mapping of sub/super scripts to
     corresponding unicode code points for sub/super script symbols).

     [--avoidcombining -a]
     Per default utftex tries to use combining	diacritical  marks  for  accents
     whenever  possible.  This toggle swhich will change this in trying to avoid
     combining characters unless no alternative is available.

     [--end-options -e]
     Ends the option parser (allows to pass equations starting with a minus).

SYNTAX
     Fonts: Unicode defines various font styles which may be accessed with  utf-
     tex. For this the following commands are available
     \mathsfbfit{...}	  Mathematical sans-serif bold italic fonts
     \mathsfbf{...}	  Mathematical sans-serif bold fonts
     \mathfrak{...}	  Fraktur caligraphic script
     \mathbfit{...}	  Mathematical serif bold italic fonts
     \mathsfit{...}	  Mathematical sans-serif italic fonts
     \mathcal{...}	  Mathematical caligraphic fonts
     \mathscr{...}	  Euler script fonts
     \mathbf{...}	  Mathematical serif bold fonts
     \mathbb{...}	  Mathematical black-board bold fonts
     \mathsf{...}	  Mathematical sans-serif fonts
     \mathtt{...}	  Mathematical typewriter fonts
     \mathnormal{...}	  Normal Mathematical fonts
     \text{...} 	  Roman fonts (plain font style)
     \it		  Switch current block to italic fonts
     \bf		  Switch current block to bold fonts
     \rm		  Switch current block to roman fonts

     commands to insert symbols, special characters, and operators
     There  is	a  large  set of symbols that may be inserted with the usual (or
     sometimes less usual) LaTeX commands.  You can list the  available  symbols
     and corresponding commands by running utftex with the --symbol-list option

     \frac{a}{b}, a\over b
     A fraction of a and b.

     a^{b}
     super-script  One can also omit the braces.  In this case the first charac-
     ter following ^ will be in super-scripted.

     a_{b}
     sub-script Works just like super-script only now it is a sub-script.

     \sqrt[n]{a}
     A n-th root of a, the argument [n] is optional.  Without it it produces the
     square root of a. Note that these commands draw a variable size radix.  The
     unicode  radix  signs (one character sized) are available as \utfsqrt \utf-
     sqrt[3] and \utfsqrt[4]

     \sum
     Expands to a large sigma symbol. The unicode sum symbol  can  be  generated
     using \utfsum.

     \prod
     Expands  to the product symbol. The unicode product symbol can be generated
     using \utfprod.

     \int[S]
     Expands to the integral symbol. The optional argument [S] makes the  symbol
     scale  with the height of the integrand. The unicode integral symbol can be
     generated using \utfint.

     \iint[S]
     Expands to a double integral symbol. The optional argument  [S]  makes  the
     symbol  scale with the height of the integrand. The unicode double integral
     symbol can be generated using \utfiint.

     \iiint[S]
     Expands to a triple integral symbol. The optional argument  [S]  makes  the
     symbol  scale with the height of the integrand. The unicode triple integral
     symbol can be generated using \utfiint.

     \iiiint[S]
     Expands to a quadruple integral symbol. The optional argument [S] makes the
     symbol scale with the height of the integrand. The unicode quadruple  inte-
     gral symbol can be generated using \utfiint.

     \idotsint[S]
     Expands to two integral symbols with dots in between. The optional argument
     [S] makes the symbol scale with the height of the integrand.

     \oint[S]
     A	contour  integral. The optional argument [S] makes the symbol scale with
     the height of the integrand.

     \oiint[S]
     A double contour integral. The optional argument [S] makes the symbol scale
     with the height of the integrand.

     \oiiint[S]
     A tripple contour integral. The optional  argument  [S]  makes  the  symbol
     scale with the height of the integrand.

     \oiiiint[S]
     A	quadruple  contour  integral. The optional argument [S] makes the symbol
     scale with the height of the integrand.

     \oidotsint[S]
     Expands to two contour integral symbols with dots in between. The	optional
     argument [S] makes the symbol scale with the height of the integrand.

     \left<delimiter> , \middle<delimiter> , \right<delimiter>
     Creates variable sized delimiters around and in between content.  Available
     variable size delimiters are:
     ( ), [ ], { }, < >, |,
     \uparrow, \Uparrow, \downarrow, \Downarrow, \updownarrow, \Updownarrow ,
     \lceil \rceil, \lfloor \rfloor,
     The \middle command is optional and may be omitted. The special dot (.) de-
     limiter  is a dummy delimiter that can be used to open or close a \left ...
     \right construct without a delimiter being shown.

     \lim
     Expands to a limit, i.e. \lim_{x \to 0}.

     \overline{X}, \bar{X}
     Draws a line above expression X

     \underline{X}
     Draws a line under expression X

     \\
     Insert a line break.

     \
     Escapes the character.

     \limits
     Controls the placements of sub and superscripts. Normally the sub	and  su-
     perscripts  are  places  to the left of its arguments. Using limits you can
     change this to centered below and above its argument, e.g. \int\limits_a^b

     \box{W}{H}
     Makes an empty box which is W characters wide and H characters  high.  This
     may be used to adjust spacing

     \raisebox{off}{...}
     Makes a box and raises its contents by off characters

     \phantom{...}
     Makes  an empty box with the same width and height as its rendered argument
     would have.

     \vphantom{...}
     Makes an empty box with 0 width and the same height as its  rendered  argu-
     ment would have.

     \hphantom{...}
     Makes  an	empty box with 0 height and the same width as its rendered argu-
     ment would have.

     \over
     Alternative way of making a fraction, e.g. "a \over b".

     \choose
     Alternative way of making a binominal, e.g. "n \choose k".

     \exp, \ln, \log, \min, \max, \sin,  \cos,	\tan,  \cot,  \arcsin,	\arccos,
     \arctan, \arccot, \sinh, \cosh, \tanh, \coth, \sec, \csc
     Functions (function names are formatted in normal text fonts)

     Environments
     Several array-like environments are available. The most general form is the
     array environment
     \begin{array}[pos]{column alignments}
	 a00 & a01 & ... a0n \\
	 a10 & a11 & ... a1n \\
	 ... & ... & ... ... \\
	 am0 & am1 & ... amn
     \end{array}
     Makes  an array.  The optional argument pos sets the alignment of the array
     to t(op), b(ottom) or c(enter).  The column alignments consist of one char-
     acter per column, l(eft), c(enter), or r(ight).  Horizontal  lines  may  be
     inserted with a \hline command. Vertical lines may be inserted by inserting
     |'s in the column alignment argument (as with LaTeX).
     Several derived environments are provided.
     \begin{aligned}
     \end{aligned}
     and
     \begin{align}
     \end{align}
     to align equiations.

     \begin{cases}
     \end{cases}
     Equivalent to \left{\begin{array}{c...c} ...\end{array}\right.

     \begin{pmatrix}
     \end{pmatrix}
     Equivalent to \left(\begin{array}{c...c} ...\end{array}\right)

     \begin{vmatrix}
     \end{vmatrix}
     Equivalent to \left|\begin{array}{c...c} ...\end{array}\right|

     \begin{bmatrix}
     \end{bmatrix}
     Equivalent to \left[\begin{array}{c...c} ...\end{array}\right]

     \begin{Bmatrix}
     \end{Bmatrix}
     Equivalent to \left{\begin{array}{c...c} ...\end{array}\right}

     \begin{matrix}
     \end{matrix}
     Equivalent to \begin{array}{c...c} ...\end{array}

A NOTE ON FONTS
     utftex  depends  on  mono-space fonts. If your equations are all misaligned
     make sure you use a mono-space fonts. If you do specify a mono-spaced font,
     be aware that most fonts do not support all  defined  unicode  code-points.
     When  a  font  does  not  provide	a requested unicode code-point your pro-
     gram/system may use a fall-back font or simply not  display  the  character
     properly. This could also mean your math will still get misaligned, despite
     using  a  monospace font, if the fall-back font is not mono-spaced. In this
     case make sure the fall-back font	is  mono-spaced  and  that  the  spacing
     matches  that of your primary font. I recommend "monospacifier" to generate
     an appropriate fall-back font for your primary font.  Get it at
     https://github.com/cpitclaudel/monospacifier

A NOTE ON COMBINING DIACRITICAL MARKS
     utftex provides commands to insert combining diacritical marks,  e.g.  \hat
     for  the Combining Circumflex Accent. In principle this system is great but
     due to limitations in layout engine and/or the used  fonts  such  combining
     characters  do  not always display properly and various glitches in display
     may be the result.

EXAMPLES
     If the following equations do not render properly make sure  you  read  and
     understood the section "A NOTE ON FONTS".	A simple fraction:
     utftex "\frac{1}{1+x}"
      1
     aaa
     1+x

     An arbitrary equation with the mathnormal font as default:
     utftex -F mathnormal '\lfloor x\rfloor  = x - \frac{1}{2} + \sum_{k=1}^{\infty}
     \frac{\sin(2 \pi k x)}{\pi k}'
		    a
	       1    a^2  sin(2 Idh dhY)
     adhYa = dhY - a +	a^3  aaaaaaaaaaa
	       2   dh=1      Idh

     A small table of Laplace transforms:
     utftex '\begin{array}{|l|l|}
     \hline
     f(t) & \mathscr{L}[f(t)]=F(s) \\\hline
     1 & \frac{1}{s} \\\hline
     e^{at}f(t) & F(s-a) \\\hline
     \delta(t) & 1 \\\hline
     \delta(t-t_0) & e^{-st_0} \\\hline
     \int_0^t f(x)g(t-x)dx & F(s)G(s) \hline
     \end{array}'
     aaaaaaaaaaaaaaaaaa~aaaaaaaaaaaaaaa
     af(t)	      a dh[f(t)]=F(s) a
     aaaaaaaaaaaaaaaaaa1/4aaaaaaaaaaaaaaax
     a		      a 1	     a
     a1 	      a a	     a
     a		      a s	     a
     aaaaaaaaaaaaaaaaaa1/4aaaaaaaaaaaaaaax
     a at	      a 	     a
     ae  f(t)	      a F(s-a)	     a
     aaaaaaaaaaaaaaaaaa1/4aaaaaaaaaaaaaaax
     aI'(t)	       a 1	      a
     aaaaaaaaaaaaaaaaaa1/4aaaaaaaaaaaaaaax
     a		      a  -st	     a
     a		      a     0	     a
     aI'(t-t )	       a e	      a
     a	   0	      a 	     a
     aaaaaaaaaaaaaaaaaa1/4aaaaaaaaaaaaaaax
     a t	      a 	     a
     aa 	       a	      a
     aa(R)  f(x)g(t-x)dx a F(s)G(s)	a
     aa!	       a	      a
     a 0	      a 	     a
     aaaaaaaaaaaaaaaaaa'aaaaaaaaaaaaaaa

AUTHOR
     Bart Pieters

LICENSE
     GNU GENERAL PUBLIC LICENSE Version 3

VERSION
     1.0

SEE ALSO
				   05 Jul 2022			       utftex(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=utftex&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help