Как мы можем использовать инструмент UML plantuml в ноутбуке iPython? Это должно быть полезно для нас, поскольку показатель UML часто используется во время работы с бумагой.iPython notebook plantuml extension
После некоторых google из Интернета, я нашел одну отличную ссылку для Using Asymptote in iPython notebook, затем я создал расширение plantuml для ноутбука iPython. Ниже приведено подробное описание шагов:
Запустите iPython ноутбук из моей рабочей директории.e.g: $ HOME/workshop.
# cd $HOME/workshop # ipython notebook --pylab inline
Создание сценария расширения в $ HOME/workshop.e.g: plantuml.py
""" An Plantuml extension for generating UML figures from within ipython notebook. """ import os from IPython.core.magic import magics_class, cell_magic, Magics from IPython.display import Image, SVG @magics_class class Plantuml(Magics): @cell_magic def plantuml(self, line, cell): """Generate and display a figure using Plantuml. Usage: %java -jar plantuml.jar -tsvg filname """ self.filename = line self.code = cell with open(self.filename + ".plt", "w") as file: file.write(self.code) os.system("java -jar plantuml.jar -tsvg %s.plt" % self.filename) return SVG(filename=self.filename+".svg") def load_ipython_extension(ipython): ipython.register_magics(Plantuml)
Скачать plantuml.jar от official website до $ HOME/мастерской.
Создать новый IPython ноутбук, бегите ниже ячейки для загрузки расширения и использовать расширение:
%install_ext plantuml.py %reload_ext plantuml
Создать PlantUML ячейку, чтобы проверить результат.
%%plantuml figure1 @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response @enduml
Тогда все от PlantUML будет работать в IPython ноутбука.
Некоторые вопросы:
- Выход ошибки PlantUML НЕ отображается в IPython ноутбук если синтаксис неправильно в PlantUML code.It будет большим, если отказ поколение SVG, а затем выводить текст ошибки, othwise выводит файл SVG на ноутбук.
- Расширение использует формат SVG. Не уверен, что можно использовать формат PDF или PNG. Я хочу расширить TiKz, но pdflatex всегда выводит формат pdf файла. Мне нужно использовать сторонний инструмент для скрытия его до SVG формат firstly.it занимает немного времени.
Последняя IPython имеет документ в IPython/html/статический/пользовательский/custom.css – lucky1928