1*3946d21eSschwarze.\" $OpenBSD: eqn.7,v 1.12 2020/01/10 11:54:05 schwarze Exp $ 26d10740dSschwarze.\" 36d10740dSschwarze.\" Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv> 47ef87578Sschwarze.\" Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org> 56d10740dSschwarze.\" 66d10740dSschwarze.\" Permission to use, copy, modify, and distribute this software for any 76d10740dSschwarze.\" purpose with or without fee is hereby granted, provided that the above 86d10740dSschwarze.\" copyright notice and this permission notice appear in all copies. 96d10740dSschwarze.\" 106d10740dSschwarze.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 116d10740dSschwarze.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 126d10740dSschwarze.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 136d10740dSschwarze.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 146d10740dSschwarze.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 156d10740dSschwarze.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 166d10740dSschwarze.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 176d10740dSschwarze.\" 18*3946d21eSschwarze.Dd $Mdocdate: January 10 2020 $ 196d10740dSschwarze.Dt EQN 7 206d10740dSschwarze.Os 216d10740dSschwarze.Sh NAME 226d10740dSschwarze.Nm eqn 236d10740dSschwarze.Nd eqn language reference for mandoc 246d10740dSschwarze.Sh DESCRIPTION 256d10740dSschwarzeThe 266d10740dSschwarze.Nm eqn 276ce7da03Sjmclanguage is an equation-formatting language. 286d10740dSschwarzeIt is used within 296d10740dSschwarze.Xr mdoc 7 306d10740dSschwarzeand 316d10740dSschwarze.Xr man 7 326d10740dSschwarze.Ux 336d10740dSschwarzemanual pages. 346d10740dSschwarzeIt describes the 356d10740dSschwarze.Em structure 366d10740dSschwarzeof an equation, not its mathematical meaning. 376d10740dSschwarzeThis manual describes the 386d10740dSschwarze.Nm 396d10740dSschwarzelanguage accepted by the 406d10740dSschwarze.Xr mandoc 1 417ef87578Sschwarzeutility, which corresponds to the Second Edition 427ef87578Sschwarze.Nm 437ef87578Sschwarzespecification (see 446d10740dSschwarze.Sx SEE ALSO 456d10740dSschwarzefor references). 466d10740dSschwarze.Pp 47*3946d21eSschwarzeAn equation starts with an input line containing exactly the characters 48*3946d21eSschwarze.Sq \&.EQ , 49*3946d21eSschwarzemay contain multiple input lines, and ends with an input line 50*3946d21eSschwarzecontaining exactly the characters 51*3946d21eSschwarze.Sq \&.EN . 52*3946d21eSschwarzeEquivalently, an equation can be given in the middle of a single 53*3946d21eSschwarzetext input line by surrounding it with the equation delimiters 54*3946d21eSschwarzedefined with the 55*3946d21eSschwarze.Cm delim 56*3946d21eSschwarzestatement. 576d10740dSschwarze.Pp 586d10740dSschwarzeThe equation grammar is as follows, where quoted strings are 596d10740dSschwarzecase-sensitive literals in the input: 606d10740dSschwarze.Bd -literal -offset indent 616d10740dSschwarzeeqn : box | eqn box 626d10740dSschwarzebox : text 639dbd6965Sbentley | \(dq{\(dq eqn \(dq}\(dq 649dbd6965Sbentley | \(dqdefine\(dq text text 659dbd6965Sbentley | \(dqndefine\(dq text text 669dbd6965Sbentley | \(dqtdefine\(dq text text 679dbd6965Sbentley | \(dqgfont\(dq text 689dbd6965Sbentley | \(dqgsize\(dq text 699dbd6965Sbentley | \(dqset\(dq text text 709dbd6965Sbentley | \(dqundef\(dq text 719dbd6965Sbentley | \(dqsqrt\(dq box 726d10740dSschwarze | box pos box 736d10740dSschwarze | box mark 74d89b856eSsobrado | \(dqmatrix\(dq \(dq{\(dq [col \(dq{\(dq list \(dq}\(dq]* \(dq}\(dq 759dbd6965Sbentley | pile \(dq{\(dq list \(dq}\(dq 766d10740dSschwarze | font box 779dbd6965Sbentley | \(dqsize\(dq text box 789dbd6965Sbentley | \(dqleft\(dq text eqn [\(dqright\(dq text] 799dbd6965Sbentleycol : \(dqlcol\(dq | \(dqrcol\(dq | \(dqccol\(dq | \(dqcol\(dq 809dbd6965Sbentleytext : [^space\e\(dq]+ | \e\(dq.*\e\(dq 819dbd6965Sbentleypile : \(dqlpile\(dq | \(dqcpile\(dq | \(dqrpile\(dq | \(dqpile\(dq 829dbd6965Sbentleypos : \(dqover\(dq | \(dqsup\(dq | \(dqsub\(dq | \(dqto\(dq | \(dqfrom\(dq 839dbd6965Sbentleymark : \(dqdot\(dq | \(dqdotdot\(dq | \(dqhat\(dq | \(dqtilde\(dq | \(dqvec\(dq 849dbd6965Sbentley | \(dqdyad\(dq | \(dqbar\(dq | \(dqunder\(dq 859dbd6965Sbentleyfont : \(dqroman\(dq | \(dqitalic\(dq | \(dqbold\(dq | \(dqfat\(dq 866d10740dSschwarzelist : eqn 879dbd6965Sbentley | list \(dqabove\(dq eqn 886d10740dSschwarzespace : [\e^~ \et] 896d10740dSschwarze.Ed 906d10740dSschwarze.Pp 916d10740dSschwarzeWhite-space consists of the space, tab, circumflex, and tilde 926d10740dSschwarzecharacters. 937ef87578SschwarzeIt is required to delimit tokens consisting of alphabetic characters 947ef87578Sschwarzeand it is ignored at other places. 957ef87578SschwarzeBraces and quotes also delimit tokens. 966d10740dSschwarzeIf within a quoted string, these space characters are retained. 977ef87578SschwarzeQuoted strings are also not scanned for keywords, glyph names, 987ef87578Sschwarzeand expansion of definitions. 997ef87578SschwarzeTo print a literal quote character, it can be prepended with a 1007ef87578Sschwarzebackslash or expressed with the \e(dq escape sequence. 1017ef87578Sschwarze.Pp 1027ef87578SschwarzeSubequations can be enclosed in braces to pass them as arguments 1037ef87578Sschwarzeto operation keywords, overriding standard operation precedence. 1047ef87578SschwarzeBraces can be nested. 1057ef87578SschwarzeTo set a brace verbatim, it needs to be enclosed in quotes. 1066d10740dSschwarze.Pp 1076d10740dSschwarzeThe following text terms are translated into a rendered glyph, if 1086d10740dSschwarzeavailable: alpha, beta, chi, delta, epsilon, eta, gamma, iota, kappa, 1096d10740dSschwarzelambda, mu, nu, omega, omicron, phi, pi, psi, rho, sigma, tau, theta, 1106d10740dSschwarzeupsilon, xi, zeta, DELTA, GAMMA, LAMBDA, OMEGA, PHI, PI, PSI, SIGMA, 1116d10740dSschwarzeTHETA, UPSILON, XI, inter (intersection), union (union), prod (product), 1126d10740dSschwarzeint (integral), sum (summation), grad (gradient), del (vector 113488433b5Stedudifferential), times (multiply), cdot (center-dot), nothing (zero-width 1146d10740dSschwarzespace), approx (approximately equals), prime (prime), half (one-half), 1156d10740dSschwarzepartial (partial differential), inf (infinity), >> (much greater), << 116ecfd6209Sbentley(much less), <\- (left arrow), \-> (right arrow), +\- (plus-minus), != 1176d10740dSschwarze(not equal), == (equivalence), <= (less-than-equal), and >= 1186d10740dSschwarze(more-than-equal). 1197ef87578SschwarzeThe character escape sequences documented in 1207ef87578Sschwarze.Xr mandoc_char 7 1217ef87578Sschwarzecan be used, too. 1226d10740dSschwarze.Pp 1236d10740dSschwarzeThe following control statements are available: 1246d10740dSschwarze.Bl -tag -width Ds 1256d10740dSschwarze.It Cm define 1266d10740dSschwarzeReplace all occurrences of a key with a value. 1276d10740dSschwarzeIts syntax is as follows: 1286d10740dSschwarze.Pp 1297ef87578Sschwarze.D1 Cm define Ar key cvalc 1306d10740dSschwarze.Pp 1316d10740dSschwarzeThe first character of the value string, 1326d10740dSschwarze.Ar c , 1336d10740dSschwarzeis used as the delimiter for the value 1346d10740dSschwarze.Ar val . 1356d10740dSschwarzeThis allows for arbitrary enclosure of terms (not just quotes), such as 1366d10740dSschwarze.Pp 13785adbebfSbentley.D1 Cm define Ar foo \(aqbar baz\(aq 1387ef87578Sschwarze.D1 Cm define Ar foo cbar bazc 1396d10740dSschwarze.Pp 1406d10740dSschwarzeIt is an error to have an empty 1416ce7da03Sjmc.Ar key 1426ce7da03Sjmcor 1436d10740dSschwarze.Ar val . 1446d10740dSschwarzeNote that a quoted 1456d10740dSschwarze.Ar key 1466d10740dSschwarzecauses errors in some 1476d10740dSschwarze.Nm 1486d10740dSschwarzeimplementations and should not be considered portable. 1496d10740dSschwarzeIt is not expanded for replacements. 1506d10740dSschwarzeDefinitions may refer to other definitions; these are evaluated 1516d10740dSschwarzerecursively when text replacement occurs and not when the definition is 1526d10740dSschwarzecreated. 1536d10740dSschwarze.Pp 1546d10740dSschwarzeDefinitions can create arbitrary strings, for example, the following is 1556d10740dSschwarzea legal construction. 1566d10740dSschwarze.Bd -literal -offset indent 15785adbebfSbentleydefine foo \(aqdefine\(aq 15885adbebfSbentleyfoo bar \(aqbaz\(aq 1596d10740dSschwarze.Ed 1606d10740dSschwarze.Pp 1616d10740dSschwarzeSelf-referencing definitions will raise an error. 1626d10740dSschwarzeThe 1636d10740dSschwarze.Cm ndefine 1646d10740dSschwarzestatement is a synonym for 1656d10740dSschwarze.Cm define , 1666d10740dSschwarzewhile 1676d10740dSschwarze.Cm tdefine 1686d10740dSschwarzeis discarded. 169*3946d21eSschwarze.It Cm delim 170*3946d21eSschwarzeThis statement takes a string argument consisting of two bytes, 171*3946d21eSschwarzeto be used as the opening and closing delimiters for equations 172*3946d21eSschwarzein the middle of text input lines. 173*3946d21eSschwarzeConventionally, the dollar sign is used for both delimiters, 174*3946d21eSschwarzeas follows: 175*3946d21eSschwarze.Bd -literal -offset indent 176*3946d21eSschwarze\&.EQ 177*3946d21eSschwarzedelim $$ 178*3946d21eSschwarze\&.EN 179*3946d21eSschwarzeAn equation like $sin pi = 0$ can now be entered 180*3946d21eSschwarzein the middle of a text input line. 181*3946d21eSschwarze.Ed 182*3946d21eSschwarze.Pp 183*3946d21eSschwarzeThe special statement 184*3946d21eSschwarze.Cm delim off 185*3946d21eSschwarzetemporarily disables previously declared delimiters and 186*3946d21eSschwarze.Cm delim on 187*3946d21eSschwarzereenables them. 1886d10740dSschwarze.It Cm gfont 1896d10740dSschwarzeSet the default font of subsequent output. 1906d10740dSschwarzeIts syntax is as follows: 1916d10740dSschwarze.Pp 1927ef87578Sschwarze.D1 Cm gfont Ar font 1936d10740dSschwarze.Pp 1946d10740dSschwarzeIn mandoc, this value is discarded. 1956d10740dSschwarze.It Cm gsize 1966d10740dSschwarzeSet the default size of subsequent output. 1976d10740dSschwarzeIts syntax is as follows: 1986d10740dSschwarze.Pp 1997ef87578Sschwarze.D1 Cm gsize Oo +|\- Oc Ns Ar size 2006d10740dSschwarze.Pp 2016d10740dSschwarzeThe 2026d10740dSschwarze.Ar size 2036d10740dSschwarzevalue should be an integer. 2047ef87578SschwarzeIf prepended by a sign, 2057ef87578Sschwarzethe font size is changed relative to the current size. 2066d10740dSschwarze.It Cm set 2076d10740dSschwarzeSet an equation mode. 2086d10740dSschwarzeIn mandoc, both arguments are thrown away. 2096d10740dSschwarzeIts syntax is as follows: 2106d10740dSschwarze.Pp 2117ef87578Sschwarze.D1 Cm set Ar key val 2126d10740dSschwarze.Pp 2136d10740dSschwarzeThe 2146d10740dSschwarze.Ar key 2156d10740dSschwarzeand 2166d10740dSschwarze.Ar val 2176d10740dSschwarzeare not expanded for replacements. 2186d10740dSschwarzeThis statement is a GNU extension. 2196d10740dSschwarze.It Cm undef 2206d10740dSschwarzeUnset a previously-defined key. 2216d10740dSschwarzeIts syntax is as follows: 2226d10740dSschwarze.Pp 2237ef87578Sschwarze.D1 Cm define Ar key 2246d10740dSschwarze.Pp 2256d10740dSschwarzeOnce invoked, the definition for 2266d10740dSschwarze.Ar key 2276d10740dSschwarzeis discarded. 2286d10740dSschwarzeThe 2296d10740dSschwarze.Ar key 2306d10740dSschwarzeis not expanded for replacements. 2316d10740dSschwarzeThis statement is a GNU extension. 2326d10740dSschwarze.El 2337ef87578Sschwarze.Pp 2347ef87578SschwarzeOperation keywords have the following semantics: 2357ef87578Sschwarze.Bl -tag -width Ds 2367ef87578Sschwarze.It Cm above 2377ef87578SschwarzeSee 2387ef87578Sschwarze.Cm pile . 2397ef87578Sschwarze.It Cm bar 2407ef87578SschwarzeDraw a line over the preceding box. 2417ef87578Sschwarze.It Cm bold 2427ef87578SschwarzeSet the following box using bold font. 2437ef87578Sschwarze.It Cm ccol 2447ef87578SschwarzeLike 2457ef87578Sschwarze.Cm cpile , 2467ef87578Sschwarzebut for use in 2477ef87578Sschwarze.Cm matrix . 2487ef87578Sschwarze.It Cm cpile 2497ef87578SschwarzeLike 2507ef87578Sschwarze.Cm pile , 2517ef87578Sschwarzebut with slightly increased vertical spacing. 2527ef87578Sschwarze.It Cm dot 2537ef87578SschwarzeSet a single dot over the preceding box. 2547ef87578Sschwarze.It Cm dotdot 2557ef87578SschwarzeSet two dots (dieresis) over the preceding box. 2567ef87578Sschwarze.It Cm dyad 2577ef87578SschwarzeSet a dyad symbol (left-right arrow) over the preceding box. 2587ef87578Sschwarze.It Cm fat 2597ef87578SschwarzeA synonym for 2607ef87578Sschwarze.Cm bold . 2617ef87578Sschwarze.It Cm font 2627ef87578SschwarzeSet the second argument using the font specified by the first argument; 2637ef87578Sschwarzecurrently not recognized by the 2647ef87578Sschwarze.Xr mandoc 1 2657ef87578Sschwarze.Nm 2667ef87578Sschwarzeparser. 2677ef87578Sschwarze.It Cm from 2687ef87578SschwarzeSet the following box below the preceding box, 2697ef87578Sschwarzeusing a slightly smaller font. 2707ef87578SschwarzeUsed for sums, integrals, limits, and the like. 2717ef87578Sschwarze.It Cm hat 2727ef87578SschwarzeSet a hat (circumflex) over the preceding box. 2737ef87578Sschwarze.It Cm italic 2747ef87578SschwarzeSet the following box using italic font. 2757ef87578Sschwarze.It Cm lcol 2767ef87578SschwarzeLike 2777ef87578Sschwarze.Cm lpile , 2787ef87578Sschwarzebut for use in 2797ef87578Sschwarze.Cm matrix . 2807ef87578Sschwarze.It Cm left 2817ef87578SschwarzeSet the first argument as a big left delimiter before the second argument. 2827ef87578SschwarzeAs an optional third argument, 2837ef87578Sschwarze.Cm right 2847ef87578Sschwarzecan follow. 2857ef87578SschwarzeIn that case, the fourth argument is set as a big right delimiter after 2867ef87578Sschwarzethe second argument. 2877ef87578Sschwarze.It Cm lpile 2887ef87578SschwarzeLike 2897ef87578Sschwarze.Cm cpile , 2907ef87578Sschwarzebut subequations are left-justified. 2917ef87578Sschwarze.It Cm matrix 2927ef87578SschwarzeFollowed by a list of columns enclosed in braces. 2937ef87578SschwarzeAll columns need to have the same number of subequations. 2947ef87578SschwarzeThe columns are set as a matrix. 2957ef87578SschwarzeThe difference compared to multiple subsequent 2967ef87578Sschwarze.Cm pile 2977ef87578Sschwarzeoperators is that in a 2987ef87578Sschwarze.Cm matrix , 2997ef87578Sschwarzecorresponding subequations in all columns line up horizontally, 3007ef87578Sschwarzewhile each 3017ef87578Sschwarze.Cm pile 3027ef87578Sschwarzedoes vertical spacing independently. 3037ef87578Sschwarze.It Cm over 3047ef87578SschwarzeSet a fraction. 3057ef87578SschwarzeThe preceding box is the numerator, the following box is the denominator. 3067ef87578Sschwarze.It Cm pile 3077ef87578SschwarzeFollowed by a list of subequations enclosed in braces, 3087ef87578Sschwarzethe subequations being separated by 3097ef87578Sschwarze.Cm above 3107ef87578Sschwarzekeywords. 3117ef87578SschwarzeSets the subequations one above the other, each of them centered. 3127ef87578SschwarzeTypically used to represent vectors in coordinate representation. 3137ef87578Sschwarze.It Cm rcol 3147ef87578SschwarzeLike 3157ef87578Sschwarze.Cm rpile , 3167ef87578Sschwarzebut for use in 3177ef87578Sschwarze.Cm matrix . 3187ef87578Sschwarze.It Cm right 3197ef87578SschwarzeSee 3207ef87578Sschwarze.Cm left ; 3217ef87578Sschwarze.Cm right 3227ef87578Sschwarzecannot be used without 3237ef87578Sschwarze.Cm left . 3247ef87578SschwarzeTo set a big right delimiter without a big left delimiter, the following 3257ef87578Sschwarzeconstruction can be used: 3267ef87578Sschwarze.Pp 3277ef87578Sschwarze.D1 Cm left No \(dq\(dq Ar box Cm right Ar delimiter 3287ef87578Sschwarze.It Cm roman 3297ef87578SschwarzeSet the following box using the default font. 3307ef87578Sschwarze.It Cm rpile 3317ef87578SschwarzeLike 3327ef87578Sschwarze.Cm cpile , 3337ef87578Sschwarzebut subequations are right-justified. 3347ef87578Sschwarze.It Cm size 3357ef87578SschwarzeSet the second argument with the font size specified by the first 3367ef87578Sschwarzeargument; currently ignored by 3377ef87578Sschwarze.Xr mandoc 1 . 3387ef87578SschwarzeBy prepending a plus or minus sign to the first argument, 3397ef87578Sschwarzethe font size can be selected relative to the current size. 3407ef87578Sschwarze.It Cm sqrt 3417ef87578SschwarzeSet the square root of the following box. 3427ef87578Sschwarze.It Cm sub 3437ef87578SschwarzeSet the following box as a subscript to the preceding box. 3447ef87578Sschwarze.It Cm sup 3457ef87578SschwarzeSet the following box as a superscript to the preceding box. 3467ef87578SschwarzeAs a special case, if a 3477ef87578Sschwarze.Cm sup 3487ef87578Sschwarzeclause immediately follows a 3497ef87578Sschwarze.Cm sub 3507ef87578Sschwarzeclause as in 3517ef87578Sschwarze.Pp 3527ef87578Sschwarze.D1 Ar mainbox Cm sub Ar subbox Cm sup Ar supbox 3537ef87578Sschwarze.Pp 3547ef87578Sschwarzeboth are set with respect to the same 3557ef87578Sschwarze.Ar mainbox , 3567ef87578Sschwarzethat is, 3577ef87578Sschwarze.Ar supbox 3587ef87578Sschwarzeis set above 3597ef87578Sschwarze.Ar subbox . 3607ef87578Sschwarze.It Cm tilde 3617ef87578SschwarzeSet a tilde over the preceding box. 3627ef87578Sschwarze.It Cm to 3637ef87578SschwarzeSet the following box above the preceding box, 3647ef87578Sschwarzeusing a slightly smaller font. 3657ef87578SschwarzeUsed for sums and integrals and the like. 3667ef87578SschwarzeAs a special case, if a 3677ef87578Sschwarze.Cm to 3687ef87578Sschwarzeclause immediately follows a 3697ef87578Sschwarze.Cm from 3707ef87578Sschwarzeclause as in 3717ef87578Sschwarze.Pp 3727ef87578Sschwarze.D1 Ar mainbox Cm from Ar frombox Cm to Ar tobox 3737ef87578Sschwarze.Pp 3747ef87578Sschwarzeboth are set below and above the same 3757ef87578Sschwarze.Ar mainbox . 3767ef87578Sschwarze.It Cm under 3777ef87578SschwarzeUnderline the preceding box. 3787ef87578Sschwarze.It Cm vec 3797ef87578SschwarzeSet a vector symbol (right arrow) over the preceding box. 3807ef87578Sschwarze.El 3817ef87578Sschwarze.Pp 3827ef87578SschwarzeThe binary operations 3837ef87578Sschwarze.Cm from , 3847ef87578Sschwarze.Cm to , 3857ef87578Sschwarze.Cm sub , 3867ef87578Sschwarzeand 3877ef87578Sschwarze.Cm sup 3887ef87578Sschwarzegroup to the right, that is, 3897ef87578Sschwarze.Pp 3907ef87578Sschwarze.D1 Ar mainbox Cm sup Ar supbox Cm sub Ar subbox 3917ef87578Sschwarze.Pp 3927ef87578Sschwarzeis the same as 3937ef87578Sschwarze.Pp 3947ef87578Sschwarze.D1 Ar mainbox Cm sup Brq Ar supbox Cm sub Ar subbox 3957ef87578Sschwarze.Pp 3967ef87578Sschwarzeand different from 3977ef87578Sschwarze.Pp 3987ef87578Sschwarze.D1 Bro Ar mainbox Cm sup Ar supbox Brc Cm sub Ar subbox . 3997ef87578Sschwarze.Pp 4007ef87578SschwarzeBy contrast, 4017ef87578Sschwarze.Cm over 4027ef87578Sschwarzegroups to the left. 4037ef87578Sschwarze.Pp 4047ef87578SschwarzeIn the following list, earlier operations bind more tightly than 4057ef87578Sschwarzelater operations: 4067ef87578Sschwarze.Pp 4077ef87578Sschwarze.Bl -enum -compact 4087ef87578Sschwarze.It 4097ef87578Sschwarze.Cm dyad , 4107ef87578Sschwarze.Cm vec , 4117ef87578Sschwarze.Cm under , 4127ef87578Sschwarze.Cm bar , 4137ef87578Sschwarze.Cm tilde , 4147ef87578Sschwarze.Cm hat , 4157ef87578Sschwarze.Cm dot , 4167ef87578Sschwarze.Cm dotdot 4177ef87578Sschwarze.It 4187ef87578Sschwarze.Cm fat , 4197ef87578Sschwarze.Cm roman , 4207ef87578Sschwarze.Cm italic , 4217ef87578Sschwarze.Cm bold , 4227ef87578Sschwarze.Cm size 4237ef87578Sschwarze.It 4247ef87578Sschwarze.Cm sub , 4257ef87578Sschwarze.Cm sup 4267ef87578Sschwarze.It 4277ef87578Sschwarze.Cm sqrt 4287ef87578Sschwarze.It 4297ef87578Sschwarze.Cm over 4307ef87578Sschwarze.It 4317ef87578Sschwarze.Cm from , 4327ef87578Sschwarze.Cm to 4337ef87578Sschwarze.El 4346d10740dSschwarze.Sh COMPATIBILITY 4356d10740dSschwarzeThis section documents the compatibility of mandoc 4366d10740dSschwarze.Nm 4376d10740dSschwarzeand the troff 4386d10740dSschwarze.Nm 4396d10740dSschwarzeimplementation (including GNU troff). 4406d10740dSschwarze.Pp 4416d10740dSschwarze.Bl -dash -compact 4426d10740dSschwarze.It 4436d10740dSschwarzeThe text string 4449dbd6965Sbentley.Sq \e\(dq 4456d10740dSschwarzeis interpreted as a literal quote in troff. 4466d10740dSschwarzeIn mandoc, this is interpreted as a comment. 4476d10740dSschwarze.It 4486d10740dSschwarzeIn troff, The circumflex and tilde white-space symbols map to 4496d10740dSschwarzefixed-width spaces. 4506d10740dSschwarzeIn mandoc, these characters are synonyms for the space character. 4516d10740dSschwarze.It 4526d10740dSschwarzeThe troff implementation of 4536d10740dSschwarze.Nm 4546d10740dSschwarzeallows for equation alignment with the 4556d10740dSschwarze.Cm mark 4566d10740dSschwarzeand 4576d10740dSschwarze.Cm lineup 4586d10740dSschwarzetokens. 4596d10740dSschwarzemandoc discards these tokens. 4606d10740dSschwarzeThe 4616d10740dSschwarze.Cm back Ar n , 4626d10740dSschwarze.Cm fwd Ar n , 4636d10740dSschwarze.Cm up Ar n , 4646d10740dSschwarzeand 4656d10740dSschwarze.Cm down Ar n 4666d10740dSschwarzecommands are also ignored. 4676d10740dSschwarze.El 4686d10740dSschwarze.Sh SEE ALSO 4696d10740dSschwarze.Xr mandoc 1 , 4706d10740dSschwarze.Xr man 7 , 4716d10740dSschwarze.Xr mandoc_char 7 , 4726d10740dSschwarze.Xr mdoc 7 , 4736d10740dSschwarze.Xr roff 7 4746d10740dSschwarze.Rs 4756d10740dSschwarze.%A Brian W. Kernighan 4766d10740dSschwarze.%A Lorinda L. Cherry 4776d10740dSschwarze.%T System for Typesetting Mathematics 4786d10740dSschwarze.%J Communications of the ACM 4796d10740dSschwarze.%V 18 4807e4e775eSschwarze.%P pp. 151\(en157 4816d10740dSschwarze.%D March, 1975 4826d10740dSschwarze.Re 4836d10740dSschwarze.Rs 4846d10740dSschwarze.%A Brian W. Kernighan 4856d10740dSschwarze.%A Lorinda L. Cherry 4866d10740dSschwarze.%T Typesetting Mathematics, User's Guide 4876d10740dSschwarze.%D 1976 4886d10740dSschwarze.Re 4896d10740dSschwarze.Rs 4906d10740dSschwarze.%A Brian W. Kernighan 4916d10740dSschwarze.%A Lorinda L. Cherry 4926d10740dSschwarze.%T Typesetting Mathematics, User's Guide (Second Edition) 4936d10740dSschwarze.%D 1978 4946d10740dSschwarze.Re 4956d10740dSschwarze.Sh HISTORY 4966d10740dSschwarzeThe eqn utility, a preprocessor for troff, was originally written by 4976d10740dSschwarzeBrian W. Kernighan and Lorinda L. Cherry in 1975. 4986d10740dSschwarzeThe GNU reimplementation of eqn, part of the GNU troff package, was 4996d10740dSschwarzereleased in 1989 by James Clark. 5006d10740dSschwarzeThe eqn component of 5016d10740dSschwarze.Xr mandoc 1 5026d10740dSschwarzewas added in 2011. 5036d10740dSschwarze.Sh AUTHORS 5046d10740dSschwarzeThis 5056d10740dSschwarze.Nm 5066d10740dSschwarzereference was written by 50772f69b3eSschwarze.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv . 508