Seite 1 von 1

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

Verfasst: Di 2. Nov 2021, 15:49
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


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

Verfasst: Di 2. Nov 2021, 17:04
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.


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

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

Vielen Dank, habe wieder etwas gelernt :)