
Я хочу написать код UML с использованием msc
пакета. Поэтому я пишу код следующим образом:
% 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}
Он отлично работает и генерирует pdf, работая с XeLatex
движком. Но когда я активирую пакет 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 (16.01.2017) и fontspec
версию 2.5d (24.01.2017).