SlideShare a Scribd company logo
1 of 21
Download to read offline
1www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.Copyright © ESI Group, 2018. All rights reserved.
www.esi-group.com
Implementation of a
converting toolbox
for Scilab for
transforming figures
from Scilab to
TikZ/LaTeX
Manuel-Tobias Csapo
10.11.2018
2www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
2
What’s the motivation for a toolbox?
• Include graphs in scientific papers or articles
• LaTeX in scientific environment is de-facto standard
• MATLAB and Octave offer to convert figures to Tikz/LaTeX
• Scilab does not provide this functionality yet
Created toolbox prototype “xs2tikz” in Scilab
Project idea initiated by Professor Dr. Koch
3www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
3
Agenda
1. Working Environment
• University of Applied Sciences Esslingen
• IT Designers Group
2. Target Software
• What’s LaTeX
• What’s PGFPlots
3. Converter Toolbox
• Implementation
• What’s currently there
• Examples
4. Outlook
• What’s missing / New features
4www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
4
Working Environment
University of Applied Sciences Esslingen
• Established in 1868
• Located in Esslingen near Stuttgart
• 6000 students in majors like software engineering,
mechanical engineering and social work
• Cooperation with various companies in Stuttgart
• Cooperation via Steinbeis for technology transfer
Source: www.hs-Esslingen.de
5www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
5
Working Environment
IT Designers Group
• Established in 1994 by Professor Dr. Joachim Goll from
University of Applied Sciences Esslingen via Steinbeis
• Located in Zell/Esslingen
• Nearly 150 employees
• Develops personalized software projects for customers
in automobile, finance, logistic and automation sector
• Provides support and setup of Application Lifecycle
Management
6www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
6
Target Software
Components used
Source: de.wikipedia.org
• Typesetting language LaTeX
(Open Source)
• LaTeX package PGFPlots for creation of
plots; is based on PGF/TikZ (Open Source)
Source: pgfplots.sourceforge.net
7www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
7
Target Software
About LaTeX
Source: de.wikipedia.org
• High-quality typesetting system
• Used in scientific and educational environment
• Well-suited for typesetting mathematical formulas
• Principle: writers should focus on content, not design
• As opposed to Microsoft Word ;-)
documentclass{scrartcl}
title{Awesome article is awesome}
author{Manuel Csapo}
begin{document}
maketitle
end{document}
8www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
8
Target Software
About PGFPlots
• Plot creation package for LaTeX
• Based on PGF/TikZ
• Supports normal/logarithmic plots in two and three
dimensions
begin{tikzpicture}
begin{axis}[xlabel=x, ylabel=f(x)]
addplot coordinates {
(0, 1)
(2,4)
};
end{axis}
end{tikzpicture}
Source: pgfplots.sourceforge.net
9www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
9
Target Software
About PGF/TikZ
• More elaborate graphics
• Use high-level
instructions for designing
image
Source: http://www.texample.net/tikz/examples/p2p-topology/
10www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
10
Converter Toolbox
Graphic representation in Scilab
• Tree with graphic hierarchy
• Each element contains
handle reference to next
lower one
• Direct access or via
get()/set()
11www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
11
Converter Toolbox
First Step: What’s out there?
• Matlab2Tikz package as base
• Has more functionality than needed
• E.g. Parsing additional arguments for creating more elements
• Quickly abandoned due single file provision with ~7000 lines of code, >
100 unprecise declared Functions
• Example: saveToFile()does gathering and calls functions for
generating of strings
12www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
12
Converter Toolbox
Second Step: Designing
• Basic ideas taken: Gathering, Parsing, Writing to file
• Provide functionality as toolbox
• Solely written in Scilab
• gather_graphics_attributes for collecting figure data
• generate_tikz_strings for parsing data to PGFPlots
• xs2tikz provides simple interface
13www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
13
Converter Toolbox
Visualisation
14www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
14
Converter Toolbox
Third Step: Implementation of gather_graphic_attributes
• Traverse graphic hierarchy
• Collect necessary attributes
• Create cell for each type (figure, axes, polylines)
• Save them in struct attributes
15www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
15
Converter Toolbox
Third Step: Implementation of generate_tikz_strings
• Add necessary environment information (begin/end)
• Generate axes with options
• Generate plots from polylines
16www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
16
Converter Toolbox
Example (Calling sequence)
- -> cd /path/to/toolbox/xs2tikz
- -> exec builder.sce; exec
loader.sce;
- -> plot_example_simple_graph();
- -> xs2tikz(“example.tex”, true);
Create PDF (in Linux):
pdflatex example.tex
17www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
17
Converter Toolbox
Example (Result as image)
18www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
18
Converter Toolbox
Current state
• Toolbox structure done
• Basic conversion for 2D figures
• Help pages for functions
• Standalone file generation, titles, legends supported
19www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
19
Outlook
Advantages
+ File is editable after conversion (unlike JPG, PNG, etc.)
+ Same quality of appearance as in LaTeX (fonts, drawing)
+ Consistent structure of file format for LaTeX
+ Elevates Scilab on same level as MATLAB or Octave
20www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
20
Outlook
Next Steps
• Make subplots possible
• Use state machine in string generation
• Add 3D functionality through addplot3d
• More robust testing
21www.esi-group.com
Copyright © ESI Group, 2018. All rights reserved.
21
End of presentation
Thank you for your patience!

More Related Content

What's hot

Sanofi @ Scilab Conference 2018
Sanofi @ Scilab Conference 2018Sanofi @ Scilab Conference 2018
Sanofi @ Scilab Conference 2018Scilab
 
CNES @ Scilab Conference 2018
CNES @ Scilab Conference 2018CNES @ Scilab Conference 2018
CNES @ Scilab Conference 2018Scilab
 
Scilab Conference 2018 - Welcome to the Community
Scilab Conference 2018 - Welcome to the CommunityScilab Conference 2018 - Welcome to the Community
Scilab Conference 2018 - Welcome to the CommunityScilab
 
DLR @ Scilab Conference 2018
DLR @ Scilab Conference 2018DLR @ Scilab Conference 2018
DLR @ Scilab Conference 2018Scilab
 
Spatial Support in MySQL
Spatial Support in MySQLSpatial Support in MySQL
Spatial Support in MySQLNorvald Ryeng
 
MySQL 8.0 GIS Overview
MySQL 8.0 GIS OverviewMySQL 8.0 GIS Overview
MySQL 8.0 GIS OverviewNorvald Ryeng
 
MySQL 8.0: GIS — Are you ready?
MySQL 8.0: GIS — Are you ready?MySQL 8.0: GIS — Are you ready?
MySQL 8.0: GIS — Are you ready?Norvald Ryeng
 
Incubating Apache Hivemall
Incubating Apache HivemallIncubating Apache Hivemall
Incubating Apache HivemallMakoto Yui
 
Kantanfest: Dimitar Shterionov - Part 2
Kantanfest: Dimitar Shterionov - Part 2Kantanfest: Dimitar Shterionov - Part 2
Kantanfest: Dimitar Shterionov - Part 2kantanmt
 
SureCHEMBL Open Patent Data Seaching with chemical stracture
SureCHEMBL Open Patent Data Seaching with chemical stractureSureCHEMBL Open Patent Data Seaching with chemical stracture
SureCHEMBL Open Patent Data Seaching with chemical stractureSakai Misato
 
Learning do discover: machine learning in high-energy physics
Learning do discover: machine learning in high-energy physicsLearning do discover: machine learning in high-energy physics
Learning do discover: machine learning in high-energy physicsBalázs Kégl
 
How can you prevent critical Machine failures, employing Machine Learning and...
How can you prevent critical Machine failures, employing Machine Learning and...How can you prevent critical Machine failures, employing Machine Learning and...
How can you prevent critical Machine failures, employing Machine Learning and...DIGIOTAI Solutions
 

What's hot (14)

Sanofi @ Scilab Conference 2018
Sanofi @ Scilab Conference 2018Sanofi @ Scilab Conference 2018
Sanofi @ Scilab Conference 2018
 
CNES @ Scilab Conference 2018
CNES @ Scilab Conference 2018CNES @ Scilab Conference 2018
CNES @ Scilab Conference 2018
 
Scilab Conference 2018 - Welcome to the Community
Scilab Conference 2018 - Welcome to the CommunityScilab Conference 2018 - Welcome to the Community
Scilab Conference 2018 - Welcome to the Community
 
DLR @ Scilab Conference 2018
DLR @ Scilab Conference 2018DLR @ Scilab Conference 2018
DLR @ Scilab Conference 2018
 
Spatial Support in MySQL
Spatial Support in MySQLSpatial Support in MySQL
Spatial Support in MySQL
 
MySQL 8.0 GIS Overview
MySQL 8.0 GIS OverviewMySQL 8.0 GIS Overview
MySQL 8.0 GIS Overview
 
MySQL 8.0: GIS — Are you ready?
MySQL 8.0: GIS — Are you ready?MySQL 8.0: GIS — Are you ready?
MySQL 8.0: GIS — Are you ready?
 
Incubating Apache Hivemall
Incubating Apache HivemallIncubating Apache Hivemall
Incubating Apache Hivemall
 
20130108 kaptur technical_cs
20130108 kaptur technical_cs20130108 kaptur technical_cs
20130108 kaptur technical_cs
 
Kantanfest: Dimitar Shterionov - Part 2
Kantanfest: Dimitar Shterionov - Part 2Kantanfest: Dimitar Shterionov - Part 2
Kantanfest: Dimitar Shterionov - Part 2
 
SureCHEMBL Open Patent Data Seaching with chemical stracture
SureCHEMBL Open Patent Data Seaching with chemical stractureSureCHEMBL Open Patent Data Seaching with chemical stracture
SureCHEMBL Open Patent Data Seaching with chemical stracture
 
AI4quant 2018 PIXNET Hackathon
AI4quant 2018 PIXNET HackathonAI4quant 2018 PIXNET Hackathon
AI4quant 2018 PIXNET Hackathon
 
Learning do discover: machine learning in high-energy physics
Learning do discover: machine learning in high-energy physicsLearning do discover: machine learning in high-energy physics
Learning do discover: machine learning in high-energy physics
 
How can you prevent critical Machine failures, employing Machine Learning and...
How can you prevent critical Machine failures, employing Machine Learning and...How can you prevent critical Machine failures, employing Machine Learning and...
How can you prevent critical Machine failures, employing Machine Learning and...
 

Similar to University of Applied Science Esslingen @ Scilab Conference 2018

Deep learning beyond the learning - Jörg Schad - Codemotion Rome 2018
Deep learning beyond the learning - Jörg Schad - Codemotion Rome 2018 Deep learning beyond the learning - Jörg Schad - Codemotion Rome 2018
Deep learning beyond the learning - Jörg Schad - Codemotion Rome 2018 Codemotion
 
Apache Spark Tutorial
Apache Spark TutorialApache Spark Tutorial
Apache Spark TutorialAhmet Bulut
 
MySQL 8.0: What Is New in Optimizer and Executor?
MySQL 8.0: What Is New in Optimizer and Executor?MySQL 8.0: What Is New in Optimizer and Executor?
MySQL 8.0: What Is New in Optimizer and Executor?Norvald Ryeng
 
DAWN and Scientific Workflows
DAWN and Scientific WorkflowsDAWN and Scientific Workflows
DAWN and Scientific WorkflowsMatthew Gerring
 
Accelerating NLP with Dask on Saturn Cloud: A case study with CORD-19
Accelerating NLP with Dask on Saturn Cloud: A case study with CORD-19Accelerating NLP with Dask on Saturn Cloud: A case study with CORD-19
Accelerating NLP with Dask on Saturn Cloud: A case study with CORD-19Sujit Pal
 
6-9-2017-slides-vFinal.pptx
6-9-2017-slides-vFinal.pptx6-9-2017-slides-vFinal.pptx
6-9-2017-slides-vFinal.pptxSimRelokasi2
 
Hivemall meets Digdag @Hackertackle 2018-02-17
Hivemall meets Digdag @Hackertackle 2018-02-17Hivemall meets Digdag @Hackertackle 2018-02-17
Hivemall meets Digdag @Hackertackle 2018-02-17Makoto Yui
 
Scilab Challenge@NTU 2014/2015 Project Briefing
Scilab Challenge@NTU 2014/2015 Project BriefingScilab Challenge@NTU 2014/2015 Project Briefing
Scilab Challenge@NTU 2014/2015 Project BriefingTBSS Group
 
Balisage - EXPath Packaging
Balisage - EXPath PackagingBalisage - EXPath Packaging
Balisage - EXPath PackagingFlorent Georges
 
Jfokus 2019-dowling-logical-clocks
Jfokus 2019-dowling-logical-clocksJfokus 2019-dowling-logical-clocks
Jfokus 2019-dowling-logical-clocksJim Dowling
 
How YugaByte DB Implements Distributed PostgreSQL
How YugaByte DB Implements Distributed PostgreSQLHow YugaByte DB Implements Distributed PostgreSQL
How YugaByte DB Implements Distributed PostgreSQLYugabyte
 
Using heka
Using hekaUsing heka
Using hekaExotel
 
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia GuptaIntro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia GuptaInfluxData
 
Migration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQLMigration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQLPGConf APAC
 

Similar to University of Applied Science Esslingen @ Scilab Conference 2018 (20)

Deep learning beyond the learning - Jörg Schad - Codemotion Rome 2018
Deep learning beyond the learning - Jörg Schad - Codemotion Rome 2018 Deep learning beyond the learning - Jörg Schad - Codemotion Rome 2018
Deep learning beyond the learning - Jörg Schad - Codemotion Rome 2018
 
Apache Spark Tutorial
Apache Spark TutorialApache Spark Tutorial
Apache Spark Tutorial
 
MySQL 8.0: What Is New in Optimizer and Executor?
MySQL 8.0: What Is New in Optimizer and Executor?MySQL 8.0: What Is New in Optimizer and Executor?
MySQL 8.0: What Is New in Optimizer and Executor?
 
How to setup MateriApps LIVE!
How to setup MateriApps LIVE!How to setup MateriApps LIVE!
How to setup MateriApps LIVE!
 
How to setup MateriApps LIVE!
How to setup MateriApps LIVE!How to setup MateriApps LIVE!
How to setup MateriApps LIVE!
 
DAWN and Scientific Workflows
DAWN and Scientific WorkflowsDAWN and Scientific Workflows
DAWN and Scientific Workflows
 
Accelerating NLP with Dask on Saturn Cloud: A case study with CORD-19
Accelerating NLP with Dask on Saturn Cloud: A case study with CORD-19Accelerating NLP with Dask on Saturn Cloud: A case study with CORD-19
Accelerating NLP with Dask on Saturn Cloud: A case study with CORD-19
 
How to setup MateriApps LIVE!
How to setup MateriApps LIVE!How to setup MateriApps LIVE!
How to setup MateriApps LIVE!
 
6-9-2017-slides-vFinal.pptx
6-9-2017-slides-vFinal.pptx6-9-2017-slides-vFinal.pptx
6-9-2017-slides-vFinal.pptx
 
How to setup MateriApps LIVE!
How to setup MateriApps LIVE!How to setup MateriApps LIVE!
How to setup MateriApps LIVE!
 
Hivemall meets Digdag @Hackertackle 2018-02-17
Hivemall meets Digdag @Hackertackle 2018-02-17Hivemall meets Digdag @Hackertackle 2018-02-17
Hivemall meets Digdag @Hackertackle 2018-02-17
 
Scilab Challenge@NTU 2014/2015 Project Briefing
Scilab Challenge@NTU 2014/2015 Project BriefingScilab Challenge@NTU 2014/2015 Project Briefing
Scilab Challenge@NTU 2014/2015 Project Briefing
 
eScience Cluster Arch. Overview
eScience Cluster Arch. OvervieweScience Cluster Arch. Overview
eScience Cluster Arch. Overview
 
Session 2
Session 2Session 2
Session 2
 
Balisage - EXPath Packaging
Balisage - EXPath PackagingBalisage - EXPath Packaging
Balisage - EXPath Packaging
 
Jfokus 2019-dowling-logical-clocks
Jfokus 2019-dowling-logical-clocksJfokus 2019-dowling-logical-clocks
Jfokus 2019-dowling-logical-clocks
 
How YugaByte DB Implements Distributed PostgreSQL
How YugaByte DB Implements Distributed PostgreSQLHow YugaByte DB Implements Distributed PostgreSQL
How YugaByte DB Implements Distributed PostgreSQL
 
Using heka
Using hekaUsing heka
Using heka
 
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia GuptaIntro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
 
Migration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQLMigration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQL
 

More from Scilab

Electric motor optimization
Electric motor optimizationElectric motor optimization
Electric motor optimizationScilab
 
Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...
Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...
Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...Scilab
 
X2C -a tool for model-based control development and automated code generation...
X2C -a tool for model-based control development and automated code generation...X2C -a tool for model-based control development and automated code generation...
X2C -a tool for model-based control development and automated code generation...Scilab
 
Scilab for real dummies j.heikell - part3
Scilab for real dummies j.heikell - part3Scilab for real dummies j.heikell - part3
Scilab for real dummies j.heikell - part3Scilab
 
Scilab for real dummies j.heikell - part 2
Scilab for real dummies j.heikell - part 2Scilab for real dummies j.heikell - part 2
Scilab for real dummies j.heikell - part 2Scilab
 
Scilab for real dummies j.heikell - part 1
Scilab for real dummies j.heikell - part 1Scilab for real dummies j.heikell - part 1
Scilab for real dummies j.heikell - part 1Scilab
 
Multiobjective optimization and Genetic algorithms in Scilab
Multiobjective optimization and Genetic algorithms in ScilabMultiobjective optimization and Genetic algorithms in Scilab
Multiobjective optimization and Genetic algorithms in ScilabScilab
 
Scilab optimization workshop
Scilab optimization workshop Scilab optimization workshop
Scilab optimization workshop Scilab
 
Fraunhofer IIS @ Scilab Conference 2018
Fraunhofer IIS @ Scilab Conference 2018Fraunhofer IIS @ Scilab Conference 2018
Fraunhofer IIS @ Scilab Conference 2018Scilab
 
Customizing Xcos with new Blocks and Palette
Customizing Xcos with new Blocks and PaletteCustomizing Xcos with new Blocks and Palette
Customizing Xcos with new Blocks and PaletteScilab
 
Scilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieurScilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieurScilab
 
Scilab pour l'enseignement des mathématiques
Scilab pour l'enseignement des mathématiquesScilab pour l'enseignement des mathématiques
Scilab pour l'enseignement des mathématiquesScilab
 
Optimization in scilab
Optimization in scilabOptimization in scilab
Optimization in scilabScilab
 
Introduction to Discrete Probabilities with Scilab - Michaël Baudin, Consort...
Introduction to Discrete Probabilities with Scilab - Michaël Baudin, Consort...Introduction to Discrete Probabilities with Scilab - Michaël Baudin, Consort...
Introduction to Discrete Probabilities with Scilab - Michaël Baudin, Consort...Scilab
 
Scilab is not naive
Scilab is not naiveScilab is not naive
Scilab is not naiveScilab
 
Xcos pour débutants
Xcos pour débutantsXcos pour débutants
Xcos pour débutantsScilab
 
Scilab debutant
Scilab debutantScilab debutant
Scilab debutantScilab
 
Xcos for beginners
Xcos for beginnersXcos for beginners
Xcos for beginnersScilab
 

More from Scilab (18)

Electric motor optimization
Electric motor optimizationElectric motor optimization
Electric motor optimization
 
Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...
Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...
Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...
 
X2C -a tool for model-based control development and automated code generation...
X2C -a tool for model-based control development and automated code generation...X2C -a tool for model-based control development and automated code generation...
X2C -a tool for model-based control development and automated code generation...
 
Scilab for real dummies j.heikell - part3
Scilab for real dummies j.heikell - part3Scilab for real dummies j.heikell - part3
Scilab for real dummies j.heikell - part3
 
Scilab for real dummies j.heikell - part 2
Scilab for real dummies j.heikell - part 2Scilab for real dummies j.heikell - part 2
Scilab for real dummies j.heikell - part 2
 
Scilab for real dummies j.heikell - part 1
Scilab for real dummies j.heikell - part 1Scilab for real dummies j.heikell - part 1
Scilab for real dummies j.heikell - part 1
 
Multiobjective optimization and Genetic algorithms in Scilab
Multiobjective optimization and Genetic algorithms in ScilabMultiobjective optimization and Genetic algorithms in Scilab
Multiobjective optimization and Genetic algorithms in Scilab
 
Scilab optimization workshop
Scilab optimization workshop Scilab optimization workshop
Scilab optimization workshop
 
Fraunhofer IIS @ Scilab Conference 2018
Fraunhofer IIS @ Scilab Conference 2018Fraunhofer IIS @ Scilab Conference 2018
Fraunhofer IIS @ Scilab Conference 2018
 
Customizing Xcos with new Blocks and Palette
Customizing Xcos with new Blocks and PaletteCustomizing Xcos with new Blocks and Palette
Customizing Xcos with new Blocks and Palette
 
Scilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieurScilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieur
 
Scilab pour l'enseignement des mathématiques
Scilab pour l'enseignement des mathématiquesScilab pour l'enseignement des mathématiques
Scilab pour l'enseignement des mathématiques
 
Optimization in scilab
Optimization in scilabOptimization in scilab
Optimization in scilab
 
Introduction to Discrete Probabilities with Scilab - Michaël Baudin, Consort...
Introduction to Discrete Probabilities with Scilab - Michaël Baudin, Consort...Introduction to Discrete Probabilities with Scilab - Michaël Baudin, Consort...
Introduction to Discrete Probabilities with Scilab - Michaël Baudin, Consort...
 
Scilab is not naive
Scilab is not naiveScilab is not naive
Scilab is not naive
 
Xcos pour débutants
Xcos pour débutantsXcos pour débutants
Xcos pour débutants
 
Scilab debutant
Scilab debutantScilab debutant
Scilab debutant
 
Xcos for beginners
Xcos for beginnersXcos for beginners
Xcos for beginners
 

Recently uploaded

Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 

Recently uploaded (20)

Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 

University of Applied Science Esslingen @ Scilab Conference 2018

  • 1. 1www.esi-group.com Copyright © ESI Group, 2018. All rights reserved.Copyright © ESI Group, 2018. All rights reserved. www.esi-group.com Implementation of a converting toolbox for Scilab for transforming figures from Scilab to TikZ/LaTeX Manuel-Tobias Csapo 10.11.2018
  • 2. 2www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 2 What’s the motivation for a toolbox? • Include graphs in scientific papers or articles • LaTeX in scientific environment is de-facto standard • MATLAB and Octave offer to convert figures to Tikz/LaTeX • Scilab does not provide this functionality yet Created toolbox prototype “xs2tikz” in Scilab Project idea initiated by Professor Dr. Koch
  • 3. 3www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 3 Agenda 1. Working Environment • University of Applied Sciences Esslingen • IT Designers Group 2. Target Software • What’s LaTeX • What’s PGFPlots 3. Converter Toolbox • Implementation • What’s currently there • Examples 4. Outlook • What’s missing / New features
  • 4. 4www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 4 Working Environment University of Applied Sciences Esslingen • Established in 1868 • Located in Esslingen near Stuttgart • 6000 students in majors like software engineering, mechanical engineering and social work • Cooperation with various companies in Stuttgart • Cooperation via Steinbeis for technology transfer Source: www.hs-Esslingen.de
  • 5. 5www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 5 Working Environment IT Designers Group • Established in 1994 by Professor Dr. Joachim Goll from University of Applied Sciences Esslingen via Steinbeis • Located in Zell/Esslingen • Nearly 150 employees • Develops personalized software projects for customers in automobile, finance, logistic and automation sector • Provides support and setup of Application Lifecycle Management
  • 6. 6www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 6 Target Software Components used Source: de.wikipedia.org • Typesetting language LaTeX (Open Source) • LaTeX package PGFPlots for creation of plots; is based on PGF/TikZ (Open Source) Source: pgfplots.sourceforge.net
  • 7. 7www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 7 Target Software About LaTeX Source: de.wikipedia.org • High-quality typesetting system • Used in scientific and educational environment • Well-suited for typesetting mathematical formulas • Principle: writers should focus on content, not design • As opposed to Microsoft Word ;-) documentclass{scrartcl} title{Awesome article is awesome} author{Manuel Csapo} begin{document} maketitle end{document}
  • 8. 8www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 8 Target Software About PGFPlots • Plot creation package for LaTeX • Based on PGF/TikZ • Supports normal/logarithmic plots in two and three dimensions begin{tikzpicture} begin{axis}[xlabel=x, ylabel=f(x)] addplot coordinates { (0, 1) (2,4) }; end{axis} end{tikzpicture} Source: pgfplots.sourceforge.net
  • 9. 9www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 9 Target Software About PGF/TikZ • More elaborate graphics • Use high-level instructions for designing image Source: http://www.texample.net/tikz/examples/p2p-topology/
  • 10. 10www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 10 Converter Toolbox Graphic representation in Scilab • Tree with graphic hierarchy • Each element contains handle reference to next lower one • Direct access or via get()/set()
  • 11. 11www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 11 Converter Toolbox First Step: What’s out there? • Matlab2Tikz package as base • Has more functionality than needed • E.g. Parsing additional arguments for creating more elements • Quickly abandoned due single file provision with ~7000 lines of code, > 100 unprecise declared Functions • Example: saveToFile()does gathering and calls functions for generating of strings
  • 12. 12www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 12 Converter Toolbox Second Step: Designing • Basic ideas taken: Gathering, Parsing, Writing to file • Provide functionality as toolbox • Solely written in Scilab • gather_graphics_attributes for collecting figure data • generate_tikz_strings for parsing data to PGFPlots • xs2tikz provides simple interface
  • 13. 13www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 13 Converter Toolbox Visualisation
  • 14. 14www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 14 Converter Toolbox Third Step: Implementation of gather_graphic_attributes • Traverse graphic hierarchy • Collect necessary attributes • Create cell for each type (figure, axes, polylines) • Save them in struct attributes
  • 15. 15www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 15 Converter Toolbox Third Step: Implementation of generate_tikz_strings • Add necessary environment information (begin/end) • Generate axes with options • Generate plots from polylines
  • 16. 16www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 16 Converter Toolbox Example (Calling sequence) - -> cd /path/to/toolbox/xs2tikz - -> exec builder.sce; exec loader.sce; - -> plot_example_simple_graph(); - -> xs2tikz(“example.tex”, true); Create PDF (in Linux): pdflatex example.tex
  • 17. 17www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 17 Converter Toolbox Example (Result as image)
  • 18. 18www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 18 Converter Toolbox Current state • Toolbox structure done • Basic conversion for 2D figures • Help pages for functions • Standalone file generation, titles, legends supported
  • 19. 19www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 19 Outlook Advantages + File is editable after conversion (unlike JPG, PNG, etc.) + Same quality of appearance as in LaTeX (fonts, drawing) + Consistent structure of file format for LaTeX + Elevates Scilab on same level as MATLAB or Octave
  • 20. 20www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 20 Outlook Next Steps • Make subplots possible • Use state machine in string generation • Add 3D functionality through addplot3d • More robust testing
  • 21. 21www.esi-group.com Copyright © ESI Group, 2018. All rights reserved. 21 End of presentation Thank you for your patience!