Kopf-/Fusszeilen von scrpage2 nach scrlayer-scrpage

Klassen und Pakete zur einfachen Umsetzung individueller Vorstellungen


nram
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Sa 4. Apr 2015, 23:32

Kopf-/Fusszeilen von scrpage2 nach scrlayer-scrpage

Beitrag von nram »

Hallo,

Als Latex-Neuling bin ich gerade ziemlich überfordert beim Versuch die Kopf- und Fusszeilen meines Dokuments meinen Vorstellungen anzupassen, obwohl ich eigentlich schon sehr nah dran bin.

Grundsätzlich ist das hier im Forum gefundene (und etwas modifizierte) Beispiel schon nicht schlecht:
\documentclass[paper=a4,fontsize=11pt,fromrule=afteraddress]{scrlttr2} 
\usepackage{blindtext} 
\usepackage{lastpage} 

\setkomavar{fromname}{John Smith} 
\setkomavar{fromaddress}{123 Broadway\\City\\Country} 
\setkomavar{fromphone}{(000) 111-1111} 
\setkomavar{fromemail}{john@smith.com} 
\setkomavar{place}{} 
\setkomavar{signature}{John Smith} 
\setkomavar{subject}{Cover Letter} 

%\newcommand{\kopfZeile}{%   
%   \parbox[b]{\linewidth}{% 
%      \raggedleft 
%      {\huge{\usekomavar{fromname}}}% 
%      { \\[-.4\baselineskip]% 
%   {{\parbox{\linewidth}{\rule{\linewidth}{1.5pt}}}} 
%   \strut\ignorespaces% 
%   }}} 

%\setkomavar{firsthead} {\strut 
% \parbox[tt]{\useplength{firstheadwidth}}{%     
% \kopfZeile}% 
%} 

\setkomavar{firstfoot}{% 
  \rule{\useplength{firstfootwidth}}{0.7pt}% 
} 

\renewcommand*{\pagemark}{{\usekomafont{pagenumber}{% 
     Seite \thepage /\pageref{LastPage} 
    }}} 

% Verwendung von scrlayer-scrpage ab der zweiten Seite: 
\usepackage[manualmark]{scrlayer-scrpage} 
\clearpairofpagestyles 

\setkomafont{pageheadfoot}{} 
\KOMAoptions{headsepline=.7pt,headwidth=\useplength{firstheadwidth}} 
\lohead*{\usekomavar{fromname}} 
\chead*{\usekomavar{subject}}
\rohead*{\pagemark} 
\setkomafont{pagehead}{\small} 
\KOMAoptions{footsepline=.7pt,footwidth=\useplength{firstheadwidth}} 
%\ofoot*{\pagemark} 

\begin{document} 

\begin{letter}{% 
HR Dept. --- Corporation\\% 
123 Pleasant Lane\\% 
12345 City, State% 
} 

\opening{Dear Recruiter,} 
\blindtext[6] 
\closing{See you on monday} 

\end{letter} 
\end{document}
Die von mir auskommentierten Abschnitte brauche ich wohl nicht, denn ich möchte die Standard-Kopfzeile eigentlich vorerst so beibehalten wie sie ist. besonders diese definierte funktion für die Kopfzeile macht mich mit all ihren Klammern schwindelig. Ich hätte jedoch gerne noch das Datum in der Kopfzeile der Folgeseiten so wie in diesem Beispiel hier:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Defining and activating a pagestyle to be used at all
%  pages but the first one
%
\documentclass[fontsize=11pt]{scrlttr2} 
 \usepackage[automark,headsepline]{scrpage2}
 \usepackage{blindtext}
\setlength{\marginparsep}{0pt}% don't do this if you use marginal notes
\setheadwidth[0pt]{textwithmarginpar}
\setfootwidth[0pt]{head}
 
\defpagestyle{nextpage}{%
% headdefinition
  {}
  {}
  {\parbox{\hsize}{\raggedleft%
    \begin{KOMAoptions}{numericaldate=on}
    \leftmark\hfill\strut\usekomavar{date}
    \end{KOMAoptions}\\[.2\baselineskip]
    \pagename~\thepage\strut\\[-1.2\baselineskip]}}
}
% footdefinition
{%
  {\hfill}
  {\hfill}
  {\hfill}
}
 
\pagestyle{nextpage}
%
%  End of pagestyle definition and activation
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\blindtext [15]
\end{document}
Dadurch hätte ich die Fusszeile frei für andere Dinge, z.B. Versionsnummer des Dokuments, oder sonstwas.

Als jemand der noch mit den Grundlagen kämpft ist es unheimlich schwierig ein Beispiel aus einer offenbar veralteten Klasse in die aktuelle zu übertragen. Frustrierend wird es wenn man sein Ziel eigentlich schon vor Augen hat, aber... :oops: ... sich dann wohl doch übernommen hat.

Dieser "Trick" mit dem Seperator ist jedenfalls klasse, und wenn mir das jemand "umstricken" könnte damit es auch mit scrlayer-scrpage im ersten Dokument funktioniert...

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Ich würde das nicht so machen, aber wenn ich Dich richtig verstehe, möchtest Du etwas wie
\documentclass[paper=a4,fontsize=11pt,fromrule=afteraddress]{scrlttr2} 
\usepackage{blindtext} 
\usepackage{lastpage} 

\setkomavar{fromname}{John Smith} 
\setkomavar{fromaddress}{123 Broadway\\City\\Country} 
\setkomavar{fromphone}{(000) 111-1111} 
\setkomavar{fromemail}{john@smith.com} 
\setkomavar{place}{} 
\setkomavar{signature}{John Smith} 
\setkomavar{subject}{Cover Letter} 

\setkomavar{firstfoot}{%  
  \rule{\useplength{firstfootwidth}}{0.7pt}%  
} 

\renewcommand*{\pagemark}{%
  {\usekomafont{pagenumber}{Seite \thepage /\pageref{LastPage}}}% 
} 

% Verwendung von scrlayer-scrpage ab der zweiten Seite:  
\usepackage[manualmark]{scrlayer-scrpage} 
\clearpairofpagestyles 

\setkomafont{pageheadfoot}{}
\setkomafont{pagehead}{\small}

\KOMAoptions{headsepline=.7pt,headwidth=\useplength{firstheadwidth}} 
\ihead*{\usekomavar{fromname}} 
\chead*{\usekomavar{subject}} 
\ohead*{%
  {\KOMAoptions{numericaldate=on}\usekomavar{date}}\\[.2\baselineskip] 
  \pagemark\\[-2.2\baselineskip]%
} 

\KOMAoptions{footsepline=.7pt,footwidth=\useplength{firstheadwidth}} 

\begin{document} 

\begin{letter}{%  
 HR Dept. --- Corporation\\% 
 123 Pleasant Lane\\% 
 12345 City, State%  
} 

\opening{Dear Recruiter,} 

\KOMAScriptVersion
\blindtext[6] 
\closing{See you on monday} 

\end{letter} 
\end{document}
Gruß
Elke

nram
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Sa 4. Apr 2015, 23:32

Beitrag von nram »

JAAA! Genauso war es gedacht! Danke! :D

Allerdings hatte ich da wohl falsche Vorstellungen, denn so wie besonders der Text unterhalb der Trennlinie in den Textkörper hereinragt ist das echt unschön, und je weiter das Jahr fortschreitet, desto schlimmer wird es. Ich denke jedoch irgendwann, in einem anderen Dokumenttyp werde ich die Idee nochmal aufgreifen.

Warum läuft eigentlich keines dieser Dokumente durch diesen Online-Compiler? Ich verstehe diese kryptischen Fehlermeldungen nicht, erst recht nicht weil mein MiKTeX offenbar alles schluckt was ich ihm vorwerfe.

Besserwisser

Beitrag von Besserwisser »

Overleaf hat ein inzwischen leider recht veraltetes TeX-Live.

nram
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Sa 4. Apr 2015, 23:32

Beitrag von nram »

"This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014/Debian)"

Das ist doch aber die aktuelle Version? Allerdings ist KOMA-Script dort wohl nicht mehr ganz so frisch. Schade eigentlich :?

nram
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Sa 4. Apr 2015, 23:32

Beitrag von nram »

Heilige Büchse der Pandora, Batman!

Okay, nach ewigem frickeln passt jetzt soweit alles - bis auf die Position der Fußzeile auf den Folgeseiten. Wie bekomme ich die an die gleiche Position wie auf der ersten Seite? Lege ich zwei Seiten nebeneinander sieht das doch recht seltsam aus. Oben passt's prima, unten nicht. (Und wenn ich schon eine neue Seite anfangen muss, dann hätte doch bitteschön auch den Platz dort den ich eigentlich haben könnte).
\documentclass
	[
	version=last,
	paper=a4,
	fontsize=11pt,
	enlargefirstpage=true,
	backaddress=underlined,
	symbolicnames=true,
	]
{scrlttr2}
\usepackage{lastpage} 
\usepackage[utf8]{inputenc}    
\usepackage[ngerman]{babel}
\usepackage{graphicx}
\usepackage{marvosym} 
\usepackage{color}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
%Bastelpakete
\usepackage{blindtext}
%\usepackage{pdfpages}
% Farbe und Schriften
\definecolor{mycolor}{RGB}{51,102,153}
 \renewcommand*\familydefault{\sfdefault} 
\setkomafont{fromname}{\sffamily\color{mycolor}\Large}
\setkomafont{backaddress}{\mdseries\color{mycolor}}
\setkomafont{fromaddress}{\small\sffamily\mdseries\color{mycolor}}
\setkomafont{foldmark}{\color{mycolor}}
\setkomafont{pageheadfoot}{\sffamily\color{mycolor}} 
\setkomafont{pagenumber}{\color{mycolor}}
\makeatletter
 \@setplength{sigbeforevskip}{2cm}
  \renewcommand*\backaddr@format[1]{%
   {\color{mycolor}\underline{#1}}%
}
\makeatother
% Kopf und Fuss
\setkomavar{firsthead}{% 
  	\centering
		{\Huge\color{mycolor}\usekomavar{fromname}\\}
		\usekomavar{quali}
} 
\setkomavar{firstfoot}{
    \centering
    {\renewcommand{\\}{\ {\large\textperiodcentered}\ }
    \color{mycolor} \usekomavar{fromaddress}}\\
    \color{mycolor} {\Large\Email} \usekomavar{fromemail} \ {\Large\Telefon} \usekomavar{fromphone} \ {\Large\Mobilefone} \usekomavar{frommobilephone}
 }
\renewcommand*{\pagemark}{{\usekomafont{pagenumber}{% 
     Seite \thepage /\pageref{LastPage} 
}}} 
% Verwendung von scrlayer-scrpage ab der zweiten Seite: 
\usepackage[manualmark]{scrlayer-scrpage} 
\clearpairofpagestyles 
\setkomafont{pageheadfoot}{\sffamily\color{mycolor}} 
\setkomafont{pagehead}{\small} 
\KOMAoptions{headsepline=.7pt,headwidth=\useplength{firstheadwidth}} 
\KOMAoptions{footsepline=.7pt,footwidth=\useplength{firstheadwidth}} 
\ihead*{\usekomavar{fromname}} 
%\chead*{\usekomavar{subject}} 
\ohead*{\pagemark} 
\ofoot*{\KOMAoptions{numericaldate=on}\tiny\usekomavar{date}}
%%% Absenderzeugs
\newkomavar{quali}
\setkomavar{quali}{Staatlich Geprüfter Nasenputzer}
\setkomavar{fromname}{Norbert Nasenpopler}
\setkomavar{fromaddress}{Scheidewandweg 8\\13389 Berlin}
\setkomavar{fromphone}{+49\,(0)\,30\,32272897}
\setkomavar{frommobilephone}{+49\,(0)\,173\,45689005}
\setkomavar{fromemail}{n.nasenpopler@gmail.com}
\setkomavar{place}{Berlin}
\setkomavar{signature}{Norbert Nasenpopler}
\setkomavar{location}{ 
	\raggedright\footnotesize 
	\par\vspace{8ex}\color{mycolor}
	\usekomavar*{fromphone}\usekomavar{fromphone} \\ 
	\usekomavar*{frommobilephone}\usekomavar{frommobilephone} \\ \par 
}
\renewcommand*{\raggedsignature}{\raggedright}
\begin{document}
\begin{letter}{
\LoadLetterOption{DIN}
	Taschentuch GmbH\\
	Sandra Sinitus\\
	Rhinoviralstraße 6-9\\
	12345 Schnüffelhausen
	}
\setkomavar{subject}{Schnuffeltücher sind alle}
\setkomavar {yourref}{}
\setkomavar {yourmail} {}
\setkomavar {myref}{}
\opening{Sehr geehrte Frau Sinitus,}
\Blindtext[5]
\closing{Mit freundlichen Grüßen }
\setkomavar*{enclseparator}{Anlage}
\encl{Zeugs}
\end{letter}
%\includepdf[noautoscale]{normbriefbogen.pdf}
\end{document}
Die im Bild wieder ausgebüchste Unterschrift konnte ich durch
\begin{letter}{
\LoadLetterOption{DIN}
mittlerweile wieder einfangen, aber auch nur dort. Laut Doku sollte das ja überall vor "/opening" möglich sein - ich wurde eines Besseren belehrt. Nach der Anschrift funktionert das nicht mehr.

Ist da generell etwas bei der Neudefinition der Folgeseiten schiefgelaufen?
Dateianhänge
Problem
Problem
doppelseite.png (178.93 KiB) 4297 mal betrachtet

Besserwisser

Beitrag von Besserwisser »

nram hat geschrieben:"This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014/Debian)"

Das ist doch aber die aktuelle Version?
Das ist die aktuelle Version von pdfTeX. Das bedeutet aber nicht, dass auch sämtliche aktiv entwickelten Pakete seit der Erstrelease von TeX-Live 2014 auf dem Stand stehen geblieben sind. Typische Fehleinschätzung auch bei Leuten, die texlive-Pakete der Linux-Distribution verwenden. Zweite häufige Fehleinschätzung: Das TeX-Live der Linux-Distribution wäre irgendwie stabiler.

nram
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Sa 4. Apr 2015, 23:32

Beitrag von nram »

Ironischerweise spricht das ja eher für die vermeintlich veralteten Distributionen. Ein Projekt was heute beispielsweise auf Ubuntu LTS mit seinen Standardpaketen läuft wird halt so auch noch die nächsten 4 Jahre funktionieren.

Na egal, ich hab Overleaf mal angeschrieben und ihnen mitgeteilt das ich ja liebend gerne "overleafen" würde, es aber nicht kann weil die Pakete die ich brauche dort schon zwei Jahre alt sind und nicht so funktionieren wie sie eigentlich sollten. Mal sehen ob's ne Antwort gibt. :wink:

Wirklich schlimm ist dabei ja eigentlich nur, dass ich als Neuling eh schon überfordert bin und nur die Hälfte von dem verstehe was ich mir zusammenschreibe.

Immerhin sehe ich ja was der Overleaf-Server versucht zu tun, also hat das Ganze dann noch einen gewissen Lerneffekt. Die Zweifel bestehen allerdings doch, denn ich frage mich natürlich ob ich nicht vielleicht etwas total dämliches angestellt habe.

Erinnert mich ganz stark an die Sorgen die ich mal mit Firefox und IE hatte, wo IE mir eine gebastelte Seite fast immer korrekt angezeigt hat während sich Firefox vehement weigerte weil irgendein Standard mal wieder verletzt wurde durch ne fehlende Klammer oder sowas. Traumatische Erlebnisse :oops:

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Dein Code ist schon recht lang und entsprechend unübersichtlich. Außerdem ist es nicht geschickt, mehrere Probleme gleichzeitig zu diskutieren.

Deine Farbdefinition liefert bei mir eine Warnung. Lade xcolor statt color, wenn Du die Definition so verwenden willst.

Wenn die Fußzeile auf den Folgeseiten auf der gleichen Höhe sein soll, wie auf der ersten kannst Du
\ModifyLayer[voffset=\dimexpr\useplength{firstfootvpos}\relax]{scrheadings.foot.oneside} 
\ModifyLayer[voffset=\dimexpr\useplength{firstfootvpos}\relax]{scrheadings.foot.above.line}
nach dem Laden von scrlayer-scrpage verwenden. Dabei habe ich jetzt vorausgesetzt, dass Dein Brief nicht die twoside Option verwendet. Insbesondere durch die Linie wirkt die Fußzeile dann als sehr weit unten.

Die zur Verfügung stehende Texthöhe ändert sich durch das Verschieben der Fußzeile nach unten allerdings nicht. Wenn Du unbedingt möglichst viel Text auf den einzelnen Seiten unterbringen möchtest, kannst Du dann Zeilen zu \textheight dazu rechnen lassen:
\addtolength\textheight{5\baselineskip}
\AfterCalculatingTypearea{\addtolength\textheight{5\baselineskip}}
Die Seitenaufteilung kannst Du Dir durch das Laden des Paketes showframe anzeigen lassen und damit auch kontrollieren, dass sich Dein Textbereich nicht mit der Fußzeile überlappt.

Was Du mit der Letter-Class-Option Datei DIN hast, verstehe ich dagegen überhaupt nicht. Das Laden dieser Datei im Argument von \begin{letter}{...} scheint wirkungslos zu sein und ist auf alle Fälle nicht vorgesehen. Aber auch an anderer Stelle macht das explizite Laden der Datei in der Regel keinen Sinn: DIN.lco wird von scrlttr2 als erste lco Datei automatisch geladen. In der Präambel nimmst Du dann bestimmte Änderungen vor: Du setzt sigbeforevskip (Abstand zwischen Grußfloskel und dem Namen) auf 2cm und Du änderst \raggedsignature zu \raggedright, lässt also die Signatur linksbündig setzen. Lädst Du später die Letter-Class-Option Datei DIN erneut, werden diese dazwischen vorgenommenen Änderungen wieder rückgängig gemacht ...

Gruß
Elke

nram
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Sa 4. Apr 2015, 23:32

Beitrag von nram »

Elke, die Sache mit der Signatur und DIN lässt sich jetzt seltsamerweise bei mir auch nicht mehr nachvollziehen. Stand es dort nicht wurde die Zeile eingerückt. Aufgetreten ist das erstmals als ich mit
\makeatletter
 \renewcommand*\backaddr@format[1]{%
   {\color{mycolor}\underline{#1}}%
}
\makeatother
die Anschrift im Adressfenster einfärbt habe.

Schrift und Farbe machen derzeit den Großteil des Codes aus, und obwohl ich jetzt alles so habe wie ich es haben möchte geht das bestimmt noch effektiver. Muss einfach :wink:

Dass Du trotz des Chaos offenbar genau verstehst was ich eigentlich versuche zu erreichen ist klasse. :oops:

Ich bin schon sehr zufrieden mit dem Ergebnis. Lediglich die Absatzlänge von blindtext ist etwas zu lang und entspricht nicht wirklich dem wie man in so einem Brief tatsächlich schreiben würde, aber da gibt's bestimmt noch ein paar Alternativen für sowas.

Ich hoffe ja niemals mehr als eine Seite zu benötigen, aber wenn's denn mal so ist soll's auch anständig aussehen.
Dateianhänge
viel text auf 4 seiten
viel text auf 4 seiten
vierseiten.png (165.68 KiB) 4290 mal betrachtet

Antworten