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

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: Wie kann ich coverpageleftmargin auf 80% seines vorherigen Wertes setzen?

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

von cabohah » Mo 2. Mär 2026, 10:17

Ich kann da keine Änderung über die TeX-Live-Versionen erkennen. Aber ich vermute, dass du etwas anderes willst, als gezeigt, nämlich, dass \coverpageleftmargin 80% des zum Zeitpunkt der Berechnung aktuellen Werts bekommt und \coverpagerightmargin schlicht denselben Wert erhält. Dann wäre deine Berechnung Unsinn, weil in der Voreinstellung \coverpagerightmargin bei dir nämlich als \def\coverpagerightmargin{\coverpageleftmargin} definiert ist. Wenn du also erst \coverpageleftmargin auf 80% von \coverpageleftmargin setzt und danach \coverpagerightmargin auf 80% von \coverpagerightmargin, dann ist \coverpagerightmargin anschließend 80% des aktuellen \coverpageleftmargin und damit 80% von 80% des ursprünglichen \coverpageleftmargin. Die Lösung wäre also \coverpagerightmargin gar nicht umzudefinieren oder erneut explizit auf \coverpageleftmargin zu setzen, also beispielsweise:
\documentclass[
  titlepage=firstiscover
]{scrreport}

\AtBeginDocument{%
%  \show\coverpageleftmargin% so kannst du in der log-Datei die vorherigen Definition sehen
%  \show\coverpagerightmargin% so kannst du in der log-Datei die vorherige Definition sehen
  \edef\coverpageleftmargin{\the\dimexpr .8\coverpageleftmargin\relax}%
  \def\coverpagerightmargin{\coverpageleftmargin}% im Beispiel nicht erforderlich, weil Voreinstellung
%  \show\coverpageleftmargin% so kannst du in der log-Datei die verwendete Definition sehen
%  \show\coverpagerightmargin% so kannst du in der log-Datei die verwendete Definition sehen
}

\begin{document}
  \title{%
  	  Dieser Titel ist unabhängig davon, ob titlepage=firstiscover gesetzt ist oder nicht, zentriert.%
  	}
  \maketitle
\end{document}
Übrigens empfehle ich, mehr auf signifikante Leerzeichen, beispielsweise durch Zeilenenden zu achten. Wenn man sich diesbezüglich einen konsequenten Stil aneignet und selbst dann durchzieht, wenn man 100% sicher ist, dass LaTeX an der Stelle Leerzeichen automatisch ignoriert, macht man deutlich weniger Fehler an Stellen, an denen LaTeX die Leerzeichen eben doch nicht ignoriert.

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

von M0M0 » Mi 25. Feb 2026, 14:01

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}

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

von M0M0 » Fr 5. Nov 2021, 10:42

Vielen Dank, habe wieder etwas gelernt :)

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

von KOMA » Di 2. Nov 2021, 17:04

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.

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

von M0M0 » Di 2. Nov 2021, 15:49

\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


Nach oben