Wie kann ich coverpageleftmargin auf 80% seines vorherigen Wertes setzen? Thema ist als GELÖST markiert

Klassen und Pakete zur einfachen Umsetzung individueller Vorstellungen


M0M0
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 54
Registriert: So 24. Nov 2019, 18:59

Wie kann ich coverpageleftmargin auf 80% seines vorherigen Wertes setzen?

Beitrag von M0M0 »

\documentclass[titlepage=firstiscover]{scrreport}
\NewCommandCopy{\oldcoverpageleftmargin}  {\coverpageleftmargin}
\NewCommandCopy{\oldcoverpagerightmargin} {\coverpagerightmargin}
\renewcommand{\coverpageleftmargin}       {.8\oldcoverpageleftmargin}
\renewcommand{\coverpagerightmargin}      {.8\oldcoverpagerightmargin}

\begin{document}
 \title{Ein langer Titel der über viele Zeilen umgebrochen wird, diese möchte ich reduzieren, in dem ich  die Seitenabstände links und rechts verringere}
 \maketitel 
\end{document}

liefert einen Fehler, dass eine unbekannte Längeneinheit verwendet wurde. Mein Ziel ist es coverpageleft(right)margin auf 80% seines vorherigen Wertes zu setzen


Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2957
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Wie kann ich coverpageleftmargin auf 80% seines vorherigen Wertes setzen?

Beitrag von KOMA »

Man muss dafür sorgen, dass die Makros wie Längen verwendbar sind:

\documentclass[titlepage=firstiscover]{scrreport}
\NewCommandCopy{\oldcoverpageleftmargin}  {\coverpageleftmargin}
\NewCommandCopy{\oldcoverpagerightmargin} {\coverpagerightmargin}
\renewcommand{\coverpageleftmargin}       {\dimexpr.8\oldcoverpageleftmargin\relax}
\renewcommand{\coverpagerightmargin}      {\dimexpr.8\oldcoverpagerightmargin\relax}

\begin{document}
 \title{Ein langer Titel der über viele Zeilen umgebrochen wird, diese möchte ich reduzieren, in dem ich  die Seitenabstände links und rechts verringere}
 \maketitle
\end{document}

Genau genommen braucht man aber gar nichts zwischenspeichern:

\documentclass[titlepage=firstiscover]{scrreport}
\AtBeginDocument{%
  \edef\coverpageleftmargin       {\dimexpr 0.8\coverpageleftmargin\relax}
  \edef\coverpagerightmargin      {\dimexpr 0.8\coverpagerightmargin\relax}
}
\begin{document}
 \title{Ein langer Titel der über viele Zeilen umgebrochen wird, diese möchte ich reduzieren, in dem ich  die Seitenabstände links und rechts verringere}
 \maketitle% Tippfehler korrigiert
\end{document}

Die Verwendung von \edef ist an der Stelle zulässig, weil man ja bereits weiß, dass die beiden Anweisungen existieren, und sie überschreiben will.


M0M0
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 54
Registriert: So 24. Nov 2019, 18:59

Re: Wie kann ich coverpageleftmargin auf 80% seines vorherigen Wertes setzen?

Beitrag von M0M0 »

Vielen Dank, habe wieder etwas gelernt :)


M0M0
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 54
Registriert: So 24. Nov 2019, 18:59

Re: Wie kann ich coverpageleftmargin auf 80% seines vorherigen Wertes setzen?

Beitrag von M0M0 »

Kann es sein, dass die vorgeschlagene Lösung nicht mehr mit TeX Live 2025 funktioniert? Ich habe gerade nochmals das Dokument um das es damals ging rekompiliert, aber nun ist die gesammte Titelseite leicht "nach rechts versetzt" wenn
titlepage=firstiscover
verwendet wird
\documentclass[
  titlepage=firstiscover % auskommentieren um den Effekt zu sehen
]{scrreport}

\AtBeginDocument{
	\edef\coverpageleftmargin{\dimexpr .8\coverpageleftmargin\relax}
	\edef\coverpagerightmargin{\dimexpr .8\coverpagerightmargin\relax}
}

\begin{document}
  \title{
  	  Dieser Titel ist nur dann zentriert wenn nicht titlepage=firstiscover gesetzt ist.
  	  Andernfalls ist er zu weit rechts.
  	}
  \maketitle
\end{document}

Antworten