Klassen oder Vorlagen für Findbücher

Klassen und Pakete zur einfachen Umsetzung individueller Vorstellungen


Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

Danke für den Wink :P

Deine Lösung gefällt mir immer besser!

Sepp.-

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Freut mich :D

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

@Tobi
Außerdem könnte man für die Argumente überprüfen, ob sie leer sind und dann auch die Ausgabe von z. B. „Enthält: “ unterdrücken.
Das hat mich auch schon gestört, werde ich mir demnächst noch zu Gemüte führen. Es kommen ja außer "enthält" noch "darin" und "enthält u.a." vor.

Bin natürlich froh, wenn Du dich da "einmischt".

Gruß, Sepp.-

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Ich bastel mal was. Moment …

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Was hälst du davon?
\documentclass[fontsize=10pt,headings=small]{scrreprt} 
\usepackage[english, ngerman]{babel} 
\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{blindtext}
\renewcommand{\Blindtext}{%
	Dies hier ist ein Blindtext zum Testen von Textausgaben.
	Wer diesen Text liest, ist selbst schuld.%
}
\usepackage{lmodern}

\usepackage{calc,ifthen,xstring}% benötigt
%\usepackage{scrbase}% nur bei Nicht-KOMA-Klassen nötig 

% Funktion zur Überprüfung auf Inhalt
\makeatletter 
	\def\ifEmpty#1{\def\@temp{#1}\ifx\@temp\@empty} 
\makeatother

% Sprachabhängige Bezeichner können mit babel-Option umgeschaltet werden
% Option/Sprache: ngerman
\newcaptionname{ngerman}{\NumTerm}{Nr.\,}% vor Nummer
\newcaptionname{ngerman}{\YearTerm}{}% vor Jahr
\newcaptionname{ngerman}{\ContTerm}{Enthält:}% vor "Enthält"-Text
\newcaptionname{ngerman}{\ContAOTerm}{Enthält u.\,a.:}% vor "Enthält u.a."-Text
\newcaptionname{ngerman}{\InTerm}{Darin:}% vor "Darin"-Text
\newcaptionname{ngerman}{\PlaceTerm}{}% vor Standord
\newcaptionname{ngerman}{\TitleTerm}{}% vor Titel/Thema
% Option/Sprache: english
\newcaptionname{english}{\NumTerm}{No.\,}
\newcaptionname{english}{\YearTerm}{}
\newcaptionname{english}{\ContTerm}{Contains:}
\newcaptionname{english}{\ContAOTerm}{Contains o/a:}% k.a. wie da dir Abkürzung sein müsste. amogst others?
\newcaptionname{english}{\InTerm}{Inside:}
\newcaptionname{english}{\PlaceTerm}{}
\newcaptionname{english}{\TitleTerm}{}

% Schriften
\newcommand{\TitleFont}[1]{\textsf{\textbf{#1}}}
\newcommand{\TitleLabelFont}[1]{\textbf{#1}}
\newcommand{\LabelFont}[1]{\textsf{#1}}
\newcommand{\ExtraFont}[1]{\textit{#1}}
\newcommand{\PlaceFont}[1]{\begingroup\footnotesize{#1}\endgroup}

% Zähler für lfd. Numer
\newcounter{nummer}
\renewcommand{\thenummer}{\arabic{nummer}}

% Höhe des Abstandes zwischen Blöcken, dadurch einheitlich änderbar
\newlength{\abstand}\setlength{\abstand}{1\baselineskip}

% Breite der Einrückung, dadurch einheitlich änderbar
\newlength{\einrueck}\setlength{\einrueck}{1em}

% Hilfsmaß für Minipage
\newlength{\MinipageWidth}
\setlength{\MinipageWidth}{\linewidth}
\addtolength{\MinipageWidth}{-\einrueck}
\newlength{\TEMPHELPLENGTH}\settowidth{\TEMPHELPLENGTH}{\ContAOTerm}
\addtolength{\MinipageWidth}{-\TEMPHELPLENGTH}


% Befehl für Datensätze
\newcommand{\data}[8][]{\noindent 
\parbox{\linewidth}{
   % Nummer Ausgeben, wenn kein opt. Arg. gegeben
   \ifEmpty{#1}\refstepcounter{nummer}\NumTerm\thenummer\else%
   	\IfBeginWith{#1}{!}{\StrGobbleLeft{#1}{1}}{\NumTerm#1}%
   \fi%
   \hfill%
   % Jahr ausgeben, falls vorhanden
   \ifEmpty{#2}\else\YearTerm#2\fi%
   \\[\abstand]%
   % Thema/Titel ausgeben, falls vorhanden
   \ifEmpty{#3}\else\hspace*{\einrueck}\TitleLabelFont{\TitleTerm}\TitleFont{#3}\\[\abstand]\fi%
   % "Darin" ausgeben, falls vorhanden
   \ifEmpty{#4}\else\hspace*{\einrueck}\LabelFont{\InTerm}\hfill%
   \begin{minipage}[t]{\MinipageWidth}#4\end{minipage}%
   \\[\abstand]\fi%
   % "Enthält" ausgeben, falls vorhanden
   \ifEmpty{#5}\else\hspace*{\einrueck}\LabelFont{\ContTerm}\hfill%
   \begin{minipage}[t]{\MinipageWidth}#5\end{minipage}%
   \\[\abstand]\fi%
   % "Enthält u.a." ausgeben, falls vorhanden
   \ifEmpty{#6}\else\hspace*{\einrueck}\LabelFont{\ContAOTerm}\hfill%
   \begin{minipage}[t]{\MinipageWidth}#6\end{minipage}%
   \\[\abstand]\fi%
   % Extratext ausgeben, falls vorhanden
   \ifEmpty{#7}\else\hspace*{\einrueck}%
   \begin{minipage}[t]{\MinipageWidth+\TEMPHELPLENGTH}\ExtraFont{#7}\end{minipage}%
   \\[\abstand]\fi%
   % Standort ausgeben, falls vorhanden
   \ifEmpty{#8}\else\hspace*{\einrueck}\PlaceFont{\LabelFont{\PlaceTerm}#8}\fi%
   \\[2\abstand]
}%
} 
% #1: Lfde Nr (optional), #2: Jahr, #3: Titel/Thema, #4: "Darin", #5: "Enthält",
% #6: "Enthält u.a." #7: "Extratext", #8: Standort
% wird #1 angegeben, wird auch der \NumTerm vorangestellt, außer das Argument beginnt mit eine
% Ausrufezeichen !, dann wird dieses Abgeschnitten und der Rest des Arguments ausgegeben.
% Wird ein ! gebraucht muss man zwei angeben
% Bsp. [4] --> "Nr. 4"
%      [Nummer 4] --> "Nr. Nummer 4"
%      [!Nummer 4] --> "Nummer 4"
%      [!! Nummer 4] --> "! Nummer 4"



\begin{document} 
\chapter{Grund und Boden} 
\section{Beispiele für Ausgabe} 

\data{1934}{Teilungsplan Schröder}{\blindtext}{\Blindtext}{\Blindtext}{\Blindtext}{2 Fasz. -- RGBl. XII/6, 18 bis 20}

\data{1934}{Teilungsplan Schröder}{}{\Blindtext}{\Blindtext}{\Blindtext}{2 Fasz. -- RGBl. XII/6, 18 bis 20}

\data{1934}{Teilungsplan Schröder}{\blindtext}{}{\Blindtext}{\Blindtext}{2 Fasz. -- RGBl. XII/6, 18 bis 20}

\data{1934}{Teilungsplan Schröder}{\blindtext}{\Blindtext}{}{\Blindtext}{2 Fasz. -- RGBl. XII/6, 18 bis 20}

\data{1934}{Teilungsplan Schröder}{\blindtext}{\Blindtext}{\Blindtext}{}{2 Fasz. -- RGBl. XII/6, 18 bis 20}

\data{1934}{Teilungsplan Schröder}{\blindtext}{\Blindtext}{\Blindtext}{\Blindtext}{}

\section{Beispiele für opt. Argument} 

\data{1934}{Teilungsplan Schröder}{}{}{\Blindtext}{\Blindtext}{2 Fasz. -- RGBl. XII/6, 18 bis 20}

\data[4]{1934}{Teilungsplan Schröder}{}{}{\Blindtext}{\Blindtext}{2 Fasz. -- RGBl. XII/6, 18 bis 20}

\data[Nummer 4]{1934}{Teilungsplan Schröder}{}{}{\Blindtext}{\Blindtext}{2 Fasz. -- RGBl. XII/6, 18 bis 20}

\data[!Nummer 4]{1934}{Teilungsplan Schröder}{}{}{\Blindtext}{\Blindtext}{2 Fasz. -- RGBl. XII/6, 18 bis 20}

\data[!! Nummer 4]{1934}{Teilungsplan Schröder}{}{}{\Blindtext}{\Blindtext}{2 Fasz. -- RGBl. XII/6, 18 bis 20}
\end{document}
Die Autozählung der Nummer hab ich jetzt drin gelassen, es bleibt ja noch das optionale Argument. Siehe dazu auch die Anmerkungen im Code.

Brauchst du das denn eigentlich auch oder basteln wir hier vor uns hin und der „Frager“ schaut gar nicht mehr?

Tobi

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

@Tobi
Brauchst du das denn eigentlich auch oder basteln wir hier vor uns hin und der „Frager“ schaut gar nicht mehr?
Ich brauche das zwar nicht unmittelbar, auf längere Sicht gesehen sehr wohl. Schließlich will ich in meinem Archiv auch einmal Ordnung einziehen lassen.
Interesant ist jedoch die Genese von einer Frage über eine Idee zum Ergebnis.
Zum weiteren bringt mir persönlich dieser Entwicklungsprozess ungemein viel an Hintergrundwissen und Möglichkeiten bei LaTeX. So werden wieder neue Ideen geboren - unabhängig davon, ob der Fragesteller noch weiter beteiligt ist.

Ich jedenfalls werde mir Deine Lösungen genauesten unter die Lupe nehmen.

Danke jedenfalls für Dein Engagement (auch hier im Forum).

Gruß, Sepp.-

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Nagut, dann basteln wir weiter, einfach zum Spaß. Ist auf jedenfall besser als für meine Prüfungen zu lernen :roll:

Ordung will ich in meinen Kram auch bringen, aber meinst du nicht, dass es flexibler wäre, alles mit z.B. JabRef zu verwalten, dann kann man 1. sein zeugt auch für LaTeX verwenden und 2. auch alles mit Dateien verknüpfen und vor allem 3. es ist durchsuchbar …

[quote="Sepp99"]Ich jedenfalls werde mir Deine Lösungen genauesten unter die Lupe nehmen.

Danke jedenfalls für Dein Engagement (auch hier im Forum).[quote]

Mach das gerne, aber es ist nicht gesagt, dass ich die ultimativ egelanteste Lösung gefunden habe :)
Und: Danke! :oops:

Schönen Abend noch!

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

Nagut, dann basteln wir weiter, einfach zum Spaß. Ist auf jedenfall besser als für meine Prüfungen zu lernen Rolling Eyes
Du hast es gut, ich habe noch so etwa 140 Kalendertage bis zum Ruhestand :P :P
Ordung will ich in meinen Kram auch bringen, aber meinst du nicht, dass es flexibler wäre, alles mit z.B. JabRef zu verwalten, dann kann man 1. sein zeugt auch für LaTeX verwenden und 2. auch alles mit Dateien verknüpfen und vor allem 3. es ist durchsuchbar …
Ja - auf alle Fälle, allerdings verwalte ich meine Literatur seit "altersher" (s.o.) anfangs mit Literat und jetzt mit dem Nachfolger (Citavi). Aber ich möchte (wahrscheinlich altersbedingt) zusätzlich zu dem Luhmann´schen Zettelkasten von Daniel Lüdecke auch ein analoges Archiv anlegen (man weiß ja nicht :lol: ). So gesehen kommt mir ja das Alles sehr entgegen.
Mach das gerne, aber es ist nicht gesagt, dass ich die ultimativ egelanteste Lösung gefunden habe Smile
Drum schau ich es mir auch genau an :wink:

Gruß, Sepp.-

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Wir können gerne tauschen. Im Moment hätte ich lieber Ruhestand als dauerd irgendwelche Prüfung oder unsinnige Vorlesungen bei schlechten Dozenten ;)
Sepp99 hat geschrieben:Ja - auf alle Fälle, allerdings verwalte ich meine Literatur seit "altersher" (s.o.) […]
Ich muss ja gestehen, dass ich die ersten Antworten nicht so furchtbar aufmerksam gelesen habe :oops:

Mir kam vorhin noch der Gedanke, dass man eventuell das ganze auch mit bib(la)tex umsetzen könnte, dann wäre man flexibler bei der Ausgabe und könnte sortieren (lassen).
Man kann sich ja einen eigenen Stil bauen, der die Ausgabe so gestaltet, wie gewünscht und auch entsprechende Einträge/Felder vorhält …

[Ergänzung, So. 14.16h] Was auch für Biblatex spricht ist, dass man später einfach neue Felder hinzufügen kann, ohne jeden einzelnen Datensatz-Befehl anpassen zu müssen. Zumal die Variante mit Befehl nur max. 9 Argumente/Felder erlaubt.
[Edit] Ok, es gehen mehr als 9 Argumente. Siehe hier oder hier.

Gute Nacht!
Tobi

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

iTob hat geschrieben:Mir kam vorhin noch der Gedanke, dass man eventuell das ganze auch mit bib(la)tex umsetzen könnte, dann wäre man flexibler bei der Ausgabe und könnte sortieren (lassen).
Mit biblatex bzw. mit auslesen von Daten aus der bibtex-Datei habe ich mir auch mal etwas gebastelt. Das ist ja ziemlich einfach. Ich muß das erst einmal wiederfinden.

Mit 9 Feldern sollte man ja auskommen, soll ja nur eine einfache Kartei werden. Danke für die links - immer wieder erstaunlich, was in LaTeX steckt.

Grüße nach Osnabrück - in der Nähe, in Kalkriese, bin ich übrigens 2009 so etwa 4-5 mal als Römer bei der Varusschlacht gestorben :D :D

Gruß, Sepp.-

Antworten