1*6d38604fSBaptiste Daroussin.\" $Id: eqn.7,v 1.39 2020/01/10 11:55:04 schwarze Exp $ 261d06d6bSBaptiste Daroussin.\" 361d06d6bSBaptiste Daroussin.\" Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv> 461d06d6bSBaptiste Daroussin.\" Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org> 561d06d6bSBaptiste Daroussin.\" 661d06d6bSBaptiste Daroussin.\" Permission to use, copy, modify, and distribute this software for any 761d06d6bSBaptiste Daroussin.\" purpose with or without fee is hereby granted, provided that the above 861d06d6bSBaptiste Daroussin.\" copyright notice and this permission notice appear in all copies. 961d06d6bSBaptiste Daroussin.\" 1061d06d6bSBaptiste Daroussin.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 1161d06d6bSBaptiste Daroussin.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 1261d06d6bSBaptiste Daroussin.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 1361d06d6bSBaptiste Daroussin.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 1461d06d6bSBaptiste Daroussin.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1561d06d6bSBaptiste Daroussin.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1661d06d6bSBaptiste Daroussin.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 1761d06d6bSBaptiste Daroussin.\" 18*6d38604fSBaptiste Daroussin.Dd $Mdocdate: January 10 2020 $ 1961d06d6bSBaptiste Daroussin.Dt EQN 7 2061d06d6bSBaptiste Daroussin.Os 2161d06d6bSBaptiste Daroussin.Sh NAME 2261d06d6bSBaptiste Daroussin.Nm eqn 2361d06d6bSBaptiste Daroussin.Nd eqn language reference for mandoc 2461d06d6bSBaptiste Daroussin.Sh DESCRIPTION 2561d06d6bSBaptiste DaroussinThe 2661d06d6bSBaptiste Daroussin.Nm eqn 2761d06d6bSBaptiste Daroussinlanguage is an equation-formatting language. 2861d06d6bSBaptiste DaroussinIt is used within 2961d06d6bSBaptiste Daroussin.Xr mdoc 7 3061d06d6bSBaptiste Daroussinand 3161d06d6bSBaptiste Daroussin.Xr man 7 3261d06d6bSBaptiste Daroussin.Ux 3361d06d6bSBaptiste Daroussinmanual pages. 3461d06d6bSBaptiste DaroussinIt describes the 3561d06d6bSBaptiste Daroussin.Em structure 3661d06d6bSBaptiste Daroussinof an equation, not its mathematical meaning. 3761d06d6bSBaptiste DaroussinThis manual describes the 3861d06d6bSBaptiste Daroussin.Nm 3961d06d6bSBaptiste Daroussinlanguage accepted by the 4061d06d6bSBaptiste Daroussin.Xr mandoc 1 4161d06d6bSBaptiste Daroussinutility, which corresponds to the Second Edition 4261d06d6bSBaptiste Daroussin.Nm 4361d06d6bSBaptiste Daroussinspecification (see 4461d06d6bSBaptiste Daroussin.Sx SEE ALSO 4561d06d6bSBaptiste Daroussinfor references). 4661d06d6bSBaptiste Daroussin.Pp 47*6d38604fSBaptiste DaroussinAn equation starts with an input line containing exactly the characters 48*6d38604fSBaptiste Daroussin.Sq \&.EQ , 49*6d38604fSBaptiste Daroussinmay contain multiple input lines, and ends with an input line 50*6d38604fSBaptiste Daroussincontaining exactly the characters 51*6d38604fSBaptiste Daroussin.Sq \&.EN . 52*6d38604fSBaptiste DaroussinEquivalently, an equation can be given in the middle of a single 53*6d38604fSBaptiste Daroussintext input line by surrounding it with the equation delimiters 54*6d38604fSBaptiste Daroussindefined with the 55*6d38604fSBaptiste Daroussin.Cm delim 56*6d38604fSBaptiste Daroussinstatement. 5761d06d6bSBaptiste Daroussin.Pp 5861d06d6bSBaptiste DaroussinThe equation grammar is as follows, where quoted strings are 5961d06d6bSBaptiste Daroussincase-sensitive literals in the input: 6061d06d6bSBaptiste Daroussin.Bd -literal -offset indent 6161d06d6bSBaptiste Daroussineqn : box | eqn box 6261d06d6bSBaptiste Daroussinbox : text 6361d06d6bSBaptiste Daroussin | \(dq{\(dq eqn \(dq}\(dq 6461d06d6bSBaptiste Daroussin | \(dqdefine\(dq text text 6561d06d6bSBaptiste Daroussin | \(dqndefine\(dq text text 6661d06d6bSBaptiste Daroussin | \(dqtdefine\(dq text text 6761d06d6bSBaptiste Daroussin | \(dqgfont\(dq text 6861d06d6bSBaptiste Daroussin | \(dqgsize\(dq text 6961d06d6bSBaptiste Daroussin | \(dqset\(dq text text 7061d06d6bSBaptiste Daroussin | \(dqundef\(dq text 7161d06d6bSBaptiste Daroussin | \(dqsqrt\(dq box 7261d06d6bSBaptiste Daroussin | box pos box 7361d06d6bSBaptiste Daroussin | box mark 7461d06d6bSBaptiste Daroussin | \(dqmatrix\(dq \(dq{\(dq [col \(dq{\(dq list \(dq}\(dq]* \(dq}\(dq 7561d06d6bSBaptiste Daroussin | pile \(dq{\(dq list \(dq}\(dq 7661d06d6bSBaptiste Daroussin | font box 7761d06d6bSBaptiste Daroussin | \(dqsize\(dq text box 7861d06d6bSBaptiste Daroussin | \(dqleft\(dq text eqn [\(dqright\(dq text] 7961d06d6bSBaptiste Daroussincol : \(dqlcol\(dq | \(dqrcol\(dq | \(dqccol\(dq | \(dqcol\(dq 8061d06d6bSBaptiste Daroussintext : [^space\e\(dq]+ | \e\(dq.*\e\(dq 8161d06d6bSBaptiste Daroussinpile : \(dqlpile\(dq | \(dqcpile\(dq | \(dqrpile\(dq | \(dqpile\(dq 8261d06d6bSBaptiste Daroussinpos : \(dqover\(dq | \(dqsup\(dq | \(dqsub\(dq | \(dqto\(dq | \(dqfrom\(dq 8361d06d6bSBaptiste Daroussinmark : \(dqdot\(dq | \(dqdotdot\(dq | \(dqhat\(dq | \(dqtilde\(dq | \(dqvec\(dq 8461d06d6bSBaptiste Daroussin | \(dqdyad\(dq | \(dqbar\(dq | \(dqunder\(dq 8561d06d6bSBaptiste Daroussinfont : \(dqroman\(dq | \(dqitalic\(dq | \(dqbold\(dq | \(dqfat\(dq 8661d06d6bSBaptiste Daroussinlist : eqn 8761d06d6bSBaptiste Daroussin | list \(dqabove\(dq eqn 8861d06d6bSBaptiste Daroussinspace : [\e^~ \et] 8961d06d6bSBaptiste Daroussin.Ed 9061d06d6bSBaptiste Daroussin.Pp 9161d06d6bSBaptiste DaroussinWhite-space consists of the space, tab, circumflex, and tilde 9261d06d6bSBaptiste Daroussincharacters. 9361d06d6bSBaptiste DaroussinIt is required to delimit tokens consisting of alphabetic characters 9461d06d6bSBaptiste Daroussinand it is ignored at other places. 9561d06d6bSBaptiste DaroussinBraces and quotes also delimit tokens. 9661d06d6bSBaptiste DaroussinIf within a quoted string, these space characters are retained. 9761d06d6bSBaptiste DaroussinQuoted strings are also not scanned for keywords, glyph names, 9861d06d6bSBaptiste Daroussinand expansion of definitions. 9961d06d6bSBaptiste DaroussinTo print a literal quote character, it can be prepended with a 10061d06d6bSBaptiste Daroussinbackslash or expressed with the \e(dq escape sequence. 10161d06d6bSBaptiste Daroussin.Pp 10261d06d6bSBaptiste DaroussinSubequations can be enclosed in braces to pass them as arguments 10361d06d6bSBaptiste Daroussinto operation keywords, overriding standard operation precedence. 10461d06d6bSBaptiste DaroussinBraces can be nested. 10561d06d6bSBaptiste DaroussinTo set a brace verbatim, it needs to be enclosed in quotes. 10661d06d6bSBaptiste Daroussin.Pp 10761d06d6bSBaptiste DaroussinThe following text terms are translated into a rendered glyph, if 10861d06d6bSBaptiste Daroussinavailable: alpha, beta, chi, delta, epsilon, eta, gamma, iota, kappa, 10961d06d6bSBaptiste Daroussinlambda, mu, nu, omega, omicron, phi, pi, psi, rho, sigma, tau, theta, 11061d06d6bSBaptiste Daroussinupsilon, xi, zeta, DELTA, GAMMA, LAMBDA, OMEGA, PHI, PI, PSI, SIGMA, 11161d06d6bSBaptiste DaroussinTHETA, UPSILON, XI, inter (intersection), union (union), prod (product), 11261d06d6bSBaptiste Daroussinint (integral), sum (summation), grad (gradient), del (vector 11361d06d6bSBaptiste Daroussindifferential), times (multiply), cdot (center-dot), nothing (zero-width 11461d06d6bSBaptiste Daroussinspace), approx (approximately equals), prime (prime), half (one-half), 11561d06d6bSBaptiste Daroussinpartial (partial differential), inf (infinity), >> (much greater), << 11661d06d6bSBaptiste Daroussin(much less), <\- (left arrow), \-> (right arrow), +\- (plus-minus), != 11761d06d6bSBaptiste Daroussin(not equal), == (equivalence), <= (less-than-equal), and >= 11861d06d6bSBaptiste Daroussin(more-than-equal). 11961d06d6bSBaptiste DaroussinThe character escape sequences documented in 12061d06d6bSBaptiste Daroussin.Xr mandoc_char 7 12161d06d6bSBaptiste Daroussincan be used, too. 12261d06d6bSBaptiste Daroussin.Pp 12361d06d6bSBaptiste DaroussinThe following control statements are available: 12461d06d6bSBaptiste Daroussin.Bl -tag -width Ds 12561d06d6bSBaptiste Daroussin.It Cm define 12661d06d6bSBaptiste DaroussinReplace all occurrences of a key with a value. 12761d06d6bSBaptiste DaroussinIts syntax is as follows: 12861d06d6bSBaptiste Daroussin.Pp 12961d06d6bSBaptiste Daroussin.D1 Cm define Ar key cvalc 13061d06d6bSBaptiste Daroussin.Pp 13161d06d6bSBaptiste DaroussinThe first character of the value string, 13261d06d6bSBaptiste Daroussin.Ar c , 13361d06d6bSBaptiste Daroussinis used as the delimiter for the value 13461d06d6bSBaptiste Daroussin.Ar val . 13561d06d6bSBaptiste DaroussinThis allows for arbitrary enclosure of terms (not just quotes), such as 13661d06d6bSBaptiste Daroussin.Pp 13761d06d6bSBaptiste Daroussin.D1 Cm define Ar foo \(aqbar baz\(aq 13861d06d6bSBaptiste Daroussin.D1 Cm define Ar foo cbar bazc 13961d06d6bSBaptiste Daroussin.Pp 14061d06d6bSBaptiste DaroussinIt is an error to have an empty 14161d06d6bSBaptiste Daroussin.Ar key 14261d06d6bSBaptiste Daroussinor 14361d06d6bSBaptiste Daroussin.Ar val . 14461d06d6bSBaptiste DaroussinNote that a quoted 14561d06d6bSBaptiste Daroussin.Ar key 14661d06d6bSBaptiste Daroussincauses errors in some 14761d06d6bSBaptiste Daroussin.Nm 14861d06d6bSBaptiste Daroussinimplementations and should not be considered portable. 14961d06d6bSBaptiste DaroussinIt is not expanded for replacements. 15061d06d6bSBaptiste DaroussinDefinitions may refer to other definitions; these are evaluated 15161d06d6bSBaptiste Daroussinrecursively when text replacement occurs and not when the definition is 15261d06d6bSBaptiste Daroussincreated. 15361d06d6bSBaptiste Daroussin.Pp 15461d06d6bSBaptiste DaroussinDefinitions can create arbitrary strings, for example, the following is 15561d06d6bSBaptiste Daroussina legal construction. 15661d06d6bSBaptiste Daroussin.Bd -literal -offset indent 15761d06d6bSBaptiste Daroussindefine foo \(aqdefine\(aq 15861d06d6bSBaptiste Daroussinfoo bar \(aqbaz\(aq 15961d06d6bSBaptiste Daroussin.Ed 16061d06d6bSBaptiste Daroussin.Pp 16161d06d6bSBaptiste DaroussinSelf-referencing definitions will raise an error. 16261d06d6bSBaptiste DaroussinThe 16361d06d6bSBaptiste Daroussin.Cm ndefine 16461d06d6bSBaptiste Daroussinstatement is a synonym for 16561d06d6bSBaptiste Daroussin.Cm define , 16661d06d6bSBaptiste Daroussinwhile 16761d06d6bSBaptiste Daroussin.Cm tdefine 16861d06d6bSBaptiste Daroussinis discarded. 169*6d38604fSBaptiste Daroussin.It Cm delim 170*6d38604fSBaptiste DaroussinThis statement takes a string argument consisting of two bytes, 171*6d38604fSBaptiste Daroussinto be used as the opening and closing delimiters for equations 172*6d38604fSBaptiste Daroussinin the middle of text input lines. 173*6d38604fSBaptiste DaroussinConventionally, the dollar sign is used for both delimiters, 174*6d38604fSBaptiste Daroussinas follows: 175*6d38604fSBaptiste Daroussin.Bd -literal -offset indent 176*6d38604fSBaptiste Daroussin\&.EQ 177*6d38604fSBaptiste Daroussindelim $$ 178*6d38604fSBaptiste Daroussin\&.EN 179*6d38604fSBaptiste DaroussinAn equation like $sin pi = 0$ can now be entered 180*6d38604fSBaptiste Daroussinin the middle of a text input line. 181*6d38604fSBaptiste Daroussin.Ed 182*6d38604fSBaptiste Daroussin.Pp 183*6d38604fSBaptiste DaroussinThe special statement 184*6d38604fSBaptiste Daroussin.Cm delim off 185*6d38604fSBaptiste Daroussintemporarily disables previously declared delimiters and 186*6d38604fSBaptiste Daroussin.Cm delim on 187*6d38604fSBaptiste Daroussinreenables them. 18861d06d6bSBaptiste Daroussin.It Cm gfont 18961d06d6bSBaptiste DaroussinSet the default font of subsequent output. 19061d06d6bSBaptiste DaroussinIts syntax is as follows: 19161d06d6bSBaptiste Daroussin.Pp 19261d06d6bSBaptiste Daroussin.D1 Cm gfont Ar font 19361d06d6bSBaptiste Daroussin.Pp 19461d06d6bSBaptiste DaroussinIn mandoc, this value is discarded. 19561d06d6bSBaptiste Daroussin.It Cm gsize 19661d06d6bSBaptiste DaroussinSet the default size of subsequent output. 19761d06d6bSBaptiste DaroussinIts syntax is as follows: 19861d06d6bSBaptiste Daroussin.Pp 19961d06d6bSBaptiste Daroussin.D1 Cm gsize Oo +|\- Oc Ns Ar size 20061d06d6bSBaptiste Daroussin.Pp 20161d06d6bSBaptiste DaroussinThe 20261d06d6bSBaptiste Daroussin.Ar size 20361d06d6bSBaptiste Daroussinvalue should be an integer. 20461d06d6bSBaptiste DaroussinIf prepended by a sign, 20561d06d6bSBaptiste Daroussinthe font size is changed relative to the current size. 20661d06d6bSBaptiste Daroussin.It Cm set 20761d06d6bSBaptiste DaroussinSet an equation mode. 20861d06d6bSBaptiste DaroussinIn mandoc, both arguments are thrown away. 20961d06d6bSBaptiste DaroussinIts syntax is as follows: 21061d06d6bSBaptiste Daroussin.Pp 21161d06d6bSBaptiste Daroussin.D1 Cm set Ar key val 21261d06d6bSBaptiste Daroussin.Pp 21361d06d6bSBaptiste DaroussinThe 21461d06d6bSBaptiste Daroussin.Ar key 21561d06d6bSBaptiste Daroussinand 21661d06d6bSBaptiste Daroussin.Ar val 21761d06d6bSBaptiste Daroussinare not expanded for replacements. 21861d06d6bSBaptiste DaroussinThis statement is a GNU extension. 21961d06d6bSBaptiste Daroussin.It Cm undef 22061d06d6bSBaptiste DaroussinUnset a previously-defined key. 22161d06d6bSBaptiste DaroussinIts syntax is as follows: 22261d06d6bSBaptiste Daroussin.Pp 22361d06d6bSBaptiste Daroussin.D1 Cm define Ar key 22461d06d6bSBaptiste Daroussin.Pp 22561d06d6bSBaptiste DaroussinOnce invoked, the definition for 22661d06d6bSBaptiste Daroussin.Ar key 22761d06d6bSBaptiste Daroussinis discarded. 22861d06d6bSBaptiste DaroussinThe 22961d06d6bSBaptiste Daroussin.Ar key 23061d06d6bSBaptiste Daroussinis not expanded for replacements. 23161d06d6bSBaptiste DaroussinThis statement is a GNU extension. 23261d06d6bSBaptiste Daroussin.El 23361d06d6bSBaptiste Daroussin.Pp 23461d06d6bSBaptiste DaroussinOperation keywords have the following semantics: 23561d06d6bSBaptiste Daroussin.Bl -tag -width Ds 23661d06d6bSBaptiste Daroussin.It Cm above 23761d06d6bSBaptiste DaroussinSee 23861d06d6bSBaptiste Daroussin.Cm pile . 23961d06d6bSBaptiste Daroussin.It Cm bar 24061d06d6bSBaptiste DaroussinDraw a line over the preceding box. 24161d06d6bSBaptiste Daroussin.It Cm bold 24261d06d6bSBaptiste DaroussinSet the following box using bold font. 24361d06d6bSBaptiste Daroussin.It Cm ccol 24461d06d6bSBaptiste DaroussinLike 24561d06d6bSBaptiste Daroussin.Cm cpile , 24661d06d6bSBaptiste Daroussinbut for use in 24761d06d6bSBaptiste Daroussin.Cm matrix . 24861d06d6bSBaptiste Daroussin.It Cm cpile 24961d06d6bSBaptiste DaroussinLike 25061d06d6bSBaptiste Daroussin.Cm pile , 25161d06d6bSBaptiste Daroussinbut with slightly increased vertical spacing. 25261d06d6bSBaptiste Daroussin.It Cm dot 25361d06d6bSBaptiste DaroussinSet a single dot over the preceding box. 25461d06d6bSBaptiste Daroussin.It Cm dotdot 25561d06d6bSBaptiste DaroussinSet two dots (dieresis) over the preceding box. 25661d06d6bSBaptiste Daroussin.It Cm dyad 25761d06d6bSBaptiste DaroussinSet a dyad symbol (left-right arrow) over the preceding box. 25861d06d6bSBaptiste Daroussin.It Cm fat 25961d06d6bSBaptiste DaroussinA synonym for 26061d06d6bSBaptiste Daroussin.Cm bold . 26161d06d6bSBaptiste Daroussin.It Cm font 26261d06d6bSBaptiste DaroussinSet the second argument using the font specified by the first argument; 26361d06d6bSBaptiste Daroussincurrently not recognized by the 26461d06d6bSBaptiste Daroussin.Xr mandoc 1 26561d06d6bSBaptiste Daroussin.Nm 26661d06d6bSBaptiste Daroussinparser. 26761d06d6bSBaptiste Daroussin.It Cm from 26861d06d6bSBaptiste DaroussinSet the following box below the preceding box, 26961d06d6bSBaptiste Daroussinusing a slightly smaller font. 27061d06d6bSBaptiste DaroussinUsed for sums, integrals, limits, and the like. 27161d06d6bSBaptiste Daroussin.It Cm hat 27261d06d6bSBaptiste DaroussinSet a hat (circumflex) over the preceding box. 27361d06d6bSBaptiste Daroussin.It Cm italic 27461d06d6bSBaptiste DaroussinSet the following box using italic font. 27561d06d6bSBaptiste Daroussin.It Cm lcol 27661d06d6bSBaptiste DaroussinLike 27761d06d6bSBaptiste Daroussin.Cm lpile , 27861d06d6bSBaptiste Daroussinbut for use in 27961d06d6bSBaptiste Daroussin.Cm matrix . 28061d06d6bSBaptiste Daroussin.It Cm left 28161d06d6bSBaptiste DaroussinSet the first argument as a big left delimiter before the second argument. 28261d06d6bSBaptiste DaroussinAs an optional third argument, 28361d06d6bSBaptiste Daroussin.Cm right 28461d06d6bSBaptiste Daroussincan follow. 28561d06d6bSBaptiste DaroussinIn that case, the fourth argument is set as a big right delimiter after 28661d06d6bSBaptiste Daroussinthe second argument. 28761d06d6bSBaptiste Daroussin.It Cm lpile 28861d06d6bSBaptiste DaroussinLike 28961d06d6bSBaptiste Daroussin.Cm cpile , 29061d06d6bSBaptiste Daroussinbut subequations are left-justified. 29161d06d6bSBaptiste Daroussin.It Cm matrix 29261d06d6bSBaptiste DaroussinFollowed by a list of columns enclosed in braces. 29361d06d6bSBaptiste DaroussinAll columns need to have the same number of subequations. 29461d06d6bSBaptiste DaroussinThe columns are set as a matrix. 29561d06d6bSBaptiste DaroussinThe difference compared to multiple subsequent 29661d06d6bSBaptiste Daroussin.Cm pile 29761d06d6bSBaptiste Daroussinoperators is that in a 29861d06d6bSBaptiste Daroussin.Cm matrix , 29961d06d6bSBaptiste Daroussincorresponding subequations in all columns line up horizontally, 30061d06d6bSBaptiste Daroussinwhile each 30161d06d6bSBaptiste Daroussin.Cm pile 30261d06d6bSBaptiste Daroussindoes vertical spacing independently. 30361d06d6bSBaptiste Daroussin.It Cm over 30461d06d6bSBaptiste DaroussinSet a fraction. 30561d06d6bSBaptiste DaroussinThe preceding box is the numerator, the following box is the denominator. 30661d06d6bSBaptiste Daroussin.It Cm pile 30761d06d6bSBaptiste DaroussinFollowed by a list of subequations enclosed in braces, 30861d06d6bSBaptiste Daroussinthe subequations being separated by 30961d06d6bSBaptiste Daroussin.Cm above 31061d06d6bSBaptiste Daroussinkeywords. 31161d06d6bSBaptiste DaroussinSets the subequations one above the other, each of them centered. 31261d06d6bSBaptiste DaroussinTypically used to represent vectors in coordinate representation. 31361d06d6bSBaptiste Daroussin.It Cm rcol 31461d06d6bSBaptiste DaroussinLike 31561d06d6bSBaptiste Daroussin.Cm rpile , 31661d06d6bSBaptiste Daroussinbut for use in 31761d06d6bSBaptiste Daroussin.Cm matrix . 31861d06d6bSBaptiste Daroussin.It Cm right 31961d06d6bSBaptiste DaroussinSee 32061d06d6bSBaptiste Daroussin.Cm left ; 32161d06d6bSBaptiste Daroussin.Cm right 32261d06d6bSBaptiste Daroussincannot be used without 32361d06d6bSBaptiste Daroussin.Cm left . 32461d06d6bSBaptiste DaroussinTo set a big right delimiter without a big left delimiter, the following 32561d06d6bSBaptiste Daroussinconstruction can be used: 32661d06d6bSBaptiste Daroussin.Pp 32761d06d6bSBaptiste Daroussin.D1 Cm left No \(dq\(dq Ar box Cm right Ar delimiter 32861d06d6bSBaptiste Daroussin.It Cm roman 32961d06d6bSBaptiste DaroussinSet the following box using the default font. 33061d06d6bSBaptiste Daroussin.It Cm rpile 33161d06d6bSBaptiste DaroussinLike 33261d06d6bSBaptiste Daroussin.Cm cpile , 33361d06d6bSBaptiste Daroussinbut subequations are right-justified. 33461d06d6bSBaptiste Daroussin.It Cm size 33561d06d6bSBaptiste DaroussinSet the second argument with the font size specified by the first 33661d06d6bSBaptiste Daroussinargument; currently ignored by 33761d06d6bSBaptiste Daroussin.Xr mandoc 1 . 33861d06d6bSBaptiste DaroussinBy prepending a plus or minus sign to the first argument, 33961d06d6bSBaptiste Daroussinthe font size can be selected relative to the current size. 34061d06d6bSBaptiste Daroussin.It Cm sqrt 34161d06d6bSBaptiste DaroussinSet the square root of the following box. 34261d06d6bSBaptiste Daroussin.It Cm sub 34361d06d6bSBaptiste DaroussinSet the following box as a subscript to the preceding box. 34461d06d6bSBaptiste Daroussin.It Cm sup 34561d06d6bSBaptiste DaroussinSet the following box as a superscript to the preceding box. 34661d06d6bSBaptiste DaroussinAs a special case, if a 34761d06d6bSBaptiste Daroussin.Cm sup 34861d06d6bSBaptiste Daroussinclause immediately follows a 34961d06d6bSBaptiste Daroussin.Cm sub 35061d06d6bSBaptiste Daroussinclause as in 35161d06d6bSBaptiste Daroussin.Pp 35261d06d6bSBaptiste Daroussin.D1 Ar mainbox Cm sub Ar subbox Cm sup Ar supbox 35361d06d6bSBaptiste Daroussin.Pp 35461d06d6bSBaptiste Daroussinboth are set with respect to the same 35561d06d6bSBaptiste Daroussin.Ar mainbox , 35661d06d6bSBaptiste Daroussinthat is, 35761d06d6bSBaptiste Daroussin.Ar supbox 35861d06d6bSBaptiste Daroussinis set above 35961d06d6bSBaptiste Daroussin.Ar subbox . 36061d06d6bSBaptiste Daroussin.It Cm tilde 36161d06d6bSBaptiste DaroussinSet a tilde over the preceding box. 36261d06d6bSBaptiste Daroussin.It Cm to 36361d06d6bSBaptiste DaroussinSet the following box above the preceding box, 36461d06d6bSBaptiste Daroussinusing a slightly smaller font. 36561d06d6bSBaptiste DaroussinUsed for sums and integrals and the like. 36661d06d6bSBaptiste DaroussinAs a special case, if a 36761d06d6bSBaptiste Daroussin.Cm to 36861d06d6bSBaptiste Daroussinclause immediately follows a 36961d06d6bSBaptiste Daroussin.Cm from 37061d06d6bSBaptiste Daroussinclause as in 37161d06d6bSBaptiste Daroussin.Pp 37261d06d6bSBaptiste Daroussin.D1 Ar mainbox Cm from Ar frombox Cm to Ar tobox 37361d06d6bSBaptiste Daroussin.Pp 37461d06d6bSBaptiste Daroussinboth are set below and above the same 37561d06d6bSBaptiste Daroussin.Ar mainbox . 37661d06d6bSBaptiste Daroussin.It Cm under 37761d06d6bSBaptiste DaroussinUnderline the preceding box. 37861d06d6bSBaptiste Daroussin.It Cm vec 37961d06d6bSBaptiste DaroussinSet a vector symbol (right arrow) over the preceding box. 38061d06d6bSBaptiste Daroussin.El 38161d06d6bSBaptiste Daroussin.Pp 38261d06d6bSBaptiste DaroussinThe binary operations 38361d06d6bSBaptiste Daroussin.Cm from , 38461d06d6bSBaptiste Daroussin.Cm to , 38561d06d6bSBaptiste Daroussin.Cm sub , 38661d06d6bSBaptiste Daroussinand 38761d06d6bSBaptiste Daroussin.Cm sup 38861d06d6bSBaptiste Daroussingroup to the right, that is, 38961d06d6bSBaptiste Daroussin.Pp 39061d06d6bSBaptiste Daroussin.D1 Ar mainbox Cm sup Ar supbox Cm sub Ar subbox 39161d06d6bSBaptiste Daroussin.Pp 39261d06d6bSBaptiste Daroussinis the same as 39361d06d6bSBaptiste Daroussin.Pp 39461d06d6bSBaptiste Daroussin.D1 Ar mainbox Cm sup Brq Ar supbox Cm sub Ar subbox 39561d06d6bSBaptiste Daroussin.Pp 39661d06d6bSBaptiste Daroussinand different from 39761d06d6bSBaptiste Daroussin.Pp 39861d06d6bSBaptiste Daroussin.D1 Bro Ar mainbox Cm sup Ar supbox Brc Cm sub Ar subbox . 39961d06d6bSBaptiste Daroussin.Pp 40061d06d6bSBaptiste DaroussinBy contrast, 40161d06d6bSBaptiste Daroussin.Cm over 40261d06d6bSBaptiste Daroussingroups to the left. 40361d06d6bSBaptiste Daroussin.Pp 40461d06d6bSBaptiste DaroussinIn the following list, earlier operations bind more tightly than 40561d06d6bSBaptiste Daroussinlater operations: 40661d06d6bSBaptiste Daroussin.Pp 40761d06d6bSBaptiste Daroussin.Bl -enum -compact 40861d06d6bSBaptiste Daroussin.It 40961d06d6bSBaptiste Daroussin.Cm dyad , 41061d06d6bSBaptiste Daroussin.Cm vec , 41161d06d6bSBaptiste Daroussin.Cm under , 41261d06d6bSBaptiste Daroussin.Cm bar , 41361d06d6bSBaptiste Daroussin.Cm tilde , 41461d06d6bSBaptiste Daroussin.Cm hat , 41561d06d6bSBaptiste Daroussin.Cm dot , 41661d06d6bSBaptiste Daroussin.Cm dotdot 41761d06d6bSBaptiste Daroussin.It 41861d06d6bSBaptiste Daroussin.Cm fat , 41961d06d6bSBaptiste Daroussin.Cm roman , 42061d06d6bSBaptiste Daroussin.Cm italic , 42161d06d6bSBaptiste Daroussin.Cm bold , 42261d06d6bSBaptiste Daroussin.Cm size 42361d06d6bSBaptiste Daroussin.It 42461d06d6bSBaptiste Daroussin.Cm sub , 42561d06d6bSBaptiste Daroussin.Cm sup 42661d06d6bSBaptiste Daroussin.It 42761d06d6bSBaptiste Daroussin.Cm sqrt 42861d06d6bSBaptiste Daroussin.It 42961d06d6bSBaptiste Daroussin.Cm over 43061d06d6bSBaptiste Daroussin.It 43161d06d6bSBaptiste Daroussin.Cm from , 43261d06d6bSBaptiste Daroussin.Cm to 43361d06d6bSBaptiste Daroussin.El 43461d06d6bSBaptiste Daroussin.Sh COMPATIBILITY 43561d06d6bSBaptiste DaroussinThis section documents the compatibility of mandoc 43661d06d6bSBaptiste Daroussin.Nm 43761d06d6bSBaptiste Daroussinand the troff 43861d06d6bSBaptiste Daroussin.Nm 43961d06d6bSBaptiste Daroussinimplementation (including GNU troff). 44061d06d6bSBaptiste Daroussin.Pp 44161d06d6bSBaptiste Daroussin.Bl -dash -compact 44261d06d6bSBaptiste Daroussin.It 44361d06d6bSBaptiste DaroussinThe text string 44461d06d6bSBaptiste Daroussin.Sq \e\(dq 44561d06d6bSBaptiste Daroussinis interpreted as a literal quote in troff. 44661d06d6bSBaptiste DaroussinIn mandoc, this is interpreted as a comment. 44761d06d6bSBaptiste Daroussin.It 44861d06d6bSBaptiste DaroussinIn troff, The circumflex and tilde white-space symbols map to 44961d06d6bSBaptiste Daroussinfixed-width spaces. 45061d06d6bSBaptiste DaroussinIn mandoc, these characters are synonyms for the space character. 45161d06d6bSBaptiste Daroussin.It 45261d06d6bSBaptiste DaroussinThe troff implementation of 45361d06d6bSBaptiste Daroussin.Nm 45461d06d6bSBaptiste Daroussinallows for equation alignment with the 45561d06d6bSBaptiste Daroussin.Cm mark 45661d06d6bSBaptiste Daroussinand 45761d06d6bSBaptiste Daroussin.Cm lineup 45861d06d6bSBaptiste Daroussintokens. 45961d06d6bSBaptiste Daroussinmandoc discards these tokens. 46061d06d6bSBaptiste DaroussinThe 46161d06d6bSBaptiste Daroussin.Cm back Ar n , 46261d06d6bSBaptiste Daroussin.Cm fwd Ar n , 46361d06d6bSBaptiste Daroussin.Cm up Ar n , 46461d06d6bSBaptiste Daroussinand 46561d06d6bSBaptiste Daroussin.Cm down Ar n 46661d06d6bSBaptiste Daroussincommands are also ignored. 46761d06d6bSBaptiste Daroussin.El 46861d06d6bSBaptiste Daroussin.Sh SEE ALSO 46961d06d6bSBaptiste Daroussin.Xr mandoc 1 , 47061d06d6bSBaptiste Daroussin.Xr man 7 , 47161d06d6bSBaptiste Daroussin.Xr mandoc_char 7 , 47261d06d6bSBaptiste Daroussin.Xr mdoc 7 , 47361d06d6bSBaptiste Daroussin.Xr roff 7 47461d06d6bSBaptiste Daroussin.Rs 47561d06d6bSBaptiste Daroussin.%A Brian W. Kernighan 47661d06d6bSBaptiste Daroussin.%A Lorinda L. Cherry 47761d06d6bSBaptiste Daroussin.%T System for Typesetting Mathematics 47861d06d6bSBaptiste Daroussin.%J Communications of the ACM 47961d06d6bSBaptiste Daroussin.%V 18 48045a5aec3SBaptiste Daroussin.%P pp. 151\(en157 48161d06d6bSBaptiste Daroussin.%D March, 1975 48261d06d6bSBaptiste Daroussin.Re 48361d06d6bSBaptiste Daroussin.Rs 48461d06d6bSBaptiste Daroussin.%A Brian W. Kernighan 48561d06d6bSBaptiste Daroussin.%A Lorinda L. Cherry 48661d06d6bSBaptiste Daroussin.%T Typesetting Mathematics, User's Guide 48761d06d6bSBaptiste Daroussin.%D 1976 48861d06d6bSBaptiste Daroussin.Re 48961d06d6bSBaptiste Daroussin.Rs 49061d06d6bSBaptiste Daroussin.%A Brian W. Kernighan 49161d06d6bSBaptiste Daroussin.%A Lorinda L. Cherry 49261d06d6bSBaptiste Daroussin.%T Typesetting Mathematics, User's Guide (Second Edition) 49361d06d6bSBaptiste Daroussin.%D 1978 49461d06d6bSBaptiste Daroussin.Re 49561d06d6bSBaptiste Daroussin.Sh HISTORY 49661d06d6bSBaptiste DaroussinThe eqn utility, a preprocessor for troff, was originally written by 49761d06d6bSBaptiste DaroussinBrian W. Kernighan and Lorinda L. Cherry in 1975. 49861d06d6bSBaptiste DaroussinThe GNU reimplementation of eqn, part of the GNU troff package, was 49961d06d6bSBaptiste Daroussinreleased in 1989 by James Clark. 50061d06d6bSBaptiste DaroussinThe eqn component of 50161d06d6bSBaptiste Daroussin.Xr mandoc 1 50261d06d6bSBaptiste Daroussinwas added in 2011. 50361d06d6bSBaptiste Daroussin.Sh AUTHORS 50461d06d6bSBaptiste DaroussinThis 50561d06d6bSBaptiste Daroussin.Nm 50661d06d6bSBaptiste Daroussinreference was written by 50761d06d6bSBaptiste Daroussin.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv . 508