Author Archive

Syntaxhighlighting mit Pygments und LaTeX (Beamer-Version)

Das minted-Syntaxhighlighting für eingebetteten Code funktioniert natürlich auch für Beamer-Präsentationen. (Hinweis: Python und pygments müssen installiert sein, --shell-escape muss aktiviert sein)

\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
 
\usepackage{xcolor}
\definecolor{colBack}{rgb}{1,1,0.8}
 
\usepackage{minted}
\setminted[python]{frame=lines, framesep=2mm, baselinestretch=1.2, bgcolor=colBack,fontsize=\footnotesize,linenos}
\setminted[text]{frame=lines, framesep=2mm, baselinestretch=1.2, bgcolor=colBack,fontsize=\footnotesize,linenos}
 
\usepackage{fancyvrb}
\makeatletter
\newenvironment{pycode}[1]%
  {\xdef\d@tn@me{#1}\xdef\r@ncmd{python #1.py > #1.plog}%
  \typeout{Writing file #1}\VerbatimOut{#1.py}% 
  }
  {\endVerbatimOut %
 \toks0{\immediate\write18}%
 \expandafter\toks\expandafter1\expandafter{\r@ncmd}%
 \edef\d@r@ncmd{\the\toks0{\the\toks1}}\d@r@ncmd %
 \noindent Input
 \inputminted{python}{\d@tn@me.py}%
 \noindent Output
 \inputminted{text}{\d@tn@me.plog}%
}
\makeatother
 
\begin{document}
 
\begin{frame}[containsverbatim]
\frametitle{Python Code Evaluation}
 
\begin{pycode}{abc}
import pandas as pd
print(pd.__version__);
print(123+456)
\end{pycode}
 
\end{frame}
 
\end{document}

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Syntaxhighlighting mit Pygments und LaTeX

Hier ein Beispiel, wie man aus LaTeX-Dateien heraus a) Dateien schreibt b) diese Dateien durch einen externen Interpreter (in diesem Fall Python) ausführen lässt, c) die Ergebnisse wieder in TeX anzeigt und d) dabei das Syntax-Highlighting durch pygments erledigen lässt.

Wichtig: --shell-escape muss aktiviert sein, eine Python-Distribution (ich bevorzuge Anaconda) muss installiert sein, Python im Pfad sein.

Das Beispiel lässt sich leicht auf alle anderen Sprachen ausweiten, die im Batch-Verfahren ausführbar sind.

English: The following example shows how one can write code for external interpreters directly in LaTeX. During compilation the code is written to external files, run be the interpreter, its results stored in the corresponding .plog output file. Syntax hightlighting is done via pygments. --shell-escape must be set for the TeX-compiler!

\documentclass[12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
 
\definecolor{colBack}{rgb}{1,1,0.8}
 
\usepackage{minted}
 
\setminted[python]{frame=lines, framesep=2mm, baselinestretch=1.2, bgcolor=colBack,fontsize=\footnotesize,linenos}
\setminted[text]{frame=lines, framesep=2mm, baselinestretch=1.2, bgcolor=colBack,fontsize=\footnotesize,linenos}
 
\usepackage{fancyvrb}
 
\makeatletter
\newenvironment{pycode}[1]%
  {\xdef\d@tn@me{#1}\xdef\r@ncmd{python #1.py > #1.plog}%
  \typeout{Writing file #1}\VerbatimOut{#1.py}% 
  }
  {\endVerbatimOut %
 \toks0{\immediate\write18}%
 \expandafter\toks\expandafter1\expandafter{\r@ncmd}%
 \edef\d@r@ncmd{\the\toks0{\the\toks1}}\d@r@ncmd %
 \noindent Input
 \inputminted{python}{\d@tn@me.py}%
 \noindent Output
 \inputminted{text}{\d@tn@me.plog}%
}
\makeatother
 
 
\begin{document}
 
\begin{pycode}{abc}
import pandas as pd
print(pd.__version__);
print(1+123424)
\end{pycode}
 
 
\end{document}

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Folien meines Bitcoin/Blockchain Vortrags (FrosCon 2018)

Hier die PDF-Datei meines Bitcoin/Blockchain-Vortrags, den ich am 25.08.2018 auf der FrosCon 2018 in St. Augustin bei Bonn gehalten habe. In den nächsten Monaten werden die Folien aktualisiert und erweitert.

PDF

Ein Video gibt es unter https://media.ccc.de/v/froscon2018-2124-beyond_bitcoin_-_blockchain_anwendungen_in_der_praxis

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Standardbrowser in Jupyter setzen

In der Jupyter-Konfiguration gibt es zwar eine Zeile für den Browser, das Anpassen dieser Zeile hatte bei mir aber keinen Erfolg. Erfolgreich war ich dann mit einer SX Antwort:

#c.NotebookApp.browser = ''
 
import webbrowser
webbrowser.register('chrome', None, webbrowser.GenericBrowser('C:\\Chrome\\Application\\chrome.exe'))
c.NotebookApp.browser = 'chrome'

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Ordner beschriften mit LaTeX, Teil 2: Schmale Ordner

Hier noch eine Erweiterung zum Beitrag von gestern, angepasst auf schmale Ordner und mit der Möglichkeit, das jeweilige Label individuell zu skalieren. Dazu wurde der \mylabel Befehl einfach um einen Parameter erweitert, der den übergebenen Labeltext mittels \scalebox aus dem graphicx Paket skaliert.

\documentclass[a4paper,12pt]{scrartcl}
\usepackage[total={210mm,297mm},top=0mm,left=0mm,bottom=0mm,includefoot]{geometry}
\usepackage[schmal]{ticket}
\usepackage{graphicx}
\usepackage{filecontents}
 
\IfFileExists{plex-sans.sty}{%
\usepackage[sfdefault]{plex-sans}%
}{
\usepackage{palatino}%
}
 
\begin{filecontents*}{schmal.tdf}
\unitlength=1mm
\hoffset=-13mm
\voffset=-15mm
\ticketNumbers{1}{10}
\ticketSize{185}{32} % Breite und Höhe der Labels in mm
\ticketDistance{0}{0} % Abstand der Labels
\end{filecontents*}
 
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{xcolor}
 
\renewcommand{\ticketdefault}{}%
\makeatletter
\@boxedtrue % Rahmen um Ticket
\@emptycrossmarkfalse % Falzmarken
\@cutmarktrue % Schnittmarken
\makeatother
 
\newcommand{\mylabel}[2]{
\ticket{%
\put(5,6){\scalebox{#1}{\bfseries #2}}
}}
 
\begin{document}
\mylabel{6}{Versicherung}
\mylabel{6}{Versicherung}
\mylabel{6}{Versicherung}
\mylabel{6}{Versicherung}
\mylabel{6}{Versicherung}
\mylabel{6}{Versicherung}
\mylabel{6}{Versicherung}
\mylabel{6}{Versicherung}
\end{document}

Abbildung Ordner-Label

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Ordner beschriften mit LaTeX

Hier ein Beispiel, wie man mit LaTeX einfach Ordnerrücken beschriften kann. Es nutzt das Paket ticket.sty, das ich auch schon für Wahlkarten im Verein oder Namensschilder genutzt habe.

Hinweise:

  • Beim ersten Kompilieren gibt es eine Fehlermeldung, da die Datei Ordner.tdf noch geschrieben werden muss.
  • Nach Anpassungen innerhalb von filecontents* muss zweimal übersetzt werden. Das erste Übersetzen schreibt die TDF Datei, das zweite Übersetzen nutzt dann diese Datei.
  • Als Schriftart nutze ich die IBM Plex Sans, die in TeX Live 2018 standardmäßig dabei ist,
    in TeX Live 2017 nicht. Die Datei wird aber auch so übersetzt, nutzt dann aber die Palatino.
\documentclass[a4paper,12pt]{scrartcl}
\usepackage[total={210mm,297mm},top=0mm,left=0mm,bottom=0mm,includefoot,landscape]{geometry}
\usepackage[Ordner]{ticket}
\usepackage{graphicx}
\usepackage{filecontents}
 
\IfFileExists{plex-sans.sty}{%
\usepackage[sfdefault]{plex-sans}%
}{
\usepackage{palatino}%
}
 
\begin{filecontents*}{Ordner.tdf}
\unitlength=1mm
\hoffset=10mm
\voffset=-15mm
\ticketNumbers{1}{3}
\ticketSize{190}{58} % Breite und Höhe der Labels in mm
\ticketDistance{0}{0} % Abstand der Labels
\end{filecontents*}
 
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{xcolor}
 
\renewcommand{\ticketdefault}{}%
\makeatletter
\@boxedtrue % Rahmen um Ticket
\@emptycrossmarkfalse % Falzmarken
\@cutmarktrue % Schnittmarken
\makeatother
 
\newcommand{\mylabel}[1]{
\ticket{%
\put(15,15){\scalebox{7}{\bfseries #1}}
}}
 
\begin{document}
\mylabel{Ausbildung}
\mylabel{Steuern}
\mylabel{Rente}
\end{document}

Beispiel Ordnerrücken

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Retrieve MySQL/MariaDB data with Python

A while ago I had some issues retrieving data from MySQL using Python, as my Python was more up-to-date than the official bindings. A few days ago I found a nice GIST (https://gist.github.com/stefanthoss/364b2a99521d5bb76d51) that uses pymysql:

import pandas as pd
import pymysql
from sqlalchemy import create_engine
 
engine = create_engine('mysql+pymysql://<user>:<password>@<host>[:<port>]/<dbname>')
df = pd.read_sql_query('SELECT * FROM table', engine)
df.head()

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Graphviz Dateien mit Autopreview erstellen

Graphviz ist seit Jahrzehnten das Tool, um Graphen zu erstellen. Für Visual Studio Code gibt es mit dem „Graphviz Preview“ Plugin die Möglichlkeit, eine Echtzeit-Preview zu erhalten. Dann fühlt es sich fast an wie Visio 🙂

Hier die Quelle für diesen Tipp: https://spin.atomicobject.com/2017/11/15/table-rel-diagrams-graphviz/

Tipp: Graphviz muss natürlich installiert und im Pfad sein, die Preview aktiviert man dann in VSC über -P ==> „Graphviz: Show Preview“.

Graphviz Preview in VSC

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Zeilen duplizieren in UltraEdit

Unter Windows nutze ich schon seit Jahren UltraEdit für das Bearbeiten von Textdateien.

Mittels lässt sich die aktuelle Zeile duplizieren, was aber recht umständlich ist. Da das „Hex einfügen“ von -D nicht brauche, habe ich die Funktion einfach darauf gemappt. Dazu geht man wie folgt vor:

  1. Unter Extras > Konfiguration > Tastenzuordnung sucht man den Befehl „Hex einfügen“ und entfernt die Zuordnung
  2. Unter „Zeile duplizieren“ entfernt man ebenfalls die Zuordnung zu
  3. Mit der Maus in die Textbox unter „Neue (Multi)-Taste drücken“ klicken
  4. -D drücken unnd zuordnen
  5. Übernehmen und OK drücken

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Schneller Verzeichnisse wechseln mit autojump

Hier ist ein interessanter Artikel zu autojump, das unter Linux cd weitgehend ersetzen kann: https://olivierlacan.com/posts/cd-is-wasting-your-time/. Unter (X)Ubuntu ist die Installation ein wenig anders, da autojump.sh in einem anderen Verzeichnis liegt.

Bei mir klappt es mit der folgenden Zeile:


[ -f /usr/share/autojump/autojump.sh ] && . /usr/share/autojump/autojump.sh

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website