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.
This commit is contained in:
parent
21ff2d0415
commit
2eab0344b9
5 changed files with 14 additions and 9 deletions
4
NEWS
4
NEWS
|
|
@ -16,6 +16,10 @@ New in spot 1.99.2a (not yet released)
|
||||||
- ltlgrind --help output had some options documented twice, or
|
- ltlgrind --help output had some options documented twice, or
|
||||||
in the wrong place.
|
in the wrong place.
|
||||||
- The man page for ltlcross had obsolete examples.
|
- 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)
|
New in spot 1.99.2 (2015-07-18)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -416,8 +416,8 @@ namespace spot
|
||||||
{
|
{
|
||||||
// Spin 6 supports atomic propositions such as (a == 0)
|
// Spin 6 supports atomic propositions such as (a == 0)
|
||||||
// as long as they are enclosed in parentheses.
|
// as long as they are enclosed in parentheses.
|
||||||
if (kw_ == sclatex_kw || kw_ == sclatex_kw)
|
if (kw_ == sclatex_kw || kw_ == latex_kw)
|
||||||
escape_latex(os_ << "``\\mathit{", str) << "\\textrm{''}}";
|
escape_latex(os_ << "``\\mathit{", str) << "}\\textrm{''}";
|
||||||
else if (kw_ != spin_kw)
|
else if (kw_ != spin_kw)
|
||||||
os_ << '"' << str << '"';
|
os_ << '"' << str << '"';
|
||||||
else if (!full_parent_)
|
else if (!full_parent_)
|
||||||
|
|
|
||||||
|
|
@ -54,13 +54,13 @@ namespace spot
|
||||||
switch (i)
|
switch (i)
|
||||||
{
|
{
|
||||||
case '~':
|
case '~':
|
||||||
os << "\\textasciitilde";
|
os << "\\text{\\textasciitilde}";
|
||||||
break;
|
break;
|
||||||
case '^':
|
case '^':
|
||||||
os << "\\textasciicircum";
|
os << "\\text{\\textasciicircum}";
|
||||||
break;
|
break;
|
||||||
case '\\':
|
case '\\':
|
||||||
os << "\\textbackslash";
|
os << "\\text{\\textbackslash}";
|
||||||
break;
|
break;
|
||||||
case '&':
|
case '&':
|
||||||
case '%':
|
case '%':
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ set -e
|
||||||
(kpsewhich txfonts.sty) || exit 77
|
(kpsewhich txfonts.sty) || exit 77
|
||||||
(kpsewhich amsmath.sty) || exit 77
|
(kpsewhich amsmath.sty) || exit 77
|
||||||
|
|
||||||
cat >input <<EOF
|
cat >input <<\EOF
|
||||||
XGFa <-> FGX(!b & !c) | (b ^ a)
|
XGFa <-> FGX(!b & !c) | (b ^ a)
|
||||||
a U b W c R (d & e) M f
|
a U b W c R (d & e) M f
|
||||||
{a;b[=2];((c:d*) && f*);e[*2..]}<>-> {((a | [*0])*;b[+]) & (c1[->2])}[]-> h
|
{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}! -> d
|
||||||
{a*;(b;c)[:*3..4];(c;d)[:+];d}!
|
{a*;(b;c)[:*3..4];(c;d)[:+];d}!
|
||||||
G(uglyname->Fuglierlongname42)
|
G(uglyname->Fuglierlongname42)
|
||||||
|
"#foo/$bar$" U "baz~yes^no"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
(
|
(
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"name": "",
|
"name": "",
|
||||||
"signature": "sha256:c5ce337080296dc7af1d530e86502099bdfb3f039b96f749f38390b8d5ade44b"
|
"signature": "sha256:d2086d4faaecc1d0e5a0e29b958657ed86b034326b89a5513d3df6f35301a3e7"
|
||||||
},
|
},
|
||||||
"nbformat": 3,
|
"nbformat": 3,
|
||||||
"nbformat_minor": 0,
|
"nbformat_minor": 0,
|
||||||
|
|
@ -304,7 +304,7 @@
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
"latex": [
|
"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": {},
|
"metadata": {},
|
||||||
"output_type": "pyout",
|
"output_type": "pyout",
|
||||||
|
|
@ -493,7 +493,7 @@
|
||||||
"</svg>"
|
"</svg>"
|
||||||
],
|
],
|
||||||
"text": [
|
"text": [
|
||||||
"<IPython.core.display.SVG at 0x7fe8197a3e10>"
|
"<IPython.core.display.SVG at 0x7fb744184c88>"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue