我想使用msc
包编写 UML 代码。因此我编写了如下代码:
% 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}
它运行良好,并且通过XeLatex
引擎运行生成 pdf。但是当我激活包时xepersian
,它不起作用并且没有 pdf。我该怎么办?
当我使用 xepersian 包运行时,我没有收到错误,但我无法打开 pdf
我在下面链接中上传了日志文件:
答案1
将环境封闭msc
在一个中latin
:
\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
请注意,该软件包的最新更新xepersian
无法正常工作。原因是其作者违反了expl3
编程指南并使用了私有fontspec
函数(现已删除)。
我指的是xepersian
版本 17.2(2017/01/16)和fontspec
版本 2.5d(2017/01/24)。