
Ich möchte UML-Code mit msc
Paketen schreiben. Also schreibe ich den Code wie folgt:
% arara: xelatex
% arara: clean1
% arara: clean: { files: [ Commands.aux , .main.ptd , TP.aux] }
\documentclass{article}
\usepackage{msc}
%\usepackage{xepersian}
%\settextfont{XB Niloofar}
\begin{document}
\begin{msc}{Example}
\declinst{usr}{User}{}
\declinst{m1}{Machine 1}{control}
\declinst{m2}{Machine 2}{drill}
\declinst{m3}{Machine 3}{test}
\mess{startm1}{usr}{m1}
\nextlevel
\mess{startm2}{m1}{m2}
\nextlevel
\mess{continue}{m2}{m3}
\mess{log}{m1}{envleft}
\nextlevel
\mess{output}{m3}{usr}[2]
\nextlevel
\mess{free}{m1}{usr}
\nextlevel
\end{msc}
\end{document}
Es funktioniert einwandfrei und generiert PDF, indem es mit XeLatex
der Engine ausgeführt wird. Aber wenn ich das Paket aktiviere xepersian
, funktioniert es nicht und es wird kein PDF angezeigt. Was kann ich tun?
Wenn ich mit dem xepersian Paket arbeite, bekomme ich keinen Fehler, aber ich kann kein PDF öffnen
Ich lade die Protokolldatei unter dem folgenden Link hoch:
Antwort1
Fassen Sie die msc
Umgebung in eine latin
Eins zusammen:
\documentclass{article}
\usepackage{msc}
\usepackage{xepersian}
\settextfont{Al Bayan}
\begin{document}
\begin{latin}
\begin{msc}{Example}
\declinst{usr}{User}{}
\declinst{m1}{Machine 1}{control}
\declinst{m2}{Machine 2}{drill}
\declinst{m3}{Machine 3}{test}
\mess{startm1}{usr}{m1}
\nextlevel
\mess{startm2}{m1}{m2}
\nextlevel
\mess{continue}{m2}{m3}
\mess{log}{m1}{envleft}
\nextlevel
\mess{output}{m3}{usr}[2]
\nextlevel
\mess{free}{m1}{usr}
\nextlevel
\end{msc}
\end{latin}
سلام
\end{document}
fontspec
Beachten Sie, dass das Paket mit den neuesten Updates xepersian
nicht funktioniert. Der Grund dafür ist, dass der Autor gegen expl3
Programmierrichtlinien verstößt und eine private fontspec
Funktion verwendet, die jetzt entfernt wurde.
Ich beziehe mich auf xepersian
Version 17.2 (16.01.2017) und fontspec
Version 2.5d (24.01.2017).