Skip to content

Instantly share code, notes, and snippets.

@LukasCBossert
Last active March 10, 2020 16:49
Show Gist options
  • Save LukasCBossert/c57710546fedf16190f505cc74093f8d to your computer and use it in GitHub Desktop.
Save LukasCBossert/c57710546fedf16190f505cc74093f8d to your computer and use it in GitHub Desktop.
Example file for 'literate programming' (LaTeX)
% \iffalse
%<*batchfile>
\begingroup % startet eine Gruppe
\input docstrip.tex
\keepsilent % kein detailliertes Feedback
\askforoverwritefalse % überschreibe alte Version
\generate{\file{MeinPaket.sty}{\from{\jobname.dtx}{sty}}}
\endgroup % beendet die Gruppe
%</batchfile>
%<*driver>
\documentclass{ltxdoc}
\author{Lukas C. Bossert}
\title{Mein erstes \LaTeX-Paket}
\usepackage{MeinPaket} % lädt das neue Paket
\begin{document}
\maketitle % erstellt eine Titelseite
\DocInput{\jobname.dtx} % fügt sich selbst ein
\end{document}
%</driver>
%<*sty>
% \fi
%\section{Überblick}
% Mit dem Paket lässt sich die Schriftfarbe
% und Schriftgröße innerhalb einer Umgebung ändern.
%\section{Code-Documentation}
% Als erstes wird die Grundvoraussetzung für das
% Paket spezifiziert,
% anschließend erfolgt die Namensnennung.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{MeinPaket.sty}
% \end{macrocode}
% Es folgt der Code des Pakets.\par
% Das Paket "MeinPaket" lädt ein anderes Paket.
% \begin{macrocode}
\RequirePackage{xcolor}
% \end{macrocode}
% Es stellt auch eine eigene Umgebung zur Verfügung.
% \begin{environment}{MeinBeispiel}
% Innerhalb der Umgebung \meta{MeinBeispiel}
% wird die Schriftfarbe und -größe geändert.
% \begin{macrocode}
\newenvironment{MeinBeispiel}
% \end{macrocode}
% Zu Beginn wird die Schrift rot eingefärbt und
% vergrößert.
% \begin{macrocode}
{\color{red}\large}
% \end{macrocode}
% Am Ende wird alles wieder in den ursprünglichen
% Zustand versetzt.
% \begin{macrocode}
{\normalcolor\normalsize}
% \end{macrocode}
% \end{environment}
% Nun erfolgt noch ein \begin{MeinBeispiel} Beispieltext\end{MeinBeispiel}
% wie er durch das Paket \meta{MeinPaket} verändert wird.
% \iffalse
%</sty>
% \fi
%\endinput
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment