Quality Diagrams with Pycirkuit

Quality Diagrams with Pycirkuit

, FOSDEM 20 Quality diagrams with PyCirkuit Orestes Mas ([email protected]) Polytechnic University of Catalonia 2nd February 2020 , FOSDEM 20 Quality diagrams with PyCirkuit Orestes Mas ([email protected]) Polytechnic University of Catalonia 2nd February 2020 The problem I need to draw circuits and diagrams! , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 The problem I need to draw circuits and diagrams! , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 The problem I need to draw circuits and diagrams! , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 The problem I need to draw circuits and diagrams! , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 Why PyCirkuit? Requirements we have ▶ Beautiful (publishing quality) ▶ Large library of predefined 푅 푅 symbols 푏 푐 푖푏 푖1 푖2 ▶ Uniform style (don’t mix libraries) + + 푣 + 훾 − 푣푥 훽푖푏 푉푐푐 − ▶ Parametrizable symbols ▶ Consistent typography: 푅푒 푅푏, 푣훾, 푖2, 훽푖푏 ▶ Free formats, tools and systems , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 Why PyCirkuit? Requirements we have ▶ Beautiful (publishing quality) ▶ Large library of predefined 푅 푅 symbols 푏 푐 푖푏 푖1 푖2 ▶ Uniform style (don’t mix libraries) + + 푣 + 훾 푣푥 훽푖 푉푐푐 − − 푏 ▶ Parametrizable symbols ▶ Consistent typography: 푅푒 푅푏, 푣훾, 푖2, 훽푖푏 ▶ Free formats, tools and systems , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 Chosen solution Insert graphic commands into a LATEX document \begin{tikzpicture} \draw[step=0.25,color=blue!20,very thin] LAT X+ TikZ! (-1.8,-1.6) grid (1.8,1.6); E \foreach \ang in {0,30,...,330}{ \draw[color=red] (0,0) to[R, -*] (\ang:1.1); \node at (\ang:1.35) {\tiny$e^{j\ang^\circ}$}; � Perfect text/graphics integration. } \end{tikzpicture} � Programmability & flexibility 푗90∘ � Mathematical formulae pose no ∘ 푒 ∘ 푒푗120 푒푗60 problems ∘ ∘ 푒푗150 푒푗30 ∘ ∘ � Good circuit library (circuitikz) 푒푗180 푒푗0 ∘ ∘ 푒푗210 푒푗330 � Vector graphics 푗240∘ 푗300∘ 푒 ∘ 푒 푒푗270 , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 The end of the tunnel? Not yet... CircuiTikZ seemed the right tool, but... ▶ Too much use of absolute coordinates to position elements ▶ Aesthetical issues Circuit Macros! , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 What is PyCirkuit? In short: ▶ A program to help drawing those circuits ▶ Written in Python 3 + PyQt5 ▶ 2 modes of operation: ▶ GUI ▶ CLI / Batch mode , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 PyCirkuit - How it works Phase 1: The «Circuit Macros» Circuit macros source .pic m4 file file , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 PyCirkuit - How it works Phase 2: The Dpic PGF-TikZ PSTricks PostScript+psfrag MetaPost LATEX mfpic .pic dpic eepicemu file LATEX «picture» xfig SVG Generic PostScript PDF , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 The PyCirkuit Phase 3: Visualisation Circuit Template Macros .pic .pdf source A .png file m4 dpic .tikz pdfLTEX pdftoppm , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 The PyCirkuit Phase 4: Exporting and Extra bonus Circuit Macros Template .svg .pic source .png file m4 dpic .pdf .tikz pdfLATEX pdftoppm .jpg , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 PyCirkuit Installation ▶ On Debian Testing (Bullseye) is straightforward: apt-get install pycirkuit ▶ From PyPI (recommended for MacOs/Windows) pip install pycirkuit ▶ From GitHub pip install git+https://github.com/orestesmas/pycirkuit.git Outside Debian you must install some PyCirkuit dependencies by hand. See README file on GitHub project page. , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 Demonstrations Demo Graphical User Interface , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 Demo Command-Line Interface , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 Future work What’s planned? Primary goals ▶ Documentation and code cleaning ▶ Supporting/improving other input and output formats ▶ Improve the editor Secondary goals ▶ Allow simultaneous drawings on GUI ▶ Configurable workflows. Plugin-based architecture? ▶ Become a KDE project? (KDE - Python bindings!) , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 Relevant links Main ▶ GitHub repo: https://github.com/orestesmas/pycirkuit ▶ PyPI repo: https://pypi.org/project/pycirkuit/ Other ▶ PIC language: http://plan9.bell-labs.com/10thEdMan/pic.pdf ▶ PIC tutorial: http://floppsie.comp.glam.ac.uk/Glamorgan/gaius/web/pic.html ▶ Dpic site: https://ece.uwaterloo.ca/~aplevich/dpic/ ▶ Circuit Macros: https://ece.uwaterloo.ca/~aplevich/Circuit_macros/ , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 Acknowledgements ▶ Donald Knuth & Leslie Lamport: For giving us TEX and LATEX ▶ Till Tantau: Author of TikZ (and Beamer too) ▶ Dwight Aplevich: Circuit Macros and Dpic author ▶ Matteo Agostinelli: “cirkuit” application ▶ Aniol Marti & Àlex Muntada: Debian packages for dpic, circuit-macros and pycirkuit ▶ ...and the free software community for the contributions to these projects! , FOSDEM 20 Orestes Mas ([email protected]) - UPC Quality diagrams with PyCirkuit 2nd February 2020 Thank you!.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    23 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us