Präambel in einem Paket zusammenfassen

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Thieon
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 55
Registriert: Mo 12. Okt 2015, 19:00
Wohnort: Meppen
Kontaktdaten:

Präambel in einem Paket zusammenfassen

Beitrag von Thieon »

Guten Abend LaTeX-Profis

Ich habe mittlerweile eine Präambel mit über 200 Zeilen Code, ist es möglich diese in einem Paket zusammenzufassen, so dass ich in zukünftige Arbeiten nur noch das Paket laden brauche?

Ich habe zwar schon einige Beiträge gefunden und habe auch versucht diese umzusetzen aber immer wurden dadurch eine ganze Litanei von Fehler erzeugt...

Vielen Dank für eure Mühe.

Gruß

René

PS: Falls es wichtig sein sollt, anbei meine Präambel.
\RequirePackage{fix-cm}
\documentclass[12pt,a4paper,ngerman,parskip=half,DIV9,chapterprefix,liststotoc]{scrartcl}
%%Präambel
%%Nutzung der europäischen Zeichen und Umlaute
\usepackage[T1]{fontenc}
%%Ermöglicht die Bearbeitung unter jedem Betriebssystem
\usepackage[utf8]{inputenc}
%%Lädt das Sprachpaket für die Deutsche Sprache
\usepackage[ngerman]{babel}
%%Ermöglicht die Einbindung von Grafiken
\usepackage[pdftex]{graphicx}
%%Darstellung der Anführungszeichen nach deutschen Standard
\usepackage[babel,german=quotes]{csquotes}
\newenvironment{myquote}
   {\begin{quote}\singlespacing} 
   {\end{quote}}% 
\SetBlockEnvironment{myquote}
%%Ermöglich die Darstellung von komplexen Mathematischen Formeln
\usepackage{amsmath,amssymb,mathptmx,stmaryrd}
%%Ermöglicht die z.B. die doppelte Unterstreichung
\usepackage[normalem]{ulem}
%%Darstellung der Schrift
\usepackage{lmodern}
%Paket für farbige Symbole, Schriften etc.   
\usepackage{xcolor}
%für die Darstellung des EURO-Zeichens notwendig	
\usepackage{textcomp}
%Ermöglich das Drehen von Tabellen	
\usepackage{rotating}
%Dieses Paket ermöglicht die Darstellung des ersten Buchstaben ü. m. Zeilen
\usepackage{lettrine}
%Ermöglich das Verbinden von Zellen
\usepackage{multirow}
\usepackage{tabularx,ltxtable,filecontents,array,siunitx,booktabs}
%Ermöglich das Drehen von Seiten im PDF-Dokument
\usepackage{pdflscape}
%Ermöglich eine mehrspaltige Aufzählung
\usepackage{multicol}
\setlength{\multicolsep}{0pt}
%Ermöglicht die Darstellung von Abbildungen Nebeneinander mit entsp. Unter.
\usepackage{subfig}
% Weitere Listenumgebungen mit verschiedene Einstellungsmöglichkeiten
\usepackage{mdwlist}
\usepackage{paralist}
%Mit dem Paket kann man Blindtext generieren (zum Testen gut geeignet)
\usepackage{blindtext}
%Anpassung des Literaturverzeichnis und Zitierstiel
\usepackage[style=authortitle]{biblatex} 
\addbibresource{Subdateien/literatur.bib} 
\DeclareNameAlias{default}{last-first} 
\DeclareNameAlias{sortname}{last-first} 
\DeclareFieldFormat[online,misc]{title}{\mkbibquote{#1\isdot}} 
\DeclareFieldFormat[online,misc]{citetitle}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\renewcommand*{\labelnamepunct}{\addcolon\addspace} 
\renewcommand*{\multinamedelim}{\addslash} 
\renewcommand*{\finalnamedelim}{\multinamedelim} 
\renewcommand*{\newunitpunct}{\addcomma\space} 
\renewcommand*{\finentrypunct}{} 
\DeclareNameFormat{labelname}{% 
\ifnum\value{uniquename}=2% 
\usebibmacro{name:last-first}{#1}{#3}{#5}{#7} 
\else 
\ifuseprefix 
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#8}} 
{\usebibmacro{name:last-first}{#1}{#4}{#6}{#8}}% 
\fi 
\usebibmacro{name:andothers}} 
\renewcommand*{\nametitledelim}{\labelnamepunct} 
\renewbibmacro*{cite}{% 
\iffieldundef{shorthand} 
{\ifnameundef{labelname} 
{} 
{\printnames{labelname}% 
\setunit{\nametitledelim}}% 
\usebibmacro{cite:title} 
\newunit 
\printfield{year}}% 
{\usebibmacro{cite:shorthand}}} 
%Unterstreichung des Titels und des Journals im LV
\DeclareFieldFormat{title}{\usefield{\uline}{title}} 
\DeclareFieldFormat{citetitle}{\usefield{\uline}{shorttitle}} 
\DeclareFieldFormat{booktitle}{\usefield{\uline}{booktitle}} 
\DeclareFieldFormat{maintitle}{\usefield{\uline}{maintitle}} 
\DeclareFieldFormat{journaltitle}{\usefield{\uline}{journaltitle}} 
\DeclareSourcemap{ 
\maps[datatype=bibtex]{ 
\map[overwrite=false]{ 
\step[fieldsource=title, fieldset=shorttitle, origfieldval] 
} 
\map[overwrite]{ 
\step[fieldsource=subtitle, final] 
\step[fieldsource=title] 
\step[fieldset=shorttitle, origfieldval] 
\step[fieldsource=subtitle] 
\step[fieldset=title, fieldvalue={.~}, append] 
\step[fieldset=title, origfieldval, append] 
} 
\map[overwrite]{ 
\step[fieldsource=booksubtitle, final] 
\step[fieldset=booktitle, fieldvalue={.~}, append] 
\step[fieldset=booktitle, origfieldval, append] 
} 
\map[overwrite]{ 
\step[fieldsource=mainsubtitle, final] 
\step[fieldset=maintitle, fieldvalue={.~}, append] 
\step[fieldset=maintitle, origfieldval, append] 
}}} 
%%Für die Nutzung von Links und Hyperlinks Die Reihenfolge muss eingehalten werden!
\usepackage{varioref}
\usepackage[%
linkbordercolor={blue!50},
citebordercolor={yellow!50},
filebordercolor={red!50},
pagebordercolor={green!50},
urlbordercolor={blue!50!yellow},
colorlinks,
linkcolor={blue!50!black},
citecolor={black!80},
filecolor={red!50},
pagecolor={green!50},
urlcolor={green!50!black},
hyperfootnotes,bookmarksopen=true,
%bookmarksopenlevel=1,
bookmarksnumbered=true,%
%%Hier werden PDF-spezifische Angaben gemacht
pdftitle={Übungsaufgaben Controlling WS 2015/2016},	%ABÄNDERN!
pdfauthor={René Lüttecke},							%ABÄNDERN!
pdfsubject={incl. Formelsammlung},					%ABÄNDERN!
pdfkeywords={}]{hyperref}							%ABÄNDERN! bei Bedarf
\usepackage{cleveref}
%%Seitenränder
\usepackage{geometry}
\geometry{a4paper, top=40mm, left=40mm, right=20mm, bottom=20mm}	
\usepackage{vmargin}
%%Ermöglich die Einbindung von URL's und das kürzen von URL's
\usepackage{breakurl}
%%Anpassung des Zeilenabstandes
\usepackage{setspace}
\spacing{1.3}
%%Für die Bildunterschiften
\KOMAoption{captions}{tableheading}
\renewcaptionname{ngerman}{\figurename}{Abb.}
\renewcaptionname{ngerman}{\tablename}{Tab.}
\addtokomafont{caption}{\footnotesize}
\addtokomafont{captionlabel}{\bfseries}
%%Erstellung von Endnoten
\usepackage{endnotes}
%%Anpassung der Kopf- und Fußzeile
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
%Kopfzeile links bzw. innen
\fancyhead[L]{\includegraphics[width=1cm]{Grafiken/logohsmktklein.jpg}
}											%Achtung TEXT Abändern                                             
%Kopfzeile mittig
\fancyhead[C]{\leftmark}
%Kopfzeile rechts bzw. außen
\fancyhead[R]{}
%Linie oben
\renewcommand{\headrulewidth}{0.5pt}
\fancyfoot[L]{René Lüttecke} % Hier trägst du deinen Namen für die Fußzeile ein
\fancyfoot[C]{}
\fancyfoot[R]{\thepage} %Setzt Seitenzahl 
\renewcommand{\footrulewidth}{0.5pt}%Linie unten
\renewcommand{\notesname}{Endnoten}  % Soll die Überschrift für die Endnoten anders heißen, Umbenennung der Überschrift Fußnoten möglich einfach das Wort Endnoten überschreiben.
\fancypagestyle{Verzeichnisse}{\renewcommand{\headrulewidth}{0pt}\fancyhead[C]{\leftmark}\fancyhead[L]{}\fancyfoot[R]{\thepage}}
\fancypagestyle{Literaturverzeichnis}{\fancyhead[C]{\leftmark}}
\fancypagestyle{Normal}{\fancyhead[C]{\leftmark}}
%\fancypagestyle{Abbildungsverzeichnis}{\renewcommand{\headrulewidth}{0pt}\fancyhead[C]{Abbildungsverzeichnis}\fancyhead[L]{}\fancyfoot[R]{\thepage}}
%\fancypagestyle{Tabellenverzeichnis}{\renewcommand{\headrulewidth}{0pt}\fancyhead[C]{\leftmark}\fancyhead[L]{}\fancyfoot[R]{\thepage}}
%Ermöglicht die Einbindung von Quellcode
\usepackage{listings}
\renewcommand{\lstlistingname}{Quellcode} 
\lstset{
   language=[LaTeX]TeX,
   morekeywords={\suspend, \resume, \RequirePackage, \addsec, \chapter, \subsubsection, \subsection, \tableofcontents, \maketitle, \textcolor, \bfemph, \redbfemph, \cslaemph, \Fremd, \IchBinEinMakro, \SI, \km, \per, \hour, \url, \burlalt, \path},
   basicstyle=\ttfamily,
   keywordstyle=\bfseries\ttfamily\color{yellow!60!red},
   stringstyle=\color{green}\ttfamily,
   commentstyle=\color{gray!70}\ttfamily,
   emph={square}, 
   emphstyle=\color{blue}\texttt,
   emph={[2]root,base},
   emphstyle={[2]\color{yac}\texttt},
   showstringspaces=false,
   flexiblecolumns=false,
   tabsize=2,
   numbers=left,
   numberstyle=\tiny\color{red},
   numberblanklines=true,
   stepnumber=1,
   numbersep=10pt,
   breaklines=true,
   escapechar=°,
   xleftmargin=15pt,
   literate=%
  {Ö}{{\"O}}1
  {Ä}{{\"A}}1
  {Ü}{{\"U}}1
  {ß}{{\ss}}2
  {ü}{{\"u}}1
  {ä}{{\"a}}1
  {ö}{{\"o}}1
}
\AtBeginDocument{\labelformat{lstlisting}{#1}}
\crefname{lstlisting}{Quellcode}{listings}
\Crefname{lstlisting}{Quellcode}{Listings}

\newenvironment{Lied}[2]{
	% begin
	\renewcommand{\arraystretch}{1.5}
	\begin{center}
	\begin{tabular}{|p{13cm}|}
	\hline 
	\textbf{\Large \underline{#1}} \\
	\textbf{\tiny #2}\\
	\hline\hline}
	{
	% end
	\hline
	\end{tabular}
	\end{center}}

\sisetup{ 
   locale=DE, 
   per-mode=fraction 
} 

\newcommand{\bfemph}[1]{\textbf{#1}}
\newcommand{\redbfemph}[1]{\textcolor{red}{\textbf{#1}}}
\newcommand{\cslaemph}[1]{\textsc{\Large{#1}}}
\newcommand{\Fremd}[1]{\textsc{\textbf{#1}}}
\newcommand{\IchBinEinMakro}[4]{\texttt{#1} [in] \texttt{\small{#2}} \textsc{#3} / \textcolor{red}{\texttt{\SI{#4}{\km\per\hour}}}}

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Dein Biblatex-Zeugs kannst du gleich in einen eigenen Stil packen. Frank hat dazu mal was geschrieben, ist in den wichigen Hinweisen für Literaturverzeichnisse verlinkt.

Den Rest kannst du in eine neue tex-Datei schieben und diese in der Präamble mit In\input einlesen.

Vorher solltest du aber dringend aufräumen. Das Paket fancyhdr passt nicht wirklich mit KOMA zusammen und das Paket vmargin ist nun wirklich aus des toten Manns Kiste.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

saputello
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 98
Registriert: Do 15. Jan 2015, 08:49

Beitrag von saputello »

Beachte auch, dass man Pakete in der Regel besser ohne Option pdftex lädt. Die Warnungen bezüglich veralteter KOMA-Script-Optionen solltest Du ebenfalls ernst nehmen.

Siehe dann: Wie erstelle ich eine eigene Dokumentenklasse?

Thieon
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 55
Registriert: Mo 12. Okt 2015, 19:00
Wohnort: Meppen
Kontaktdaten:

Beitrag von Thieon »

Erstmal Danke für die Hinweise.
Johannes_B hat geschrieben: Vorher solltest du aber dringend aufräumen. Das Paket fancyhdr passt nicht wirklich mit KOMA zusammen und das Paket vmargin ist nun wirklich aus des toten Manns Kiste.
Ich habe fancyhdr rausgeworfen und dafür scrlayer-scrpage reingenommen. Aber wenn ich das Paket vmargin rausnehme, dann haut mir die Fußzeile ab. Ich vermute mal, dass das mit meinen geometry Einstellungen zusammenhängt aber das sind nun mal leider vorgaben der HS.
saputello hat geschrieben:
Beachte auch, dass man Pakete in der Regel besser ohne Option pdftex lädt. Die Warnungen bezüglich veralteter KOMA-Script-Optionen solltest Du ebenfalls ernst nehmen.
Die Option habe ich rausgenommen. Sorry aber Warnungen über veralteter KOMA-Script Optionen habe ich nicht finden können.

Vielen Dank euch beide...

Gruß

René

Besserwisser

Beitrag von Besserwisser »

Thieon hat geschrieben:Sorry aber Warnungen über veralteter KOMA-Script Optionen habe ich nicht finden können.
Dann zeigt dein Editor eventuell Warnungen nicht von selbst an. Schau in die log-Datei. Suche darin nach "Warning".
Thieon hat geschrieben:Aber wenn ich das Paket vmargin rausnehme, dann haut mir die Fußzeile ab. Ich vermute mal, dass das mit meinen geometry Einstellungen zusammenhängt aber das sind nun mal leider vorgaben der HS.
Und du glaubst, es ist besser, wenn du diese Vorgaben durch Verwendung von vmargin missachtest als wenn du sie missachtest, indem du vernünftige Einstellungen für goemetry verwendest?

Thieon
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 55
Registriert: Mo 12. Okt 2015, 19:00
Wohnort: Meppen
Kontaktdaten:

Beitrag von Thieon »

Besserwisser hat geschrieben: Und du glaubst, es ist besser, wenn du diese Vorgaben durch Verwendung von vmargin missachtest als wenn du sie missachtest, indem du vernünftige Einstellungen für goemetry verwendest?
Ich sage nur, ich hasse die Seitenrändereinstellung. Irgendwie kapier ich das nicht... aber ich habe jetzt die passenden Seitenränder nach stundenlangen versuchen.
\usepackage{geometry}
\geometry{width=16cm, left=3.6cm, vmargin={1.3cm,0.7cm},showframe=false,includehead,includefoot,headheight=1.5cm, footskip=1cm}
\setlength{\footheight}{18.85002pt}
Ich verstehe nicht, warum ich nicht einfach links 4cm, recht 2cm, oben 4cm und unten 2cm angeben kann und ich habe dann genau die Seitenränder... Aber was soll mit etlichen Ausdrucke und meinem Geodreieck habe ich es dann hinbekommen. :lol:

Danke

René

Besserwisser

Beitrag von Besserwisser »

Thieon hat geschrieben:Ich verstehe nicht, warum ich nicht einfach links 4cm, recht 2cm, oben 4cm und unten 2cm angeben kann und ich habe dann genau die Seitenränder...
Vermutlich hast du beim Drucken irgendwelche Einstellungen im Druckdialog, die zu einer Verkleinerung des Dokuments führen. Siehe auch: Die Seitenmaße wie Ränder, Satzspiegel, Position der Kopfzeile, Anschrift o. ä. stimmen nicht. Was kann ich tun?

Thieon
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 55
Registriert: Mo 12. Okt 2015, 19:00
Wohnort: Meppen
Kontaktdaten:

Beitrag von Thieon »

Besserwisser hat geschrieben:
Thieon hat geschrieben:Ich verstehe nicht, warum ich nicht einfach links 4cm, recht 2cm, oben 4cm und unten 2cm angeben kann und ich habe dann genau die Seitenränder...
Vermutlich hast du beim Drucken irgendwelche Einstellungen im Druckdialog, die zu einer Verkleinerung des Dokuments führen. Siehe auch: Die Seitenmaße wie Ränder, Satzspiegel, Position der Kopfzeile, Anschrift o. ä. stimmen nicht. Was kann ich tun?
Du hast mal wieder recht :lol: mein Adobe Reader war auf übergroße Seiten verkleinert eingestellt. Ich habe einfach die Einstellung auf tatsächliche Größe gestellt und den folgenden Quellcode gewählt:
\usepackage{geometry}
\geometry{width=15cm, left=4cm, vmargin={4cm,2cm},footskip=1cm,head=34.1078pt,showframe=true}
\setlength{\footheight}{18.85002pt}
Und siehe da, es passt mm genau. Das einzige was mich irritiert, bei der Druckvorschau ist die Fußzeile außerhalb des bedruckbaren Bereichs aber der Ausdruck ist perfekt.

Vielen Dank für deine Hilfe...

Gruß René

Besserwisser

Beitrag von Besserwisser »

Kann man ohne Minimalbeispiel nicht viel zu sagen …

Thieon
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 55
Registriert: Mo 12. Okt 2015, 19:00
Wohnort: Meppen
Kontaktdaten:

Beitrag von Thieon »

Besserwisser hat geschrieben:Kann man ohne Minimalbeispiel nicht viel zu sagen …
Ich dachte du glaubst mir, wenn ich das sage. :D

Aber ich kann natürlich auch ein Minimalbeispiel geben:
\RequirePackage{fix-cm}
\documentclass[12pt,a4paper,ngerman,parskip=half,listof=totoc]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[ 
headsepline, 
footsepline,plainfootsepline, 
automark,
]{scrlayer-scrpage} 
\ihead{Hier ist ein kleines Logo}
\chead{\headmark} 
\ifoot*{Vorname Name} 
\cfoot*{}
\ofoot*{\thepage} 
\usepackage{geometry}
\geometry{width=15cm, left=4cm, vmargin={4cm,2cm},footskip=1cm,head=34.1078pt,showframe=true}
\setlength{\footheight}{18.85002pt}

\begin{document}
\section{Ein Abschnitt}
\blindtext
\subsection{Ein Unterabschnitt}
\blindtext
\subsection{Noch ein Unterabschnitt}
\blindtext
\section{Zweiter Abschnitt}
\blindtext

\blindtext
\end{document}

Antworten