Commit 2eab0344 authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz
Browse files

fix latex escaping

* src/ltlvisit/print.cc: Property output the double
quotes in latex mode, not only sclatex.
* src/misc/escape.cc: Fix LaTeX escape to work in math mode.
* src/tests/latex.test: Add a test.
* wrap/python/tests/formulas.ipynb: Adjust expected output
* NEWS: Mention the fix.
parent 21ff2d04
......@@ -16,6 +16,10 @@ New in spot 1.99.2a (not yet released)
- ltlgrind --help output had some options documented twice, or
in the wrong place.
- The man page for ltlcross had obsolete examples.
- When outputting atomic propositions in double quotes, the
escaping routine used by the two styles of LaTeX output was
slightly off. For instance ^ was incorrectly escaped, and the
double quotes where not always properly rendered.
New in spot 1.99.2 (2015-07-18)
......
......@@ -416,8 +416,8 @@ namespace spot
{
// Spin 6 supports atomic propositions such as (a == 0)
// as long as they are enclosed in parentheses.
if (kw_ == sclatex_kw || kw_ == sclatex_kw)
escape_latex(os_ << "``\\mathit{", str) << "\\textrm{''}}";
if (kw_ == sclatex_kw || kw_ == latex_kw)
escape_latex(os_ << "``\\mathit{", str) << "}\\textrm{''}";
else if (kw_ != spin_kw)
os_ << '"' << str << '"';
else if (!full_parent_)
......
......@@ -54,13 +54,13 @@ namespace spot
switch (i)
{
case '~':
os << "\\textasciitilde";
os << "\\text{\\textasciitilde}";
break;
case '^':
os << "\\textasciicircum";
os << "\\text{\\textasciicircum}";
break;
case '\\':
os << "\\textbackslash";
os << "\\text{\\textbackslash}";
break;
case '&':
case '%':
......
......@@ -29,7 +29,7 @@ set -e
(kpsewhich txfonts.sty) || exit 77
(kpsewhich amsmath.sty) || exit 77
cat >input <<EOF
cat >input <<\EOF
XGFa <-> FGX(!b & !c) | (b ^ a)
a U b W c R (d & e) M f
{a;b[=2];((c:d*) && f*);e[*2..]}<>-> {((a | [*0])*;b[+]) & (c1[->2])}[]-> h
......@@ -37,6 +37,7 @@ a U b W c R (d & e) M f
!{a;b*;c}! -> d
{a*;(b;c)[:*3..4];(c;d)[:+];d}!
G(uglyname->Fuglierlongname42)
"#foo/$bar$" U "baz~yes^no"
EOF
(
......
{
"metadata": {
"name": "",
"signature": "sha256:c5ce337080296dc7af1d530e86502099bdfb3f039b96f749f38390b8d5ade44b"
"signature": "sha256:d2086d4faaecc1d0e5a0e29b958657ed86b034326b89a5513d3df6f35301a3e7"
},
"nbformat": 3,
"nbformat_minor": 0,
......@@ -304,7 +304,7 @@
"outputs": [
{
"latex": [
"$``\\mathit{a > b\\textrm{''}} \\land ``\\mathit{proc[2]@init\\textrm{''}} \\land \\mathsf{G} \\mathsf{F} \\mathit{\\_foo\\_}$"
"$``\\mathit{a > b}\\textrm{''} \\land ``\\mathit{proc[2]@init}\\textrm{''} \\land \\mathsf{G} \\mathsf{F} \\mathit{\\_foo\\_}$"
],
"metadata": {},
"output_type": "pyout",
......@@ -493,7 +493,7 @@
"</svg>"
],
"text": [
"<IPython.core.display.SVG at 0x7fe8197a3e10>"
"<IPython.core.display.SVG at 0x7fb744184c88>"
]
}
],
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment