dot: add x option for dot2tex

* spot/twa/acc.cc, spot/twa/acc.hh: Add a LaTeX output for acceptance
conditions.
* spot/twaalgos/dot.cc: Implement the 'x' option and refactor the code
a bit to limit duplication.
* tests/core/dot2tex.test: New test case (requires dot2tex).
* tests/Makefile.am: Add dot2tex.test.
* tests/core/alternating.test, tests/core/readsave.test,
tests/python/automata-io.ipynb: Adjust expected output.
* NEWS, doc/org/oaut.org: Mention the new option.
This commit is contained in:
Alexandre Duret-Lutz 2017-08-31 18:56:53 +02:00
parent b242122ce8
commit fbb9e4374e
10 changed files with 365 additions and 182 deletions

40
tests/core/dot2tex.test Executable file
View file

@ -0,0 +1,40 @@
#!/bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2017 Laboratoire de Recherche et Développement
# de l'Epita (LRDE).
#
# This file is part of Spot, a model checking library.
#
# Spot is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Spot is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
# License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
. ./defs
set -e
# This tests our support for LaTeX-embedded dot, for dot2tex.
# Skip this test if we don't find all the tools we need.
(latexmk --version) || exit 77
(pdflatex --version) || exit 77
(dot2tex --version) || exit 77
(dot -V) || exit 77
ltl2tgba 'a U b' --dot=scanx >out.dot
dot2tex --autosize --nominsize out.dot >out.tex
pdflatex out.tex
ltl2tgba 'p0 U p1' --dot=tax >out2.dot
dot2tex --autosize --nominsize out2.dot >out2.tex
grep -F 'p_{0}' out2.tex
grep -F 'mathsf{Inf}' out2.tex
pdflatex out2.tex