npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@miguelfranken/tutorial

v0.0.1

Published

Workspace zur unkomplizierten Anfertigung von Übungsblättern oder deren Bearbeitung

Downloads

5

Readme

Anfertigung von Übungsblättern oder deren Bearbeitung

Die Dokumentenklasse tutorial ermöglicht die unkomplizierte Anfertigung von Übungsblättern oder deren Bearbeitung. Nach dem Prinzip DRY (don't repeat yourself) werden statische Informationen, die in jedem Übungsblatt oder deren Bearbeitung vorkommen, zentral in einer Konfigurationsdatei gespeichert. Die Dokumentenklasse liest diese Informationen aus und formatiert das Übungsblatt oder deren Bearbeitung ohne den Aufruf eines einzigen Kommandos. Neben statischen Informationen wie Name der Lehrveranstaltung, gibt es die Möglichkeit vorbereitete Stylesheets auszuwählen. Diese formatieren die statischen Informationen ansprechend oder eigene zu erstellen.

Beispiel

Siehe pdf für ein gerendertes Übungsblatt.

Siehe Unterordner example für ein beispielhaften Workspace.

Installation

Vorbereitung

Lehrveranstaltungsinformationen wie Titel der Lehrveranstaltung oder Liste aller Gruppenmitglieder werden in einer Datei lv.tex gespeichert. Für jede Lehrveranstaltung ex. genau eine solche Datei, welche stets im selben Verzeichnis wie die tex-Dateien für die Übungsblätter liegen oder im übergeordneten Ordner. Empfehlenswert ist es zusätzlich die tex-Dateien für die Übungsblättern oder deren Bearbeitung in eigene Ordner zu speichern, da bei der Kompilierung der tex-Dateien sehr viel output entsteht.

Empfohlene Ordnerstruktur:

.
+-- tutorial.cls
+-- lv.tex
|
+-- styles
|   +-- solution1.tex
|   +-- answer1.tex
|
|
+-- u1
|   +-- blatt01.tex
|   +-- blatt01.pdf
|
+-- u2
    +-- blatt02.tex
    +-- blatt02.pdf

Konfiguration

Statische Informationen und Konfigurationen werden in einer Datei lv.tex gespeichert. Die Möglichkeiten der Konfiguration sind den folgenden Tabelle zu entnehmen.

Konfiguration von statischen Inhalten

Beide Modi

| Kommando | Beschreibung | | --- | --- | | \moduletitle{<string>} | Lehrveranstaltungstitel | | \addauthor{<name>} | Fügt einen Autor ein ohne Matrikelnr. | | \addauthor{<name>}{<matrikelnr>} Fügt einen Autor ein mit Matrikelnr. und Trennzeichen studentnumberdelimiter | | \university{<str>} | Universität |

Modus answer

| Kommando | Beschreibung | | --- | --- | | \tutoriumnumber{<number>} | Nummer des Tutoriums | | \tutorium{<name>} | Name des Tutors |

Modus question

| Kommando | Beschreibung | | --- | --- | | \chair{<str>} | Lehrstuhl |

Konfiguration der Formatierung

| Kommando | Beschreibung | | --- | --- | | \authordelimiter{<delimiter>} | Trennstring zwischen Autoren | | \studentnumberdelimiter{<delimiter>} | Trennstringzwischen Name und Matrikelnr eines Autors | | \heading{<string>} | Überschrift | | \subheading{<string>} | Unterüberschrift. Beinhaltet oft \@moduletitle. | | \answernumber{\roman{answernumber}} | Ändert nur die Darstellung der Aufgabennummer | | \answerlabel{<str>} | Ändert die Darstellung der Aufgabenlabels | | \answernumber{\xxx{answernumber}} | Ausgabe der Nummern für Aufgaben | | \answerlabel{<str>} | Label für Aufgaben. Beinhaltet oft \@answernumber |

Erstellen von Übungsblättern

Wie oben geschildert erzeugen wir für jedes neue Übungsblatt bzw. deren Bearbeitung einen neuen Ordner. Diesen nennen wir beispielsweise u3, wenn wir eine Bearbeitung für die dritte Übung in unserem Workspace erstellen wollen. Wir erzeugen eine in diesem Ordner befindliche neue tex-Datei blatt03.tex.

Skelett:

\documentclass[12pt]{../../tutorial}

\begin{document}
  % Inhalt
\end{document}

Erstellen eigener Stylesheets

Kommandos zur Ausgabe von Konfiguration

Zu fast jedem Kommando \xxx{<args>} zur Konfiguration von Inhalt oder zur Konfiguration der Formatierung gibt es ein äquivalent \@xxx um die Informationen, die ein Benutzer definiert hat, oder die Standardeinstellungen, welche die Dokumentenklasse liefert, auszulesen.

| Kommando | Beschreibung | | --- | --- | | \@authors | Ausgabe der Autoren als Zeichenkette formatiert als vertikale Liste | | \@authors[horizontal] | Ausgabe der Autoren als Zeichenkette formatiert als horizontale Liste | | \@moduletitle | Ausgabe des Lehrveranstaltungstitels | | \@answernumber | Ausgabe der aktuellen Aufgabennummer | | \@answerlabel | Ausgabe des aktuellen Aufgabenlabels |

Aufbau eines Sytlesheets