Archive for the ‘LaTeX’ Category.
2019-09-12, 20:45
Nachdem ich meine Präsentationen zur TUG 2019 bereits hochgeladen habe (LINK) folgen nun die Artikel, die in der TUGboat erscheinen werden.
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
Schlagwörter:
LaTeX,
TUG Category:
LaTeX,
Artikel |
Kommentare deaktiviert für Meiner TUGboat-Artikel zur TUG 2019 in Palo Alto
2019-09-12, 20:40
Hier ein kurzes Beispiel, wie man mit Python eine TeX-Datei mit vielen Brüchen erzeugen kann. Nützlich, wenn Kinder Brüche kürzen oder erweitern sollen. In der nächsten Zeit werde ich sicher noch entsprechende Anpassungen für das Rechnen mit Brüchen hinzufügen.
EDIT: Erweitert um das Löschen der Hilfsdateien.
import os
import random
head = """
\\documentclass[14pt, twocolumn]{scrartcl}
\\usepackage[utf8]{inputenc}
\\usepackage[T1]{fontenc}
\\pagestyle{empty}
\\begin{document}
\\begin{itemize}"""
foot = """
\\end{itemize}
\\end{document}
"""
def create_bruch():
zahlen = list(range(1,13))
zaehler = random.choice(zahlen)
zahlen.remove(zaehler)
nenner = random.choice(zahlen)
return '\\item \\( \\frac{'+ str(zaehler) + '}{' + str(nenner) + '} \\)\\vspace{1em}'
with open("Brueche.tex", "w") as document:
document.write(head);
for i in range(32):
document.write(create_bruch());
document.write(foot);
document.close();
os.system("pdflatex Brueche.tex")
os.unlink("Brueche.log")
os.unlink("Brueche.aux")
os.unlink("Brueche.tex") |
import os
import random
head = """
\\documentclass[14pt, twocolumn]{scrartcl}
\\usepackage[utf8]{inputenc}
\\usepackage[T1]{fontenc}
\\pagestyle{empty}
\\begin{document}
\\begin{itemize}"""
foot = """
\\end{itemize}
\\end{document}
"""
def create_bruch():
zahlen = list(range(1,13))
zaehler = random.choice(zahlen)
zahlen.remove(zaehler)
nenner = random.choice(zahlen)
return '\\item \\( \\frac{'+ str(zaehler) + '}{' + str(nenner) + '} \\)\\vspace{1em}'
with open("Brueche.tex", "w") as document:
document.write(head);
for i in range(32):
document.write(create_bruch());
document.write(foot);
document.close();
os.system("pdflatex Brueche.tex")
os.unlink("Brueche.log")
os.unlink("Brueche.aux")
os.unlink("Brueche.tex")
Brueche
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
2019-08-21, 21:34
This year I was able to visit the TUG 2019 meeting in Palo Alto, California. I gave two talks, one on LaTeX & Python, the other one on the creation of exams using the exam class. Find below the slides, all sources are included in the PDF and accessible at least via Adobe Reader.
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
2019-04-07, 09:30
Hier die Folien von meinem Vortrag zum Thema „Briefvorlagen erstellen mit LaTeX und scrlttr2“, gehalten auf der Dante e.V. Vereinstagung in Darmstadt.
Alle Code-Beispiele sowie der Quelltext der Folien selbst sind Teil des PDF, dazu nutze ich das attachfile
-Paket. Mit einem einfachen \newcommand Befehl baue ich dann den \ta
Befehl, der als Parameter nur den Dateinamen entgegennimmt und im PDF dann ein rotes klickbares Paragraph-Symbol setzt.
\usepackage{attachfile}
\newcommand{\ta}[1]{\textattachfile[color=1 0 0]{#1}{\textparagraph}} |
\usepackage{attachfile}
\newcommand{\ta}[1]{\textattachfile[color=1 0 0]{#1}{\textparagraph}}
Vortragsfolien
Das github-Repository liegt unter https://github.com/UweZiegenhagen/scrlttr2_darmstadt
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
2018-11-17, 18:23
Mit dem typed-checklist Paket lassen sich einfach komplexe Checklisten setzen, hier ein Beispiel aus der Dokumentation:
\documentclass{article}
\usepackage{typed-checklist}
\begin{document}
\begin{CheckList}{Goal}
\Goal{open}{I have a trendy haircut}
\begin{CheckList}{Task}
\Task{done}{find a hairdresser}
\Task{started}{make an appointment}
\Task{open}{go to the hairdresser}
\end{CheckList}
\Goal{achieved}{I have a typed checklist}
\end{CheckList}
\end{document} |
\documentclass{article}
\usepackage{typed-checklist}
\begin{document}
\begin{CheckList}{Goal}
\Goal{open}{I have a trendy haircut}
\begin{CheckList}{Task}
\Task{done}{find a hairdresser}
\Task{started}{make an appointment}
\Task{open}{go to the hairdresser}
\end{CheckList}
\Goal{achieved}{I have a typed checklist}
\end{CheckList}
\end{document}
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
Category:
LaTeX,
Pakete |
Kommentare deaktiviert für Checklisten setzen mit
2018-11-17, 18:21
Mit dem changelog
Paket gibt es eine komfortable Möglichkeit, changelogs in Dokumenten zu setzen. Hier ein Beispiel, entnommen der Dokumentation.
\documentclass[12pt,ngerman]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage{babel}
\usepackage{graphicx}
\usepackage{csquotes}
\usepackage{paralist}
\usepackage{xcolor}
\usepackage[color]{changelog}
\begin{document}
\begin{changelog}[sectioncmd=\section,title={Versionshistorie}]
\begin{version}{0.9}
\added Really cool features
\end{version}
\begin{version}[date=2019-01-23]
\item A version with only a date
\end{version}
\begin{version}[v=1.1.0]
\item A version with no date
\end{version}
\begin{version}[v=1.0.1, yanked]
\item sasda
\end{version}
\end{changelog}
\end{document} |
\documentclass[12pt,ngerman]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage{babel}
\usepackage{graphicx}
\usepackage{csquotes}
\usepackage{paralist}
\usepackage{xcolor}
\usepackage[color]{changelog}
\begin{document}
\begin{changelog}[sectioncmd=\section,title={Versionshistorie}]
\begin{version}{0.9}
\added Really cool features
\end{version}
\begin{version}[date=2019-01-23]
\item A version with only a date
\end{version}
\begin{version}[v=1.1.0]
\item A version with no date
\end{version}
\begin{version}[v=1.0.1, yanked]
\item sasda
\end{version}
\end{changelog}
\end{document}
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
Category:
Pakete,
LaTeX |
Kommentare deaktiviert für Changelogs setzen mittels „changelog“ Paket
2018-11-17, 15:54
Für meine Studentinnen und Studenten erstelle ich zu jeder Vorlesung eine kurze Wiederholung auf Basis der exam
Klasse. Üblicherweise reicht ein DIN A5 Blatt, daher liegt es nahe, zwei DIN A5 Blätter auf ein DIN A4 Blatt zu drucken.
Um nicht den Text zweimal setzen zu müssen, gibt es zwei nützliche Lösungen (neben der Nutzung von Adobe Acrobat):
Duplizieren der Seite mittels pdftk
:
Für pdftk
habe ich eine kleine Batch-Datei duplicate.bat
geschrieben, die dann mittels duplicate datei1.pdf datei2.pdf
aufgerufen wird.
@echo off
pdftk %1 cat 1-end 1-end output %2
Duplizieren der Seiten in LaTeX mittels pgfpages
Über TSX (https://tex.stackexchange.com/questions/142187/compile-two-a5-pages-on-one-a4-page/142272) bin ich auf eine Lösung gestoßen, die im LaTeX-Lauf selbst die Seite dupliziert:
\documentclass[a4paper,ngerman,12pt]{article}
\usepackage{pgfpages} % <— load the package
\pgfpagesuselayout{2 on 1}[a4paper,landscape,border shrink=5mm] % <— set options
\usepackage{atbegshi} % duplicate the content at shipout time
\AtBeginShipout{%
\pgfpagesshipoutlogicalpage{1}\copy\AtBeginShipoutBox
\pgfpagesshipoutlogicalpage{2}\box\AtBeginShipoutBox
\pgfshipoutphysicalpage
}
\usepackage{blindtext}
\begin{document}
\blindtext[3]
\end{document} |
\documentclass[a4paper,ngerman,12pt]{article}
\usepackage{pgfpages} % <— load the package
\pgfpagesuselayout{2 on 1}[a4paper,landscape,border shrink=5mm] % <— set options
\usepackage{atbegshi} % duplicate the content at shipout time
\AtBeginShipout{%
\pgfpagesshipoutlogicalpage{1}\copy\AtBeginShipoutBox
\pgfpagesshipoutlogicalpage{2}\box\AtBeginShipoutBox
\pgfshipoutphysicalpage
}
\usepackage{blindtext}
\begin{document}
\blindtext[3]
\end{document}
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
2018-10-07, 13:37
Von Marei aus Regensburg (Danke!) stammt das folgende Beispiel. Es zeigt, wie man mit expl3
Syntax einfach neue globale Optionen setzen und auswerten kann.
\documentclass[lang]{scrartcl}
\usepackage{expl3}
\ExplSyntaxOn
\exp_args:Nc \clist_map_inline:nn {@classoptionslist}{%
\str_case_x:nn {#1}{%
{kurz}{\newcommand{\myname}{Max}}%
{lang}{\newcommand{\myname}{Max~Mustermann}}}}
\ExplSyntaxOff
\begin{document}
\myname
\end{document} |
\documentclass[lang]{scrartcl}
\usepackage{expl3}
\ExplSyntaxOn
\exp_args:Nc \clist_map_inline:nn {@classoptionslist}{%
\str_case_x:nn {#1}{%
{kurz}{\newcommand{\myname}{Max}}%
{lang}{\newcommand{\myname}{Max~Mustermann}}}}
\ExplSyntaxOff
\begin{document}
\myname
\end{document}
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
Category:
LaTeX,
Tipps & Tricks |
Kommentare deaktiviert für Einfach neue globale Optionen setzen und auswerten
2018-10-07, 13:22
Hier ein kurzes Beispiel für den serifenlosen Mathematik-Font Fira Math.
\documentclass{article}
\usepackage{amsmath}
\usepackage[mathrm=sym]{unicode-math}
\setmathfont{Fira Math}
\begin{document}
\[
x_{1,2} = -\frac{p}{2} \pm \sqrt{\left(\frac{p}{2}\right)^2 - q}
\]
\end{document} |
\documentclass{article}
\usepackage{amsmath}
\usepackage[mathrm=sym]{unicode-math}
\setmathfont{Fira Math}
\begin{document}
\[
x_{1,2} = -\frac{p}{2} \pm \sqrt{\left(\frac{p}{2}\right)^2 - q}
\]
\end{document}
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
2018-09-05, 05:46
Vor einigen Wochen habe ich eine Möglichkeit gesucht, Lernkarten mittels LaTeX zu erstellen: Frage auf der Vorderseite, Antwort auf der Rückseite.
Auf github habe ich dann https://github.com/kellertuer/Kartei gefunden, das genau diese Anforderungen umsetzt. Das Projekt ist leider noch nicht auf CTAN, vielleicht werde ich dem Autor mal dabei helfen. Aktuell muss man halt alle Dateien von github holen und a) in den lokalen TeX-Baum legen oder b) einfach in das eigene Projektverzeichnis packen.
Hier jetzt ein Beispiel:
\documentclass[a6paper,12pt,print,grid=front]{kartei}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{graphicx}
\usepackage[sfdefault]{plex-sans}
\usepackage[]{blindtext}
\setlength{\parindent}{6pt}
\setlength{\parskip}{0pt}
\begin{document}
\begin{karte}[Oben links]{Wie groß ist die mittlere Entfernung zwischen Erde und Sonne?}[Oben rechts]
149.600.000 km
\end{karte}
\begin{karte}[Oben links]{Wie groß ist die mittlere Entfernung zwischen Erde und Mond?}[Oben rechts]
384.400 km
\end{karte}
\begin{karte}[Oben links]{Wie groß ist die mittlere Entfernung zwischen Erde und Andromeda?}[Oben rechts]
2.537.000 Lichtjahre
\end{karte}
\begin{karte}[Oben links]{Wie groß ist die mittlere Entfernung zwischen Erde und Andromeda?}[Oben rechts]
\blindtext
\end{karte}
\end{document} |
\documentclass[a6paper,12pt,print,grid=front]{kartei}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{graphicx}
\usepackage[sfdefault]{plex-sans}
\usepackage[]{blindtext}
\setlength{\parindent}{6pt}
\setlength{\parskip}{0pt}
\begin{document}
\begin{karte}[Oben links]{Wie groß ist die mittlere Entfernung zwischen Erde und Sonne?}[Oben rechts]
149.600.000 km
\end{karte}
\begin{karte}[Oben links]{Wie groß ist die mittlere Entfernung zwischen Erde und Mond?}[Oben rechts]
384.400 km
\end{karte}
\begin{karte}[Oben links]{Wie groß ist die mittlere Entfernung zwischen Erde und Andromeda?}[Oben rechts]
2.537.000 Lichtjahre
\end{karte}
\begin{karte}[Oben links]{Wie groß ist die mittlere Entfernung zwischen Erde und Andromeda?}[Oben rechts]
\blindtext
\end{karte}
\end{document}
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