Titelkopf mit anderem Layout als restlicher Satzspiegel

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Titelkopf mit anderem Layout als restlicher Satzspiegel

von mrpiggi » Do 27. Jun 2013, 08:00

Danke für die ausführliche Antwort. Dann werde ich versuchen, die Sache via \titlehead umzusetzen.

Grüße
Falk

von Noch so einer » Mi 26. Jun 2013, 18:23

Das habe ich eigentlich bereits angegeben. Nochmal ausführlich:
  1. Er verlässt sich absolut auf Interna von LaTeX und von afterpage, nämlich auf den Gruppenlevel, um die Anweisung \localrestoregeometry aus den Gruppen ausbrechen zu lassen. Wenn sich diesbezüglich irgend etwas ändert (einen Gruppenlevel mehr oder weniger), funktioniert das nicht nur nicht mehr, es kann auch zu unerwünschten Effekten führen.
  2. Normalerweise sorgt geometry selbst dafür, dass \restoregeometry nicht innerhalb einer Seite ausgeführt werden kann, indem es ein \clearpage ausführt. \localrestoregeometry deaktivert nun genau dieses \clearpage. Die Randeinstellungen einfach mal eben innerhalb einer Seite zu ändern, ist aber eigentlich ein absolutes "Denke nicht einmal daran!", weil das allgemein eben nicht funktioniert. Dazu müssten bereits umbrochene Absätze nämlich ggf. erneut umbrochen werden. Sogar die bereits getroffene Entscheidung für den Seitenumbruch müsste ggf. revidiert werden. Ich garantiere beispielsweise für gar nichts, falls ein Absatz auf Seite 1 beginnt, auf Seite 2 fortgesetzt wird und frühestens auf Seite 3 endet und dabei auch noch \footnote oder Gleitumgebungen innerhalb dieses Absatzes vorkommen.
Daher sollte man das so nicht machen!

BTW: Ich habe einmal eine ähnliche Lösung für eine sehr spezielle Verlagsvorlage mit doppelspaltigem Satz gebaut, bei der nur die erste Seite um zwei Zeilen kürzer und deren Fuß um zwei Zeilen höher sein musste. Das knallte alle Nase lang (dabei wurde teilweise sogar Text verschluckt) und konnte nur deshalb verwendet werden, weil der Setzer genau wusste, was ggf. zu tun ist, um die Probleme zu lösen. Auf die Autoren wurde dieses Spezialmakro nie losgelassen.

von mrpiggi » Mi 26. Jun 2013, 14:58

Besserwisser hat geschrieben::lol:

Mein Hinweis war eigentlich gar nicht als Kritik an Deiner Lösung, sondern als Antwort auf mrpiggis Frage gedacht.
Gut zu wissen, denn eigentlich bezog sich meine Frage eher auf diesen Hack:
Noch so einer hat geschrieben: Wenn Du hingegen einen ganz üblen Hack verwenden willst, der sich auf diverse LaTeX-Interna verlässt und außerdem Sicherheitsmechanismen von geometry umgeht, dann ginge:
% Bastle das in die Präambel
\newcommand*{\localrestoregeometry}{%
  \expandafter\let\expandafter\clearpage\expandafter\relax
  \expandafter\restoregeometry\expandafter\def\expandafter\clearpage\expandafter{\clearpage}
}
% Und verwende das besser niemals im Dokument
\afterpage{\aftergroup\aftergroup\aftergroup\localrestoregeometry}
Ich würde dieses Konstrukt ja auch nicht im Dokument sondern vielmehr in der Klasse verwenden. Warum genau sollte ich dies also nicht tun?

von Besserwisser » Mi 26. Jun 2013, 14:41

:lol:

Mein Hinweis war eigentlich gar nicht als Kritik an Deiner Lösung, sondern als Antwort auf mrpiggis Frage gedacht.

von Epllus » Mi 26. Jun 2013, 14:38

Besserwisser hat geschrieben:\vspace gehört eigentlich nicht in das Argument von \title. Außerdem ist das nicht idiotensicher. Wenn der Anwender das \vspace weglässt, dann fehlt der Abstand. Es hängt also letztlich wieder am Anwender, also könntest Du auch gleich \titlehead dafür verwenden …
Stimmt, das habe ich noch gar nicht bedacht. Ich werde es mir merken; und im Endeffekt ist die Umdefinition von \titlehead sauberer.

von Besserwisser » Mi 26. Jun 2013, 10:50

\vspace gehört eigentlich nicht in das Argument von \title. Außerdem ist das nicht idiotensicher. Wenn der Anwender das \vspace weglässt, dann fehlt der Abstand. Es hängt also letztlich wieder am Anwender, also könntest Du auch gleich \titlehead dafür verwenden …

Dann doch noch mal...

von mrpiggi » Mi 26. Jun 2013, 10:39

...zum Verständnis. Was ist an diesem Hack denn so übel, dass ich den nicht nutzen sollte? Der macht schließlich genau das, was ich will.

von Epllus » Mi 26. Jun 2013, 10:30

Noch ein kleiner Zusatz zu Noch so einer:

Soweit ich es verstanden habe, ist die Änderung des Satzspiegels zwischen zwei Seiten mit automatischen Seitenumbruch nicht möglich.

Das liegt daran, dass TeX immer komplette Absätze umbricht, und beim Zerlegen über eine/mehrere Seiten den Absatzumbruch beibehält. Um den Absatz während eines Seitenumbruches umstrukturieren zu können, würden Informationen wie Trennung, Strafpunkte etc. benötigt. Das Problem ist nun, dass TeX diese Informationen scheinbar nicht benötigt und wegwirft.

Um es kurz zu machen: Automatischer Seitenumbruch und Layoutänderung nicht möglich (jedenfalls so lange nicht, bis jemand TeX entsprechend modifiziert).

Hier meine (auch nicht ganz koschere) Lösung:
\documentclass{scrartcl} 
\usepackage[T1]{fontenc} 
\usepackage{selinput} 
\SelectInputMappings{adieresis={ä},germandbls={ß},Euro={€}} 
\usepackage[automark]{scrpage2} 
\usepackage{blindtext} 
\usepackage{showframe} 
\usepackage{geometry} 
\newgeometry{left=3cm,right=3cm,top=2cm,head=1cm,bottom=3cm} 

\begin{document} 
\title{\vspace{2cm}Title} 
\renewcommand{\titlepagestyle}{scrheadings} 
\lohead{\parbox[b][4cm]{5cm}{\rule{5cm}{3cm}}} 
\maketitle 

\Blindtext[4][2] 

\end{document} 
Hoffe meine Erklärung ist richtig
Epllus

Edit: Da ich nicht genau weiß, wie der Status ist, werde ich ihn mal auf „offen“ lassen.

von mrpiggi » Mi 26. Jun 2013, 10:15

Alles klar, dann doch über die \titlehead-Variante. Dankeschön.

von Noch so einer » Mi 26. Jun 2013, 10:12

\afterpage-Code wird in min. einer Gruppe ausgeführt. Globale Änderungen sind damit also nicht sauber möglich.

Die einfachste Lösung wäre, das Logo mit textpos oder eso-pic an die gewünschte zu klatschen. Ggf. musst Du dann aber auch noch \maketitle manipulieren, um am Anfang genügend Abstand einzufügen. Beispielsweise:
\renewcommand{\titlehead}[1]{%
  \gdef\@titlehead{\vskip 2cm #1}}
\titlehead{}
Natürlich könntest Du bei der Umdefinierung von \titlehead auch direkt das Logo mit einbauen. Um es hoch genug zu setzen:
\renewcommand*{\titlehead}[1]{%
  \gdef\@titlehead{\vspace*{-3cm}\includegraphics{Logo}\par\vspace{1cm}#1}%
}
\titlehead{}
Der Code sei hier nur als Beispiel betrachtet.

Am Saubersten wäre natürlich, wenn Du tatsächlich \maketitle umdefinieren würdest.

Wenn Du hingegen einen ganz üblen Hack verwenden willst, der sich auf diverse LaTeX-Interna verlässt und außerdem Sicherheitsmechanismen von geometry umgeht, dann ginge:
% Bastle das in die Präambel
\newcommand*{\localrestoregeometry}{%
  \expandafter\let\expandafter\clearpage\expandafter\relax
  \expandafter\restoregeometry\expandafter\def\expandafter\clearpage\expandafter{\clearpage}
}
% Und verwende das besser niemals im Dokument
\afterpage{\aftergroup\aftergroup\aftergroup\localrestoregeometry}

Nach oben