summaryrefslogtreecommitdiffstats
path: root/eqn_term.c
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup, no functional change:Ingo Schwarze2018-12-131-1/+1
| | | | | | No need to expose the eqn(7) syntax tree data structures everywhere. Move them to their own include file, "eqn.h". While here, delete the unused enum eqn_pilet.
* Render the eqn(7) "sqrt" function as U+221A in UTF-8 output.Ingo Schwarze2018-10-021-1/+1
| | | | | | This also agrees with what groff does. Suggested by an attendee of EuroBSDCon 2018 in Bucuresti. Written on the plane Bucuresti-Frankfurt returning from EuroBSDCon.
* remove spacing after another representation of unary minusIngo Schwarze2017-08-231-2/+4
|
* remove spacing after unary minusIngo Schwarze2017-08-231-2/+4
|
* eliminate white space after opening and before closing punctuationIngo Schwarze2017-08-231-1/+7
|
* Suppress spacing before certain kinds of lists.Ingo Schwarze2017-08-231-2/+12
| | | | | | | One benefit is a reduced probablity that a blank appears between a function name and the opening parenthesis introducing the arguments. The heuristics isn't perfect and may occasionally suppress a blank that wouldn't do harm.
* 1. Eliminate struct eqn, instead use the existing membersIngo Schwarze2017-07-081-2/+2
| | | | | | of struct roff_node which is allocated for each equation anyway. 2. Do not keep a list of equation parsers, one parser is enough. Minus fifty lines of code, no functional change.
* add parentheses to the output where required for disambiguationIngo Schwarze2017-07-071-5/+27
|
* Fix operator precedence according to Brian W. Kernighan and LorindaIngo Schwarze2017-07-061-9/+8
| | | | | L. Cherry, "Typesetting Mathematics - User's Guide (Second Edition)", August 15, 1978, paragraph 23; swarm of bugs pointed out by bentley@.
* The EQN_LISTONE box type is pointless.Ingo Schwarze2017-07-051-3/+6
| | | | | | Simplify by just using EQN_LIST with expectargs = 1. Noticed while investigating a bug report from bentley@. No functional change.
* Do not access a NULL pointer if a matrix or square root are empty.Ingo Schwarze2017-02-121-4/+7
| | | | Crashes found by tb@ with afl(1).
* Don't dereference NULL pointers when formatting missing denominators,Ingo Schwarze2015-01-011-8/+11
| | | | | subscripts, superscripts, or "from" or "to" arguments. Found by jsg@ with afl.
* major upgrade to eqn(7) terminal output;Ingo Schwarze2014-10-121-17/+64
| | | | | column vectors ("piles") and matrices are not yet pretty, but everything else is now more or less readable
* Get rid of HAVE_CONFIG_H, it is always defined; idea from libnbcompat.Ingo Schwarze2014-08-101-2/+2
| | | | | | Include <sys/types.h> where needed, it does not belong in config.h. Remove <stdio.h> from config.h; if it is missing somewhere, it should be added, but i cannot find a *.c file where it is missing.
* KNF: case (FOO): -> case FOO:, remove /* LINTED */ and /* ARGSUSED */,Ingo Schwarze2014-04-201-1/+2
| | | | | remove trailing whitespace and blanks before tabs, improve some indenting; no functional change
* Tuned the initial eqn output, making it completely simple. ThisKristaps Dzonsons2011-07-241-30/+24
| | | | completes a full initial eqn system, so I'm tagging a release on it.
* Flip on equation printing for -T[x]html.Kristaps Dzonsons2011-07-231-4/+4
|
* Add matrix support. Also remove "above" notion, as all elements in aKristaps Dzonsons2011-07-231-6/+0
| | | | list are delimited by their "aboveness" and it's superfluous.
* Add character output (-Tpdf, -Tps, -Tascii) for equations. This is theKristaps Dzonsons2011-07-221-0/+88
minimum: unseparated terms.