aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-07-23 09:47:25 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-07-23 09:47:25 +0000
commitf6bc0fd9fcfb2e7b43ecfbce0031a626d9118240 (patch)
tree294307c13fd6eece92e5ec3609f2866bbba36976
parentfa097d3df280b2adb39ec3b99fd44d324aa2fbb1 (diff)
downloadmandoc-f6bc0fd9fcfb2e7b43ecfbce0031a626d9118240.tar.gz
mandoc-f6bc0fd9fcfb2e7b43ecfbce0031a626d9118240.tar.zst
mandoc-f6bc0fd9fcfb2e7b43ecfbce0031a626d9118240.zip
The circumflex is also a special space character.
Note this and clean up some documentation in eqn.7. Also add some version notes, although I'm not ready for a release yet.
-rw-r--r--eqn.754
-rw-r--r--eqn.c5
-rw-r--r--index.sgml10
3 files changed, 41 insertions, 28 deletions
diff --git a/eqn.7 b/eqn.7
index 595d040d..21d7cc19 100644
--- a/eqn.7
+++ b/eqn.7
@@ -1,4 +1,4 @@
-.\" $Id: eqn.7,v 1.18 2011/07/22 14:59:02 kristaps Exp $
+.\" $Id: eqn.7,v 1.19 2011/07/23 09:47:25 kristaps Exp $
.\"
.\" Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
.\"
@@ -14,7 +14,7 @@
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: July 22 2011 $
+.Dd $Mdocdate: July 23 2011 $
.Dt EQN 7
.Os
.Sh NAME
@@ -64,35 +64,35 @@ case-sensitive literals in the input:
.Bd -literal -offset indent
eqn : box | eqn box
box : text
- | "{" eqn "}"
- | "define" text text
- | "gfont" text
- | "gsize" text
- | "set" text text
- | "undef" text
+ | \*q{\*q eqn \*q}\*q
+ | \*qdefine\*q text text
+ | \*qgfont\*q text
+ | \*qgsize\*q text
+ | \*qset\*q text text
+ | \*qundef\*q text
| box pos box
| box mark
- | pile "{" list "}"
+ | pile \*q{\*q list \*q}\*q
| font box
- | "size" text box
- | "left" text eqn ["right" text]
-text : TEXT
-pile : "lpile" | "cpile" | "rpile"
-pos : "over" | "sup" | "sub" | "to" | "from"
-mark : "dot" | "dotdot" | "hat" | "tilde" | "vec"
- | "dyad" | "bar" | "under"
-font : "roman" | "italic" | "bold"
-list : eqn
- | list "above" eqn
+ | \*qsize\*q text box
+ | \*qleft\*q text eqn [\*qright\*q text]
+text : [^space\e\*q]+ | \e\*q.*\e\*q
+pile : \*qlpile\*q | \*qcpile\*q | \*qrpile\*q
+pos : \*qover\*q | \*qsup\*q | \*qsub\*q | \*qto\*q | \*qfrom\*q
+mark : \*qdot\*q | \*qdotdot\*q | \*qhat\*q | \*qtilde\*q | \*qvec\*q
+ | \*qdyad\*q | \*qbar\*q | \*qunder\*q
+font : \*qroman\*q | \*qitalic\*q | \*\*qbold\*q
+list : eqn
+ | list \*qabove\*q eqn
+space : [\e^~ \et]
.Ed
.Pp
-Data in TEXT form is a non-empty sequence of non-space characters or a
-non-empty quoted string.
-Unless within a quoted string, white-space (and enclosing literal quote
-pairs) is thrown away.
-Quoted strings are not scanned for replacement definitions.
+White-space consists of the space, tab, circumflex, and tilde
+characters.
+If within a quoted string, these space characters are retained.
+Quoted strings are also not scanned for replacement definitions.
.Pp
-The following TEXT terms are translated into a rendered glyph, if
+The following text terms are translated into a rendered glyph, if
available: alpha, beta, chi, delta, epsilon, eta, gamma, iota, kappa,
lambda, mu, nu, omega, omicron, phi, pi, psi, rho, sigma, tau, theta,
upsilon, xi, zeta, DELTA, GAMMA, LAMBDA, OMEGA, PHI, PI, PSI, SIGMA,
@@ -197,6 +197,10 @@ The text string
.Sq \e\*q
is interpreted as a literal quote in troff.
In mandoc, this is interpreted as a comment.
+.It
+In troff, The circumflex and tilde white-space symbols map to
+fixed-width spaces.
+In mandoc, these characters are synonyms for the space character.
.El
.Sh SEE ALSO
.Xr mandoc 1 ,
diff --git a/eqn.c b/eqn.c
index 9fa4602a..e43a0f2d 100644
--- a/eqn.c
+++ b/eqn.c
@@ -1,4 +1,4 @@
-/* $Id: eqn.c,v 1.30 2011/07/22 14:59:02 kristaps Exp $ */
+/* $Id: eqn.c,v 1.31 2011/07/23 09:47:25 kristaps Exp $ */
/*
* Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -648,7 +648,7 @@ again:
if ('{' == *start || '}' == *start)
ssz = 1;
else
- ssz = strcspn(start + 1, " ~\"{}\t") + 1;
+ ssz = strcspn(start + 1, " ^~\"{}\t") + 1;
next = start + (int)ssz;
if ('\0' == *next)
next = NULL;
@@ -662,6 +662,7 @@ again:
ep->cur++;
while (' ' == ep->data[(int)ep->cur] ||
'\t' == ep->data[(int)ep->cur] ||
+ '^' == ep->data[(int)ep->cur] ||
'~' == ep->data[(int)ep->cur])
ep->cur++;
} else {
diff --git a/index.sgml b/index.sgml
index 6c9b9ea6..e7e6b4aa 100644
--- a/index.sgml
+++ b/index.sgml
@@ -311,6 +311,14 @@
<A NAME="news">News</A>
</H1>
<P CLASS="news">
+ xx-07-2011: version 1.11.5
+ </P>
+ <P>
+ Significant <A HREF="eqn.7.html">eqn</A> improvements. <SPAN CLASS="nm">mdocml</SPAN> can now parse arbitrary equations
+ (although few GNU troff extensions are accepted, nor is mixing low-level roff with eqn). See the <A
+ HREF="eqn.7.html">eqn</A> manual for details. For the time being, equations are rendered as simple in-line text.
+ </P>
+ <P CLASS="news">
12-07-2011: version 1.11.4
</P>
<P>
@@ -356,7 +364,7 @@
<SMALL>
Copyright &#169; 2008&#8211;2011
<A CLASS="external" HREF="http://kristaps.bsd.lv">Kristaps Dzonsons</A>,
- $Date: 2011/07/14 14:36:37 $
+ $Date: 2011/07/23 09:47:25 $
</SMALL>
</P>
</BODY>