Skip to content

Commit

Permalink
Merge branch 'hotfix/v2.06g'
Browse files Browse the repository at this point in the history
  • Loading branch information
mrpiggi committed Jun 18, 2020
2 parents beb4e3b + 39d9ea8 commit 8572f35
Show file tree
Hide file tree
Showing 6 changed files with 263 additions and 59 deletions.
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020

tudscr 2020/01/14 v2.06f
tudscr 2020/06/18 v2.06g

----------------------------------------------------------------------------

Expand Down Expand Up @@ -53,6 +53,9 @@ Das Bundle beinhaltet:
Versionen
---------

**v2.06g** (2020/06/18)
+ Bugfix für Änderung des Satzspiegels im Dokument

**v2.06f** (2020/01/14)
+ Anpassungen für Paket `scrbase v3.28`

Expand Down Expand Up @@ -251,6 +254,9 @@ The bundle offers:
Versions
--------

**v2.06g** (2020/06/18)
+ bug fix when changing type area within document

**v2.06f** (2020/01/14)
+ adaptions for package `scrbase v3.28`

Expand Down
2 changes: 1 addition & 1 deletion source/doc/tudscr.tex
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
\endgroup%
}
\faculty{\cdurl}
\date{14.01.2020}
\date{2020-06-18}
\author{%
Falk Hanisch%
\expandafter\emailaddress\expandafter{\tudscrmail}%
Expand Down
165 changes: 124 additions & 41 deletions source/tudscr-area.dtx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% \CheckSum{2247}
% \CheckSum{2307}
% \iffalse meta-comment
%
% TUD-Script -- Corporate Design of Technische Universität Dresden
Expand Down Expand Up @@ -52,7 +52,7 @@
% \fi%
%
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\ProvidesFile{tudscr-area.dtx}[2019/07/19 v2.06c TUD-Script\space%
\ProvidesFile{tudscr-area.dtx}[2020/06/18 v2.06g TUD-Script\space%
(type or page area)%
]
%
Expand Down Expand Up @@ -291,6 +291,12 @@
% \changes{v2.05}{2015/11/29}{neu}^^A
% \begin{macro}{\tud@cdgeometry@assignlayout}
% \changes{v2.06}{2018/08/13}{neu}^^A
% \begin{macro}{\tud@cdgeometry@resetlayout}
% \changes{v2.06g}{2020/06/18}{neu, Bugfix für Änderung des Papierformates}^^A
% \begin{macro}{\tud@cdgeometry@papersize@store}
% \changes{v2.06g}{2020/06/18}{neu}^^A
% \begin{macro}{\tud@cdgeometry@papersize@last}
% \changes{v2.06g}{2020/06/18}{neu}^^A
% \begin{length}{\tud@len@layoutwidth}
% \changes{v2.05}{2016/04/03}{neu}^^A
% \begin{length}{\tud@len@layoutheight}
Expand All @@ -317,18 +323,6 @@
\newlength\tud@len@layoutheight
\newlength\tud@len@layouthoffset
\newlength\tud@len@layoutvoffset
% \end{macrocode}
% Mit \cs{tud@cdgeometry@assignlayout} wird die Layoutgröße, welche ggf. mit
% dem Paket \pkg{geometry} angegeben wurde, entsprechend gesetzt.
% \begin{macrocode}
\newcommand*\tud@cdgeometry@assignlayout{%
\ifdim\tud@len@layoutwidth<\p@\relax%
\setlength\tud@len@layoutwidth{\paperwidth}%
\fi%
\ifdim\tud@len@layoutheight<\p@\relax%
\setlength\tud@len@layoutheight{\paperheight}%
\fi%
}
\newcommand*\tud@cdgeometry@set{%
\tud@cdgeometry@assignlayout%
\tud@if@v@lower{2.05}{%
Expand Down Expand Up @@ -526,12 +520,57 @@
\setlength\tud@len@headsep{\dimexpr.707107\tud@len@headsep\relax}%
\setlength\tud@len@footsep{\dimexpr.707107\tud@len@footsep\relax}%
\fi%
\tud@cdgeometry@papersize@store%
}
% \end{macrocode}
% Mit \cs{tud@cdgeometry@assignlayout} wird die Layoutgröße, welche ggf. mit
% dem Paket \pkg{geometry} angegeben wurde, entsprechend gesetzt.
% \begin{macrocode}
\newcommand*\tud@cdgeometry@assignlayout{%
\ifdim\tud@len@layoutwidth<\p@\relax%
\setlength\tud@len@layoutwidth{\paperwidth}%
\fi%
\ifdim\tud@len@layoutheight<\p@\relax%
\setlength\tud@len@layoutheight{\paperheight}%
\fi%
}
% \end{macrocode}
% Das Verarbeiten des Parameters \prm{layout} von \pkg{geometry} ist etwas
% komplizierter. Normalerweise werden dessen Einstellungen bei einer einfachen
% Änderung des Satzspiegels beibehalten. Bei einer Änderung des Papierformates
% sind die damit gemachten Einstellungen nur bedingt weiterhin nutzbar. Die
% Offset-Werte bleiben in diesem Fall erhalten, das Layoutformat allerdings
% wird zurückgesetzt. Das aktuelle Papierformat wird nach der Prüfung auf eine
% Änderung in \cs{tud@cdgeometry@papersize@last} gesichert.
% \begin{macrocode}
\newcommand*\tud@cdgeometry@papersize@last{}
\newcommand*\tud@cdgeometry@papersize@store{%
\edef\tud@cdgeometry@papersize@last{\the\paperheight:\the\paperwidth}%
}
\newcommand*\tud@cdgeometry@resetlayout{%
\begingroup%
\edef\tud@res@a{\the\paperheight:\the\paperwidth}%
\def\tud@res@b{%
\endgroup%
\tud@cdgeometry@papersize@store%
}%
\ifx\tud@res@a\tud@cdgeometry@papersize@last\else%
\appto\tud@res@b{%
\setlength\tud@len@layoutwidth{\z@}%
\setlength\tud@len@layoutheight{\z@}%
\tud@x@geometry@fixmargins%
}%
\fi%
\tud@res@b%
}
% \end{macrocode}
% \end{length}^^A \tud@len@layoutvoffset
% \end{length}^^A \tud@len@layouthoffset
% \end{length}^^A \tud@len@layoutheight
% \end{length}^^A \tud@len@layoutwidth
% \end{macro}^^A \tud@cdgeometry@papersize@last
% \end{macro}^^A \tud@cdgeometry@papersize@store
% \end{macro}^^A \tud@cdgeometry@resetlayout
% \end{macro}^^A \tud@cdgeometry@assignlayout
% \end{macro}^^A \if@tud@cdgeometry@adjust
% \end{macro}^^A \tud@cdgeometry@set
Expand Down Expand Up @@ -630,11 +669,11 @@
% erfolgte, wird auf das Laden verzichtet (\cs{if@tud@cdgeometry@reset}).
% \begin{macrocode}
\if@atdocument%
\if@tud@cdgeometry@reset\else%
\if@tud@cdgeometry@reset\else% false
\ifcase\tud@cdgeometry@num\relax%
\tud@loadgeometry{current@typearea}%
\@tud@x@geometry@fixmarginstrue%
\or%
\or% custom
\tud@loadgeometry{current@custom}%
\@tud@x@geometry@fixmarginstrue%
\fi%
Expand Down Expand Up @@ -913,6 +952,7 @@
% der einzelnen Seitenstile umzusetzen. Dabei werden auch etwaige Optionen von
% \KOMAScript{} beachtet. Hierfür werden die originalen Befehle \cs{geometry}
% und \cs{newgeometry} angepasst, weshalb diese vorher gesichert werden.
% \ToDo{erweiterte Möglichkeiten von \cs{newgeometry} dokumentieren}[v2.07]
% \begin{macrocode}
\newif\if@tud@x@geometry@enabled%
\@tud@x@geometry@enabledtrue%
Expand Down Expand Up @@ -955,7 +995,11 @@
\if@tud@x@geometry@enabled%
\if@atdocument%
\@tud@x@geometry@fixmarginstrue%
\tud@cdgeometry@reset{custom}%
\ifcase\tud@cdgeometry@num\relax% false
\tud@cdgeometry@reset{typearea}%
\or% custom
\tud@cdgeometry@reset{custom}%
\fi%
\tud@cdgeometry@process%
\fi%
\fi%
Expand Down Expand Up @@ -987,6 +1031,7 @@
% \end{macro}^^A \geometry
% \begin{macro}{\tud@x@geometry@user}
% \changes{v2.05}{2016/03/06}{neu}^^A
% \changes{v2.06g}{2020/06/18}{Bugfix für Änderung des Papierformates}^^A
% \begin{parameter}{paper}
% \begin{parameter}{papername}
% \begin{parameter}{paperwidth}
Expand Down Expand Up @@ -1023,27 +1068,52 @@
\let\tud@x@geometry@layout\@empty%
\let\tud@x@geometry@parameter\@empty%
\TUD@parameter@set{geometry}{#1}%
% \end{macrocode}
% Bei einer Änderung des Papierformates wird das Layoutformat zurückgesetzt.
% \begin{macrocode}
\tud@x@geometry@area@set{paper}%
\tud@cdgeometry@resetlayout%
\ifx\tud@x@geometry@layout\@empty\else%
\begingroup%
\tud@x@geometry@area@set{layout}%
\tud@cdgeometry@assignlayout%
\edef\tud@res@a{%
\endgroup%
\noexpand\setlength\noexpand\tud@len@layoutwidth{\the\paperwidth}%
\noexpand\setlength\noexpand\tud@len@layoutheight{\the\paperheight}%
}%
\tud@res@a%
\fi%
\tud@x@geometry@area@set{paper}%
\ifstr{#2}{newgeometry}{%
\eappto\Gm@restore@org{%
\noexpand\paperwidth=\the\paperwidth\relax%
\noexpand\paperheight=\the\paperheight\relax%
}%
\tud@x@geometry@getlayout{\tud@res@a}%
\epreto\tud@x@geometry@parameter{\tud@res@a,}%
\def\tud@res@a{\tud@cs@use{newgeometry}}%
\expandafter\tud@res@a\expandafter{\tud@x@geometry@parameter}%
\edef\tud@x@geometry@init{\tud@x@geometry@parameter}%
% \end{macrocode}
% Wird der Befehl verwendet, wenn eigentlich \pkg{typearea} aktiv ist, so
% werden lediglich die Einstellungen zu \prm{paper} und \prm{layout} beachtet.
% Dies wird über die gepatchte Version von \cs{typearea} realisert. Siehe dazu
% \cs{tud@x@typearea@before} und \cs{tud@x@typearea@after} für Details.
% \begin{macrocode}
\ifcase\tud@cdgeometry@num\relax%
\typearea[current]{current}%
\ifx\tud@x@geometry@parameter\@empty\else%
\ClassWarning{\TUD@Class@Name}{%
It isn't possible to use \string\newgeometry with any\MessageBreak%
key except `paper' or `layout' when package `typearea'\MessageBreak%
is used with`cdgeometry=typearea'%
}%
\fi%
% \end{macrocode}
% Die Abarbeitung der gegebenen Parameter wird mit \cs{tud@cdgeometry@process}
% innerhalb von \cs{Gm@changelayout} realisiert. Letzteres Makro wird wiederum
% von der originalen Definition von \cs{newgeometry} aufgerufen.
% \begin{macrocode}
\else%
\def\tud@res@a{\tud@cs@use{newgeometry}}%
\expandafter\tud@res@a\expandafter{\tud@x@geometry@parameter}%
\edef\tud@x@geometry@init{\tud@x@geometry@parameter}%
\fi%
}{%
\eappto\tud@x@geometry@init{\tud@x@geometry@parameter}%
}%
Expand All @@ -1052,7 +1122,7 @@
% Das folgende Konstrukt ist aus der Idee entstanden, die Parameter \val{paper}
% sowie \val{layout} des Paketes \pkg{geometry} auf die passenden Optionen von
% \KOMAScript{} abbilden zu können und insbesondere Schnittmarken für alle
% Seitenstile bereitzustellen. %
% Seitenstile bereitzustellen.%
% \ToDo{%
% Leider ist aus der dem Versuch, eine halbwegs einheitliche Schnittstelle
% zwischen den Paketen \pkg{typearea} und \pkg{geometry} zu schaffen, ein
Expand Down Expand Up @@ -1101,8 +1171,12 @@
}%
\@tempa#1,,\@nil%
}%
\TUD@parameter@def{layoutwidth}{\setlength\tud@len@layoutwidth{#1}}%
\TUD@parameter@def{layoutheight}{\setlength\tud@len@layoutheight{#1}}%
\TUD@parameter@def{layoutwidth}{%
\tud@x@geometry@area@def{layout}{#1:\tud@len@layoutheight}%
}%
\TUD@parameter@def{layoutheight}{%
\tud@x@geometry@area@def{layout}{\tud@len@layoutwidth:#1}%
}%
\TUD@parameter@def{layoutoffset}{%
\def\@tempa##1,##2,##3\@nil{%
\IfArgIsEmpty{##2}{%
Expand Down Expand Up @@ -1202,25 +1276,27 @@
\fi%
}%
% \end{macrocode}
% Der Befehl \cs{tud@x@geometry@area@set} bewerkstelligt die Abarbeitung der
% zuvor gesammelten Schlüssel.
% Der Befehl \cs{tud@x@geometry@area@set} bewerkstelligt die sequentielle
% Abarbeitung der zuvor gesammelten Schlüssel.
% \begin{macrocode}
\newcommand*\tud@x@geometry@area@set[1]{%
\letcs{\@tempa}{tud@x@geometry@#1}%
\ifdefvoid{\@tempa}{}{%
\def\@tempb##1:##2:##3\@nil{%
\begingroup%
\IfArgIsEmpty{##2}{%
\def\@tempb{\KOMAoption{paper}{##1}}%
}{%
\if@landscape%
\def\@tempb{\KOMAoption{paper}{##2:##1}}%
\else%
\def\@tempb{\KOMAoption{paper}{##1:##2}}%
\fi%
}%
\edef\@tempb{\endgroup\expandonce\@tempb}%
\@tempb%
\IfArgIsEmpty{##2}{%
\KOMAoption{paper}{##1}%
}{%
% \end{macrocode}
% \KOMAScript{} stellt sich ziemlich clever an und setzt das Papierformat in
% dieser Notation immer korrekt im Quer- oder Hochformat, unabhängig von der
% Reihenfolge der angegebenen Längen. Für den Parameter \prm{layout} ist dies
% jedoch unerwünscht, weshalb der verantwortliche Befehl deaktiviert wird.
% \emph{Dies geschieht hier direkt und nicht in einer Gruppe,} weil der Aufruf
% von \cs{tud@x@geometry@area@set}|{layout}| lokal erfolgt.
% \begin{macrocode}
\ifstr{#1}{layout}{\let\scr@setpaperorientation\relax}{}%
\KOMAoption{paper}{##1:##2}%
}%
}%
\def\@tempc##1{\@tempb##1::\@nil}%
\expandafter\forcsvlist\expandafter\@tempc\expandafter{\@tempa}%
Expand Down Expand Up @@ -1258,12 +1334,12 @@
\ifGm@pass%
\let#1\@empty%
\else%
\tud@cdgeometry@assignlayout%
\begingroup%
% \end{macrocode}
% Das Setzen des Layouts erfolgt nur, wenn die dazugehörigen Längen \emph{nicht}
% denen des Papierbogens entsprechen.
% \begin{macrocode}
\tud@cdgeometry@assignlayout%
\@tud@res@swafalse%
\ifdim\tud@len@layoutwidth=\paperwidth\relax\else\@tud@res@swatrue\fi%
\ifdim\tud@len@layoutheight=\paperheight\relax\else\@tud@res@swatrue\fi%
Expand Down Expand Up @@ -2081,6 +2157,7 @@
% \begin{macro}{\typearea}
% \begin{macro}{\areaset}
% \begin{macro}{\storereareas}
% \changes{v2.06g}{2020/06/18}{Sichern der Längen für \prm{layout}}^^A
% \begin{macro}{\tud@x@typearea@before}
% \changes{v2.06}{2018/08/13}{neu}^^A
% \begin{macro}{\tud@x@typearea@after}
Expand All @@ -2094,6 +2171,7 @@
% der Präambel werden in \cs{tud@x@typearea@init} gesichert.
% \begin{macrocode}
\newcommand*\tud@x@typearea@before{%
\tud@cdgeometry@resetlayout%
\tud@skip@store{paperheight}%
\tud@skip@store{paperwidth}%
\begingroup%
Expand Down Expand Up @@ -2148,9 +2226,14 @@
\begingroup
\tud@x@geometry@fixmargins%
\tud@cs@use{storeareas}{#1}%
\def\tud@res@b##1{\unexpanded{\setlength##1}{\the##1}}%
\edef\tud@res@a{%
\endgroup%
\etex@unexpanded{\def#1}{%
\tud@res@b{\tud@len@layoutwidth}%
\tud@res@b{\tud@len@layoutheight}%
\tud@res@b{\tud@len@layouthoffset}%
\tud@res@b{\tud@len@layoutvoffset}%
\expandonce#1%
\def\noexpand\tud@cdgeometry@num{\tud@cdgeometry@num}%
}%
Expand Down
8 changes: 6 additions & 2 deletions source/tudscr-comp.dtx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% \CheckSum{1453}
% \CheckSum{1454}
% \iffalse meta-comment
%
% TUD-Script -- Corporate Design of Technische Universität Dresden
Expand Down Expand Up @@ -52,7 +52,7 @@
% \fi
%
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\ProvidesFile{tudscr-comp.dtx}[2020/01/14 v2.06f TUD-Script\space%
\ProvidesFile{tudscr-comp.dtx}[2020/06/18 v2.06g TUD-Script\space%
%
% \iffalse
%</dtx>
Expand Down Expand Up @@ -383,6 +383,8 @@
% \changes{v2.06e}{2019/10/23}{neu}^^A
% \begin{macro}{\tud@v@2.06f}
% \changes{v2.06f}{2020/01/14}{neu}^^A
% \begin{macro}{\tud@v@2.06g}
% \changes{v2.06g}{2020/06/18}{neu}^^A
% \begin{macro}{\tud@v@last}
% \changes{v2.02}{2014/08/22}{neu}^^A
% \changes{v2.03}{2015/01/13}{angepasst}^^A
Expand Down Expand Up @@ -425,9 +427,11 @@
\csdef{tud@v@2.06d}{4}
\csdef{tud@v@2.06e}{4}
\csdef{tud@v@2.06f}{4}
\csdef{tud@v@2.06g}{4}
\csdef{tud@v@last}{4}
% \end{macrocode}
% \end{macro}^^A \tud@v@last
% \end{macro}^^A \tud@v@2.06g
% \end{macro}^^A \tud@v@2.06f
% \end{macro}^^A \tud@v@2.06e
% \end{macro}^^A \tud@v@2.06d
Expand Down
Loading

0 comments on commit 8572f35

Please sign in to comment.