From 1610548529befd1cb7d72da00a3a889261436642 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Mon, 2 Apr 2018 21:16:13 +0000
Subject: koma-script (2apr18)

git-svn-id: svn://tug.org/texlive/trunk@47249 c570f23f-e606-0410-a88d-b1316a301751
---
 .../texmf-dist/tex/latex/koma-script/scrbook.cls   | 691 +++++++++++++++------
 1 file changed, 490 insertions(+), 201 deletions(-)

(limited to 'Master/texmf-dist/tex/latex/koma-script/scrbook.cls')

diff --git a/Master/texmf-dist/tex/latex/koma-script/scrbook.cls b/Master/texmf-dist/tex/latex/koma-script/scrbook.cls
index b322c71ca18..219da414183 100644
--- a/Master/texmf-dist/tex/latex/koma-script/scrbook.cls
+++ b/Master/texmf-dist/tex/latex/koma-script/scrbook.cls
@@ -43,6 +43,7 @@
 %% scrkernel-sections.dtx  (with options: `class,book,body')
 %% scrkernel-miscellaneous.dtx  (with options: `class,book,body')
 %% scrkernel-pagestyles.dtx  (with options: `class,book,body')
+%% scrlayer.dtx  (with options: `class,book,body')
 %% scrkernel-floats.dtx  (with options: `class,book,body')
 %% scrkernel-footnotes.dtx  (with options: `class,book,body')
 %% scrkernel-listsof.dtx  (with options: `class,book,body')
@@ -83,7 +84,7 @@
 %% find a complete unmodified copy of LaTeX2e at
 %% <http://mirror.ctan.org/tex-archive/macros/latex/base/>.
 %% 
-%%% From File: $Id: scrkernel-version.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-version.dtx 2674 2017-09-07 09:35:17Z kohm $
 \begingroup
   \catcode`\@11\relax
   \ifx\KOMAScriptVersion\undefined
@@ -105,7 +106,7 @@
       \fi
     }
   \fi
-  \@CheckKOMAScriptVersion{2017/09/07 v3.24 KOMA-Script}%
+  \@CheckKOMAScriptVersion{2018/03/30 v3.25 KOMA-Script}%
 \endgroup
 \providecommand*{\scr@clsextension}{\@clsextension}
 \AtBeginDocument{%
@@ -120,25 +121,23 @@
 \newcommand*{\KOMAClassFileName}{\KOMAClassName.\@clsextension}
 \edef\KOMAClassFileName{\KOMAClassFileName}
 \ProvidesClass{\KOMAClassName}[%
-  2017/09/07 v3.24 KOMA-Script
+  2018/03/30 v3.25 KOMA-Script
   document class (\ClassName)%
 ]
-%%% From File: $Id: scrkernel-basics.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-basics.dtx 2818 2017-12-08 08:31:53Z kohm $
 %%%            (run: load)
 \RequirePackage{scrkbase}[\KOMAScriptVersion]
-%%% From File: $Id: tocbasic.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: tocbasic.dtx 2709 2017-11-21 08:03:52Z kohm $
 \RequirePackage{tocbasic}[%
-  2017/09/07 v3.24 KOMA-Script
+  2018/03/30 v3.25 KOMA-Script
 ]
 \AtAddToTocList[\@currname.\@currext]{\setuptoc{\@currext}{onecolumn}}%
 \AtAddToTocList[float]{\setuptoc{\@currext}{onecolumn}}%
 \addtotoclist{toc}
 \ifstr{\ext@toc}{toc}{}{\expandafter\addtotoclist\expandafter{\ext@toc}}
-\addtotoclist[float]{lof}
-\addtotoclist[float]{lot}
-%%% From File: $Id: scrkernel-tocstyle.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-tocstyle.dtx 2731 2017-11-23 09:04:09Z kohm $
 %%%            (run: prepare)
-%%% From File: $Id: scrkernel-sections.dtx 2655 2017-06-23 07:35:45Z kohm $
+%%% From File: $Id: scrkernel-sections.dtx 2954 2018-03-10 21:15:16Z kohm $
 %%%            (run: prepare)
 \newif\if@openright
 \@openrighttrue
@@ -214,7 +213,7 @@
 \newcommand*{\size@paragraph}{}
 \newcommand*{\size@subparagraph}{}
 \newcommand*{\sectfont}{\normalcolor\@gr@gsffamily\bfseries}
-%%% From File: $Id: scrkernel-compatibility.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-compatibility.dtx 2950 2018-03-05 07:54:19Z kohm $
 %%%            (run: init)
 \newcommand*
   {\scr@compatibility}{\scr@v@last}
@@ -283,10 +282,11 @@
 \@namedef{scr@v@3.22}{16}
 \@namedef{scr@v@3.23}{16}
 \@namedef{scr@v@3.24}{16}
-\@namedef{scr@v@last}{16}
-%%% From File: $Id: scrkernel-typearea.dtx 2661 2017-07-24 19:45:16Z kohm $
+\@namedef{scr@v@3.25}{17}
+\@namedef{scr@v@last}{17}
+%%% From File: $Id: scrkernel-typearea.dtx 2959 2018-03-15 13:32:29Z kohm $
 %%%            (run: init)
-%%% From File: $Id: scrkernel-compatibility.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-compatibility.dtx 2950 2018-03-05 07:54:19Z kohm $
 %%%            (run: option)
 \newif\if@scr@emulatestandardclasses
 \let\scr@emulatestandardclassestrue\relax
@@ -360,7 +360,7 @@
 \newcommand*{\scr@v@is@ge}[1]{%
   \numexpr\scr@compatibility+\@ne\relax>\@nameuse{scr@v@#1}
 }
-%%% From File: $Id: scrkernel-miscellaneous.dtx 2658 2017-06-25 14:32:43Z kohm $
+%%% From File: $Id: scrkernel-miscellaneous.dtx 2712 2017-11-21 09:27:02Z kohm $
 %%%            (run: option)
 \KOMA@key{draft}[true]{%
   \KOMA@set@ifkey{draft}{@tempswa}{#1}%
@@ -369,11 +369,17 @@
       \KOMA@kav@replacebool{.%
         \KOMAClassFileName
       }{draft}{@tempswa}%
+      \KOMA@kav@replacebool{.%
+        \KOMAClassFileName
+      }{overfullrule}{@tempswa}%
       \setlength{\overfullrule}{5pt}%
     \else
       \KOMA@kav@replacebool{.%
         \KOMAClassFileName
       }{draft}{@tempswa}%
+      \KOMA@kav@replacebool{.%
+        \KOMAClassFileName
+      }{overfullrule}{@tempswa}%
       \setlength{\overfullrule}{\z@}%
     \fi
   \fi
@@ -381,6 +387,29 @@
 \KOMA@kav@add{.\KOMAClassFileName}{draft}{false}
 \KOMA@DeclareStandardOption
 {final}{draft=false}
+\KOMA@key{overfullrule}[true]{%
+  \KOMA@set@ifkey{overfullrule}{@tempswa}{#1}%
+  \ifx\FamilyKeyState\FamilyKeyStateProcessed
+    \if@tempswa
+      \KOMA@kav@replacebool{.%
+        \KOMAClassFileName
+      }{draft}{@tempswa}%
+      \KOMA@kav@replacebool{.%
+        \KOMAClassFileName
+      }{overfullrule}{@tempswa}%
+      \setlength{\overfullrule}{5pt}%
+    \else
+      \KOMA@kav@replacebool{.%
+        \KOMAClassFileName
+      }{draft}{@tempswa}%
+      \KOMA@kav@replacebool{.%
+        \KOMAClassFileName
+      }{overfullrule}{@tempswa}%
+      \setlength{\overfullrule}{\z@}%
+    \fi
+  \fi
+}
+\KOMA@kav@add{.\KOMAClassFileName}{overfullrule}{false}
 \DeclareOption{leqno}{\input{leqno.clo}}
 \DeclareOption{fleqn}{\input{fleqn.clo}}
 \KOMA@ifkey{egregdoesnotlikesansseriftitles}{@egregdoesnotlikesansseriftitles}
@@ -389,7 +418,7 @@
 }
 %%% From File: $Id: scrkernel-language.dtx 2649 2017-05-29 09:39:43Z kohm $
 %%%            (run: option)
-%%% From File: $Id: scrkernel-fonts.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-fonts.dtx 2929 2018-02-05 06:37:22Z kohm $
 %%%            (run: option)
 \newcommand*\@ptsize{%
   11%
@@ -475,7 +504,7 @@
 \BeforePackage{tex4ht}{%
   \let\scr@defineobsoletefonts\thr@@
 }
-%%% From File: $Id: scrkernel-typearea.dtx 2661 2017-07-24 19:45:16Z kohm $
+%%% From File: $Id: scrkernel-typearea.dtx 2959 2018-03-15 13:32:29Z kohm $
 %%%            (run: options)
 \KOMA@key{twoside}[true]{%
   \if@atdocument\else\PassOptionsToPackage{twoside=#1}{typearea}\fi%
@@ -585,7 +614,7 @@
 }
 \DeclareOption*{%
   \x@paper}
-%%% From File: $Id: scrkernel-paragraphs.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-paragraphs.dtx 2680 2017-09-28 05:45:12Z kohm $
 %%%            (run: option)
 \newcommand*{\setparsizes}[3]{%
   \edef\f@parindent{\the\parindent}%
@@ -738,7 +767,7 @@
     \fi
   \else
     \endgroup
-    \FamilyKeyStateUnkownValue
+    \FamilyKeyStateUnknownValue
   \fi
 }
 \KOMA@DeclareDeprecatedOption{parskip-}{parskip=full-}
@@ -751,7 +780,7 @@
 \KOMA@DeclareDeprecatedOption{parindent}{parskip=false}
 \KOMA@kav@add{.\KOMAClassFileName}{parskip}{false}
 \KOMA@kav@add{.\KOMAClassFileName}{parskip}{absolute}
-%%% From File: $Id: scrkernel-title.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-title.dtx 2942 2018-02-19 07:23:07Z kohm $
 %%%            (run: option)
 \newif\if@titlepage
 \@titlepagetrue
@@ -783,9 +812,9 @@
 }{titlepage}{\if@titlepage true\else false\fi}
 \KOMA@DeclareStandardOption%
   {notitlepage}{titlepage=false}
-%%% From File: $Id: scrkernel-tocstyle.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-tocstyle.dtx 2731 2017-11-23 09:04:09Z kohm $
 %%%            (run: option)
-%%% From File: $Id: scrkernel-sections.dtx 2655 2017-06-23 07:35:45Z kohm $
+%%% From File: $Id: scrkernel-sections.dtx 2954 2018-03-10 21:15:16Z kohm $
 %%%            (run: option)
 \KOMA@key{open}{%
   \KOMA@set@ncmdkey{open}{@tempa}{%
@@ -1152,7 +1181,7 @@
 \KOMA@DeclareDeprecatedOption{cleardoubleempty}{cleardoublepage=empty}
 \KOMA@DeclareDeprecatedOption{cleardoubleplain}{cleardoublepage=plain}
 \KOMA@DeclareDeprecatedOption{cleardoublestandard}{cleardoublepage=current}
-%%% From File: $Id: scrkernel-floats.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-floats.dtx 2701 2017-11-15 14:02:01Z kohm $
 %%%            (run: option)
 \newif\if@captionabove\@captionabovefalse
 \newif\if@tablecaptionabove\@tablecaptionabovefalse
@@ -1358,7 +1387,7 @@
   \csname FN@mf@prepare\endcsname
   \ifhmode\spacefactor\@x@sf\fi
   \relax}
-%%% From File: $Id: scrkernel-listsof.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-listsof.dtx 2864 2018-01-16 07:55:20Z kohm $
 %%%            (run: option)
 \newif\if@tocleft
 \KOMA@key{toc}{%
@@ -1441,13 +1470,14 @@
     {flat}{3},{left}{3},%
     {graduated}{4},{indent}{4},{indented}{4},%
     {leveldown}{5},
-    {entryprefix}{6},
-    {indenttextentries}{7},{indentunnumbered}{7},{numberline}{7},%
-    {leftaligntextentries}{8},{leftalignunnumbered}{8},{nonumberline}{8},%
-    {chapterentry}{9},{withchapterentry}{9},%
-    {nochaptergap}{10},{ignorechapter}{10},%
-    {chaptergapsmall}{11},{smallchaptergap}{11},%
-    {chaptergapline}{12},{onelinechaptergap}{12}%
+    {standardlevel}{6},
+    {entryprefix}{7},
+    {indenttextentries}{8},{indentunnumbered}{8},{numberline}{8},%
+    {leftaligntextentries}{9},{leftalignunnumbered}{9},{nonumberline}{9}%
+    ,{chapterentry}{10},{withchapterentry}{10},%
+    {nochaptergap}{11},{ignorechapter}{11},%
+    {chaptergapsmall}{12},{smallchaptergap}{12},%
+    {chaptergapline}{13},{onelinechaptergap}{13}%
   }{#1}%
   \ifx\FamilyKeyState\FamilyKeyStateProcessed
     \ifcase \@tempa\relax % notoc
@@ -1521,6 +1551,7 @@
       \KOMA@kav@add{.\KOMAClassFileName}{listof}{graduated}%
       \@dynlistfalse
     \or% leveldown
+      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{standardlevel}%
       \KOMA@kav@add{.\KOMAClassFileName}{listof}{leveldown}%
       \doforeachtocfile[float]{%
         \setuptoc{\@currext}{leveldown}%
@@ -1528,6 +1559,15 @@
       \AtAddToTocList[float]{%
         \setuptoc{\@currext}{leveldown}%
       }%
+    \or% standardlevel
+      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{leveldown}%
+      \KOMA@kav@add{.\KOMAClassFileName}{listof}{standardlevel}%
+      \doforeachtocfile[float]{%
+        \unsettoc{\@currext}{leveldown}%
+      }%
+      \AtAddToTocList[float]{%
+        \unsettoc{\@currext}{leveldown}%
+      }%
     \or% entryprefix
       \KOMA@kav@add{.\KOMAClassFileName}{listof}{entryprefix}%
       \@dynlisttrue
@@ -1623,7 +1663,7 @@
 \BeforeTOCHead{\@chaptertolistsfalse}
 \KOMA@kav@add{.\KOMAClassFileName}{chapteratlists}{10\p@}%
 \KOMA@kav@add{.\KOMAClassFileName}{listof}{chaptergapsmall}%
-%%% From File: $Id: scrkernel-bibliography.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-bibliography.dtx 2769 2017-12-03 10:56:06Z kohm $
 %%%            (run: option)
 \newcommand{\newbibstyle}[3][]{%
   \scr@ifundefinedorrelax{scr@bibstyle@#2}{%
@@ -1686,21 +1726,16 @@
   \renewcommand*{\newblock}{\hskip .11em\@plus.33em\@minus.07em}%
 }
 \scr@bibstyle@oldstyle
-\newcommand*\bib@heading{%
+\newcommand*{\bib@heading}{%
+  \bibliography@heading{\bibname}%
+}
+\newcommand*{\bibliography@heading}[1]{%
   \ifbib@leveldown
-    \section*{\bibname}%
-    \scr@ifundefinedorrelax{@mkright}{%
-      \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{\bibname}}\fi
-    }{%
-      \@mkright{\MakeMarkcase{\bibname}}%
-    }%
+    \section*{#1}%
+    \@mkright{\MakeMarkcase{#1}}%
   \else
-    \chapter*{\bibname}%
-    \scr@ifundefinedorrelax{@mkdouble}{%
-      \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}%
-    }{%
-      \@mkdouble{\MakeMarkcase{\bibname}}%
-    }%
+    \chapter*{#1}%
+    \@mkdouble{\MakeMarkcase{#1}}%
   \fi
 }%
 \newif\ifbib@leveldown
@@ -1723,13 +1758,13 @@
       \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{totoc}%
       \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{numbered}%
       \KOMA@kav@add{.\KOMAClassFileName}{bibliography}{notoc}%
-      \renewcommand*\bib@heading{%
+      \renewcommand*{\bibliography@heading}[1]{%
         \ifbib@leveldown
-          \section*{\bibname}%
-          \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\bibname}}\fi
+          \section*{##1}%
+          \@mkright{\MakeMarkcase{##1}}%
         \else
-          \chapter*{\bibname}%
-          \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}%
+          \chapter*{##1}%
+          \@mkdouble{\MakeMarkcase{##1}}%
         \fi
       }%
     \or% totoc
@@ -1741,16 +1776,16 @@
       \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{totoc}%
       \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{numbered}%
       \KOMA@kav@add{.\KOMAClassFileName}{bibliography}{totoc}%
-      \renewcommand*\bib@heading{%
+      \renewcommand*{\bibliography@heading}[1]{%
         \ifbib@leveldown
-          \addsec{\bibname}
+          \addsec{##1}%
         \else
           \if@chaptertolists
-            \@chaptertolistsfalse\addchap{\bibname}\@chaptertoliststrue
+            \@chaptertolistsfalse\addchap{##1}\@chaptertoliststrue
           \else
-            \addchap{\bibname}
+            \addchap{##1}%
           \fi
-          \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}%
+          \@mkdouble{\MakeMarkcase{##1}}%
         \fi
       }%
     \or% numbered
@@ -1762,17 +1797,16 @@
       \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{totoc}%
       \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{numbered}%
       \KOMA@kav@add{.\KOMAClassFileName}{bibliography}{numbered}%
-      \renewcommand*\bib@heading{%
+      \renewcommand*{\bibliography@heading}[1]{%
         \ifbib@leveldown
-          \section{\bibname}%
+          \section{##1}%
         \else
           \if@chaptertolists
-            \@chaptertolistsfalse\chapter{\bibname}\@chaptertoliststrue
+            \@chaptertolistsfalse\chapter{##1}\@chaptertoliststrue
           \else
-            \chapter{\bibname}
+            \chapter{##1}
           \fi
-          \@mkboth{\MakeMarkcase{\chaptermarkformat \bibname}}%
-                  {\MakeMarkcase{\chaptermarkformat \bibname}}%
+          \@mkdouble{\MakeMarkcase{\chaptermarkformat ##1}}%
         \fi
       }
     \or% leveldown
@@ -1798,7 +1832,7 @@
 \KOMA@DeclareStandardOption{openbib}{bibliography=openstyle}
 \KOMA@DeclareDeprecatedOption{bibtotoc}{bibliography=totoc}
 \KOMA@DeclareDeprecatedOption{bibtotocnumbered}{bibliography=totocnumbered}
-%%% From File: $Id: scrkernel-index.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-index.dtx 2782 2017-12-04 07:47:52Z kohm $
 %%%            (run: option)
 \newcommand*{\idx@@heading}{%
   \ifidx@leveldown
@@ -1812,7 +1846,8 @@
   \KOMA@set@ncmdkey{index}{@tempa}{%
     {notoc}{0},{nottotoc}{0},{default}{0},{plainheading}{0},%
     {totoc}{1},{toc}{1},{notnumbered}{1},%
-    {numbered}{2},{totocnumbered}{2},%
+    {numbered}{2},{totocnumbered}{2},{numberedtotoc}{2},{tocnumbered}{2},%
+    {numberedtoc}{2},%
     {leveldown}{3},%
     {standardlevel}{4}%
   }{#1}%
@@ -1884,20 +1919,20 @@
 \KOMA@DeclareDeprecatedOption{idxtotoc}{index=totoc}
 %%% From File: $Id: scrkernel-listsandtabulars.dtx 2640 2017-05-08 09:36:55Z kohm $
 %%%            (run: option)
-%%% From File: $Id: scrkernel-sections.dtx 2655 2017-06-23 07:35:45Z kohm $
+%%% From File: $Id: scrkernel-sections.dtx 2954 2018-03-10 21:15:16Z kohm $
 %%%            (run: execoption)
 \KOMAExecuteOptions{headings=openright}
 \KOMAExecuteOptions{numbers=autoendperiod}
-%%% From File: $Id: scrkernel-miscellaneous.dtx 2658 2017-06-25 14:32:43Z kohm $
+%%% From File: $Id: scrkernel-miscellaneous.dtx 2712 2017-11-21 09:27:02Z kohm $
 %%%            (run: execoption)
 \KOMAExecuteOptions{%
   parskip=false,%
   headings=big%
 }
 \KOMAProcessOptions\relax
-%%% From File: $Id: scrkernel-compatibility.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-compatibility.dtx 2950 2018-03-05 07:54:19Z kohm $
 %%%            (run: body)
-%%% From File: $Id: scrkernel-fonts.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-fonts.dtx 2929 2018-02-05 06:37:22Z kohm $
 %%%            (run: body)
 \newcommand*\scr@setlength[4]{%
   \expandafter\ifnum\scr@v@is@lt{3.12}\relax
@@ -2385,7 +2420,7 @@
         January\or February\or March\or April\or May\or June\or
         July\or August\or September\or October\or November\or December\fi
         \space\number\day, \number\year}%
-%%% From File: $Id: scrkernel-typearea.dtx 2661 2017-07-24 19:45:16Z kohm $
+%%% From File: $Id: scrkernel-typearea.dtx 2959 2018-03-15 13:32:29Z kohm $
 %%%            (run: body)
 \let\@BCOR                =\relax
 \let\@@BCOR               =\relax
@@ -2430,7 +2465,7 @@
     }\reserved@a
   \fi
 \fi
-%%% From File: $Id: scrkernel-paragraphs.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-paragraphs.dtx 2680 2017-09-28 05:45:12Z kohm $
 %%%            (run: body)
 \setlength{\lineskip}{\p@}
 \setlength{\normallineskip}{\p@}
@@ -2559,12 +2594,16 @@
 \@lowpenalty  = 51
 \@medpenalty  =151
 \@highpenalty =301
-%%% From File: $Id: scrkernel-title.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-title.dtx 2942 2018-02-19 07:23:07Z kohm $
 %%%            (run: body)
 \newcommand*{\@extratitle}{}%
 \newcommand{\extratitle}[1]{\gdef\@extratitle{%
     #1%
 }}%
+\newcommand*{\@frontispiece}{}%
+\newcommand{\frontispiece}[1]{\gdef\@frontispiece{%
+    #1%
+}}%
 \newcommand*{\@titlehead}{}%
 \newcommand{\titlehead}[1]{\gdef\@titlehead{%
     #1%
@@ -2654,8 +2693,20 @@
       \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
       \let\@oldmakefnmark\@makefnmark
       \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}%
-      \ifx\@extratitle\@empty \else
-        \noindent\@extratitle\next@tdpage
+      \ifx\@extratitle\@empty
+        \ifx\@frontispiece\@empty
+        \else
+          \if@twoside\mbox{}\next@tpage\fi
+          \noindent\@frontispiece\next@tdpage
+        \fi
+      \else
+        \noindent\@extratitle
+        \ifx\@frontispiece\@empty
+        \else
+          \next@tpage
+          \noindent\@frontispiece
+        \fi
+        \next@tdpage
       \fi
       \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
       \ifx\@titlehead\@empty \else
@@ -2738,20 +2789,46 @@
       \next@tdpage
       \if@twocolumn
         \ifnum \col@number=\@ne
-          \ifx\@extratitle\@empty\else
+          \ifx\@extratitle\@empty
+            \ifx\@frontispiece\@empty\else\if@twoside\mbox{}\fi\fi
+          \else
             \@makeextratitle
+          \fi
+          \ifx\@frontispiece\@empty
+            \ifx\@extratitle\@empty\else\next@tdpage\fi
+          \else
+            \next@tpage
+            \@makefrontispiece
             \next@tdpage
           \fi
           \@maketitle
         \else
-          \ifx\@extratitle\@empty\else
-            \twocolumn[\@makeextratitle]\next@tdpage
+          \ifx\@extratitle\@empty
+            \ifx\@frontispiece\@empty\else\if@twoside\mbox{}\fi\fi
+          \else
+            \twocolumn[\@makeextratitle]%
+          \fi
+          \ifx\@frontispiece\@empty
+            \ifx\@extratitle\@empty\else\next@tdpage\fi
+          \else
+            \next@tpage
+            \twocolumn[\@makefrontispiece]%
+            \next@tdpage
           \fi
           \twocolumn[\@maketitle]%
         \fi
       \else
-        \ifx\@extratitle\@empty\else
-          \@makeextratitle\next@tdpage
+        \ifx\@extratitle\@empty
+          \ifx\@frontispiece\@empty\else \mbox{}\fi
+        \else
+          \@makeextratitle
+        \fi
+        \ifx\@frontispiece\@empty
+          \ifx\@extratitle\@empty\else\next@tdpage\fi
+        \else
+          \next@tpage
+          \@makefrontispiece
+          \next@tdpage
         \fi
         \@maketitle
       \fi
@@ -2770,6 +2847,7 @@
     \global\let\@title\@empty
     \global\let\@subtitle\@empty
     \global\let\@extratitle\@empty
+    \global\let\@frontispiece\@empty
     \global\let\@titlehead\@empty
     \global\let\@subject\@empty
     \global\let\@publishers\@empty
@@ -2794,6 +2872,11 @@
     \noindent\@extratitle\par
   \fi
 }
+\newcommand*{\@makefrontispiece}{%
+  \ifx\@frontispiece\@empty \else
+    \noindent\@frontispiece\par
+  \fi
+}
 \newcommand*{\@maketitle}{%
   \global\@topnum=\z@
   \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
@@ -2867,10 +2950,10 @@
 \newkomafont{dedication}{\Large}
 \newcommand*{\scr@fnt@title}{\titlefont}%
 \newcommand*{\scr@fnt@subject}{\subject@font}%
-%%% From File: $Id: scrkernel-tocstyle.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-tocstyle.dtx 2731 2017-11-23 09:04:09Z kohm $
 %%%            (run: body)
 \let\numberline\scr@numberline
-%%% From File: $Id: scrkernel-tocstyle.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-tocstyle.dtx 2731 2017-11-23 09:04:09Z kohm $
 %%%            (run: class,style,part)
 \CloneTOCEntryStyle{tocline}{part}
 \TOCEntryStyleStartInitCode{part}{%
@@ -2884,7 +2967,7 @@
   \expandafter\providecommand\expandafter*%
   \csname scr@tso@#1@beforeskip\endcsname{2.25em \@plus\p@}%
 }
-%%% From File: $Id: scrkernel-tocstyle.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-tocstyle.dtx 2731 2017-11-23 09:04:09Z kohm $
 %%%            (run: class,style,chapter)
 \CloneTOCEntryStyle{tocline}{chapter}
 \TOCEntryStyleStartInitCode{chapter}{%
@@ -2904,17 +2987,17 @@
   \expandafter\providecommand\expandafter*%
   \csname scr@tso@#1@beforeskip\endcsname{1.0em \@plus\p@}%
 }
-%%% From File: $Id: scrkernel-tocstyle.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-tocstyle.dtx 2731 2017-11-23 09:04:09Z kohm $
 %%%            (run: class,style,section)
 \CloneTOCEntryStyle{tocline}{section}
 \TOCEntryStyleStartInitCode{section}{%
   \expandafter\providecommand%
   \csname scr@tso@#1@linefill\endcsname{\TOCLineLeaderFill\relax}%
 }
-%%% From File: $Id: scrkernel-tocstyle.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-tocstyle.dtx 2731 2017-11-23 09:04:09Z kohm $
 %%%            (run: class,style,default)
 \CloneTOCEntryStyle{section}{default}
-%%% From File: $Id: scrkernel-sections.dtx 2655 2017-06-23 07:35:45Z kohm $
+%%% From File: $Id: scrkernel-sections.dtx 2954 2018-03-10 21:15:16Z kohm $
 %%%            (run: body)
 \setcounter{secnumdepth}{2}
 \newcommand*{\ifnumbered}[1]{%
@@ -3873,29 +3956,54 @@
 }
 \newcommand*{\DeclareNewSectionCommand}[2][]{%
   \@ifundefined{#2}{%
-    \DeclareSectionCommand[{#1}]{#2}%
+    \@tempswatrue
+    \let\reserved@b\@empty
+    \@for \reserved@a:=the#2,#2mark,#2format,#2markformat\do{%
+      \expandafter\scr@ifundefinedorrelax\expandafter{\reserved@a}{}{%
+        \@tempswafalse
+        \edef\reserved@b{\expandafter\string\csname \reserved@a\endcsname}%
+      }
+    }
+    \if@tempswa
+      \DeclareSectionCommand[{#1}]{#2}%
+    \else
+      \ClassError{\KOMAClassName}{%
+        command `\reserved@b` already defined%
+      }{%
+        You've tried to define the section command `\expandafter\string\csname
+        #2\endcsname` newly.\MessageBreak
+        Such a section command needs an additional new command
+        `\reserved@b`,\MessageBreak
+        but this already exists. So you cannot define
+        `\expandafter\string\csname #2\endcsname` newly.\MessageBreak
+        Maybe you should use one of \string\DeclareSectionCommand,
+        \string\RedeclareSectionCommand,\MessageBreak
+        or \string\ProvideSectionCommand.\MessageBreak
+        If you'll continue, the command will be ignored.%
+      }%
+    \fi
   }{%
     \ClassError{\KOMAClassName}{%
-      command `\expandafter\string\csname #1\endcsname` already defined%
+      command `\expandafter\string\csname #2\endcsname` already defined%
     }{%
       You've tried to define the section command `\expandafter\string\csname
-      #1\endcsname` newly,\MessageBreak
-      but a command, token, box or length with this name already
+      #2\endcsname` newly,\MessageBreak
+      but a command or something else with this name already
       exists.\MessageBreak
       Maybe you should use one of \string\DeclareSectionCommand,
       \string\RedeclareSectionCommand,\MessageBreak
       or \string\ProvideSectionCommand.\MessageBreak
-      If you'll continue, the command will be irgnored.%
+      If you'll continue, the command will be ignored.%
     }%
   }%
 }
 \newcommand*{\RedeclareSectionCommand}[2][]{%
   \@ifundefined{#2}{%
     \ClassError{\KOMAClassName}{%
-      command `\expandafter\string\csname #1\endcsname` not defined%
+      command `\expandafter\string\csname #2\endcsname` not defined%
     }{%
       You've tried to re-define the section command `\expandafter\string\csname
-      #1\endcsname`,\MessageBreak
+      #2\endcsname`,\MessageBreak
       but a command with this name does not exists.\MessageBreak
       Maybe you should use one of \string\DeclareSectionCommand,
       \string\DeclareNewSectionCommand,\MessageBreak
@@ -4256,21 +4364,28 @@
   }%
   \begingroup
     \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
+    \def\IfUseNumber{\ifnumbered{#1}}%
     \raggedpart
-    \interlinepenalty \@M
-    \normalfont\sectfont\nobreak
-    \ifnumbered{#1}{%
-      \usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}%
-      \setlength{\@tempskipa}{\@nameuse{scr@#1@innerskip}}%
-      \partheadmidvskip
-    }{}%
-    \usekomafont{part}{\nobreak #3}\strut
-    \expandafter\ifx\csname #1mark\endcsname\@gobble
-      \@mkboth{}{}%
-    \else
-      \csname #1mark\expandafter\endcsname\expandafter{\@currentheadentry}%
-    \fi
-    \par
+    \normalfont\usekomafont{disposition}{\nobreak
+      \IfUseNumber{%
+        \partlineswithprefixformat{#1}{%
+          \usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}%
+        \setlength{\@tempskipa}{\@nameuse{scr@#1@innerskip}}%
+          \partheadmidvskip
+        }{%
+          \usekomafont{#1}{\nobreak\interlinepenalty \@M#3\strut\@@par}%
+        }%
+      }{%
+        \partlineswithprefixformat{#1}{}{%
+          \usekomafont{#1}{\nobreak\interlinepenalty \@M#3\strut\@@par}%
+        }
+      }%
+      \expandafter\ifx\csname #1mark\endcsname\@gobble
+        \@mkboth{}{}%
+      \else
+        \csname #1mark\expandafter\endcsname\expandafter{\@currentheadentry}%
+      \fi
+    }%
   \endgroup
   \@nameuse{@end#1}%
 }
@@ -4281,13 +4396,21 @@
   \endgroup
   \begingroup
     \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
+    \let\IfUseNumber\@secondoftwo
     \raggedpart
-    \interlinepenalty \@M
-    \normalfont
-    \sectfont\nobreak\usekomafont{#1}{\nobreak #2}\strut\@mkboth{}{}\par
+    \normalfont\usekomafont{disposition}{%
+      \nobreak
+      \partlineswithprefixformat{#1}{}{%
+        \usekomafont{#1}{\nobreak\interlinepenalty \@M#2\strut\@@par}%
+      }%
+      \@mkboth{}{}%
+    }%
   \endgroup
   \@nameuse{@end#1}%
 }
+\newcommand{\partlineswithprefixformat}[3]{%
+  #2#3%
+}
 \newcommand*{\scr@@endpart}[1]{%
   \vbox to\z@{\use@preamble{#1@u}\vss}%
   \@tempskipa=\glueexpr\csname scr@#1@afterskip\endcsname\relax\relax
@@ -4540,7 +4663,7 @@
   \chapterheadstartvskip
   {%
     \setlength{\parindent}{\z@}\setlength{\parfillskip}{\z@ plus 1fil}%
-    \let\IfUseNumber\secondoftwo
+    \let\IfUseNumber\@secondoftwo
     \if@chapterprefix
       \let\IfUsePrefixLine\@firstoftwo
     \else
@@ -4875,7 +4998,7 @@
 \fi
 \newcommand*{\scr@fnt@disposition}{\sectfont}
 \aliaskomafont{sectioning}{disposition}
-%%% From File: $Id: scrkernel-miscellaneous.dtx 2658 2017-06-25 14:32:43Z kohm $
+%%% From File: $Id: scrkernel-miscellaneous.dtx 2712 2017-11-21 09:27:02Z kohm $
 %%%            (run: body)
 \newif\if@restonecol
 \newcommand{\dictum}[2][]{\par%
@@ -4963,12 +5086,21 @@
     \expandafter\@secondoftwo
   \fi
 }
-\DeclareRobustCommand*\textsubscript[1]{%
-  \@textsubscript{\selectfont#1}%
+\scr@ifundefinedorrelax{textsubscript}{%
+  \DeclareRobustCommand*\textsubscript[1]{%
+    \@textsubscript{\selectfont#1}%
+  }%
+}{%
+  \scr@ifundefinedorrelax{textsubscript }{%
+    \DeclareRobustCommand*\textsubscript[1]{%
+      \@textsubscript{\selectfont#1}%
+    }%
+  }{}%
 }
 \providecommand*{\@textsubscript}[1]{%
   {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}%
 }
+\providecommand*{\scr@endstrut}{\unskip\ifhmode\nobreak\strut\fi}
 \newcommand*{\scr@package@not@recommended}[2]{%
   \scr@ifundefinedorrelax{class@shoulddisablepackagewarning@list}{%
     \@firstofone
@@ -4995,9 +5127,6 @@
   option\MessageBreak
   `cleardoublepage' with one of it's\MessageBreak
   several values}
-\scr@package@not@recommended{parskip}{%
-  option\MessageBreak
-  `parskip' with one of it's several values}
 \scr@package@not@recommended{fancyhdr}{%
   \MessageBreak
   package `scrlayer' or `scrlayer-scrpage', because\MessageBreak
@@ -5007,15 +5136,26 @@
   `\string\MakeMarkcase' and the commands `\string\setkomafont' and\MessageBreak
   `\string\addtokomafont' for the page style elements need\MessageBreak
   explicite user intervention to work}
+\scr@package@not@recommended{minitoc}{}
+\scr@package@not@recommended{parskip}{%
+  option\MessageBreak
+  `parskip' with one of it's several values}
+\scr@package@not@recommended{titleps}{%
+  package `scrlayer-scrpage'}
 \scr@package@not@recommended{titlesec}{%
   the package only\MessageBreak
   if you really need it, because it breaks several\MessageBreak
   KOMA-Script features, i.e., option `headings' and\MessageBreak
   the extended optional argument of the section\MessageBreak
   commands}
-\scr@package@not@recommended{titleps}{%
-  package `scrlayer-scrpage'}
-\scr@package@not@recommended{minitoc}{}
+\scr@package@not@recommended{tocbibind}{%
+  options like `listof=totoc'\MessageBreak
+  or `bibliography=totoc', or commands like\MessageBreak
+  `\string\setuptoc{toc}{totoc}' instead of this package,\MessageBreak
+  because it breaks several KOMA-Script features of\MessageBreak
+  the list of figures, list of tables, bibliography,\MessageBreak
+  index and the running head%
+}
 \BeforePackage{minitoc}{%
   \let\scr@mt@saved@sect\@sect
 }
@@ -5272,7 +5412,60 @@
 \newcommand*{\indexpagestyle}{plain}
 \pagestyle{headings}
 \pagenumbering{arabic}
-%%% From File: $Id: scrkernel-floats.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrlayer.dtx 2684 2017-10-13 13:35:13Z kohm $
+%%%            (run: body)
+\providecommand*{\@mkleft}{%
+  \begingroup
+    \ifx\@mkboth\markboth \aftergroup\markleft
+    \else
+      \ifx\@mkboth\@gobbletwo \aftergroup\@gobble
+      \else \def\@gobbletwo##1##2{}%
+        \ifx \@mkboth\@gobbletwo \aftergroup\@gobble
+        \else
+          \ClassWarning{\KOMAClassName}{%
+            package incompatibility detected!\MessageBreak
+            \string\@mkboth it neither \string\markboth nor any\MessageBreak
+            kind of two arguments gobbling,\MessageBreak
+            e.g., \string\@gobbletwo.\MessageBreak
+            So I don't known, what to do\MessageBreak
+            with \string\@mkleft.\MessageBreak
+            Nevertheless, \string\markleft\space will be\MessageBreak
+            used%
+          }%
+          \aftergroup\markleft
+        \fi
+      \fi
+    \fi
+  \endgroup
+}%
+\providecommand*{\@mkright}{%
+  \begingroup
+    \ifx\@mkboth\markboth \aftergroup\markright
+    \else
+      \ifx\@mkboth\@gobbletwo \aftergroup\@gobble
+      \else \def\@gobbletwo##1##2{}%
+        \ifx \@mkboth\@gobbletwo \aftergroup\@gobble
+        \else
+          \ClassWarning{\KOMAClassName}{%
+            package incompatibility detected!\MessageBreak
+            \string\@mkboth it neither \string\markboth nor any\MessageBreak
+            kind of two arguments gobbling,\MessageBreak
+            e.g., \string\@gobbletwo.\MessageBreak
+            So I don't known, what to do\MessageBreak
+            with \string\@mkright.\MessageBreak
+            Nevertheless, \string\markright\space will be\MessageBreak
+            used%
+          }%
+          \aftergroup\markright
+        \fi
+      \fi
+    \fi
+  \endgroup
+}%
+\providecommand*{\@mkdouble}[1]{%
+  \@mkboth{#1}{#1}%
+}
+%%% From File: $Id: scrkernel-floats.dtx 2701 2017-11-15 14:02:01Z kohm $
 %%%            (run: body)
 \newcommand\marginline[1]{%
   \marginpar[\raggedleft{#1}]{\raggedright #1}%
@@ -5754,6 +5947,22 @@
       \hb@xt@\hsize{%
         \cap@left
         \vbox{\hsize\cap@width\linewidth\hsize
+          \scr@ifundefinedorrelax{@captype}{%
+            \ClassWarning{\KOMAClassName}{%
+              `\string\caption' outside float.\MessageBreak
+              Seems you are using `\string\caption' outside a
+              float.\MessageBreak
+              Maybe you are using a package that uses
+              `\string\@makecaption'\MessageBreak
+              without setting `\string\@captype' before.\MessageBreak
+              Because I cannot detect the caption type, I'm using\MessageBreak
+              the empty one.%
+            }%
+            \let\@captype\@empty
+          }{}%
+          \scr@ifundefinedorrelax{ragged\@captype caption}{\raggedcaption}{%
+            \@nameuse{ragged\@captype caption}%
+          }%
           \ifdofullc@p
             \@hangfrom{%
               \strut
@@ -5765,7 +5974,7 @@
                 }%
               }%
             }%
-            {\usekomafont{caption}{#3\unskip\strut\par}}%
+            {\usekomafont{caption}{#3\scr@endstrut\par}}%
           \else
             \ifdim\cap@indent<\z@
               \strut
@@ -5775,7 +5984,7 @@
                 }%
               }%
               \noindent{\usekomafont{caption}{%
-                  \hspace*{-\cap@indent}#3\unskip\strut\par
+                  \hspace*{-\cap@indent}#3\scr@endstrut\par
               }}%
             \else
               \if@capbreak
@@ -5786,7 +5995,7 @@
                   }%
                 }%
                 \noindent\@hangfrom{\hspace*{\cap@indent}}%
-                {\usekomafont{caption}{#3\unskip\strut\par}}%
+                {\usekomafont{caption}{#3\scr@endstrut\par}}%
               \else
                 \@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}%
                 {%
@@ -5794,7 +6003,7 @@
                   \scr@smashdp{%
                     #1{\usekomafont{captionlabel}{#2\captionformat}}%
                   }%
-                  {\usekomafont{caption}{#3\unskip\strut}\par}%
+                  {\usekomafont{caption}{#3\scr@endstrut}\par}%
                 }%
               \fi
             \fi
@@ -5805,6 +6014,127 @@
     }%
   }\kern-\dp\strutbox
 }
+\newcommand*\setcaptionalignment{%
+  \kernel@ifnextchar [%]
+    {\@setcaptionalignment}
+    {%
+      \scr@ifundefinedorrelax{@captype}{\@setcaptionalignment}{%
+        \edef\reserved@a{\noexpand\@setcaptionalignment[{\@captype}]}\reserved@a
+      }%
+    }%
+}%
+\newcommand*\@setcaptionalignment[2][]{%
+  \IfArgIsEmpty{#1}{}{%
+    \expandafter\ifnum
+    \scr@ifundefinedorrelax{#1}{0}{\scr@ifundefinedorrelax{end#1}{0}{1}}=0
+      \ClassWarning{\KOMAClassName}{%
+        float type `#1' defined not yet,\MessageBreak
+        but setting ragged mode for captions of\MessageBreak
+        float type `#1'%
+      }%
+    \fi
+  }%
+  \def\reserved@a{#2}%
+  \ifstr{\reserved@a}{j}{%
+    \expandafter\let\csname ragged#1caption\endcsname\@empty
+  }{%
+    \ifstr{\reserved@a}{l}{%
+      \scr@ifundefinedorrelax{LaTeXraggedright}{%
+        \expandafter\let\csname ragged#1caption\endcsname\raggedright
+      }{%
+        \expandafter\let\csname ragged#1caption\endcsname\LaTeXraggedright
+      }%
+    }{%
+      \ifstr{\reserved@a}{r}{%
+        \scr@ifundefinedorrelax{LaTeXraggedleft}{%
+          \expandafter\let\csname ragged#1caption\endcsname\raggedleft
+        }{%
+          \expandafter\let\csname ragged#1caption\endcsname\LaTeXraggedleft
+        }%
+      }{%
+        \ifstr{\reserved@a}{c}{%
+          \scr@ifundefinedorrelax{LaTeXcentering}{%
+            \expandafter\let\csname ragged#1caption\endcsname\centering
+          }{%
+            \expandafter\let\csname ragged#1caption\endcsname\LaTeXcentering
+          }%
+        }{%
+          \ifstr{\reserved@a}{J}{%
+            \scr@ifundefinedorrelax{justifying}{%
+              \scr@caption@raggede@warning{J}{\justifying}%
+              \expandafter\let\csname ragged#1caption\endcsname\@empty
+            }{%
+              \expandafter\let\csname ragged#1caption\endcsname\justifying
+            }%
+          }{%
+            \ifstr{\reserved@a}{L}{%
+              \scr@ifundefinedorrelax{RaggedRight}{%
+                \scr@caption@raggede@warning{L}{\RaggedRight}%
+                \expandafter\let\csname ragged#1caption\endcsname\raggedright
+              }{%
+                \expandafter\let\csname ragged#1caption\endcsname\RaggedRight
+              }%
+            }{%
+              \ifstr{\reserved@a}{R}{%
+                \scr@ifundefinedorrelax{RaggedLeft}{%
+                  \scr@caption@raggede@warning{R}{\RaggedLeft}%
+                  \expandafter\let\csname ragged#1caption\endcsname\raggedleft
+                }{%
+                  \expandafter\let\csname ragged#1caption\endcsname\RaggedLeft
+                }%
+              }{%
+                \ifstr{\reserved@a}{C}{%
+                  \scr@ifundefinedorrelax{Centering}{%
+                    \scr@caption@raggede@warning{C}{\Centering}%
+                    \expandafter\let\csname ragged#1caption\endcsname\centering
+                  }{%
+                    \expandafter\let\csname ragged#1caption\endcsname\Centering
+                  }%
+                }{%
+                  \ifstr{\reserved@a}{}{%
+                    \expandafter\let\csname ragged#1caption\endcsname\relax
+                  }{%
+                    \ClassError{\KOMAClassName}{unknown alignment char `#2'}{%
+                      \string\setcaptionalignment\space supports
+                      only:\MessageBreak
+                      \space\space c - centered captions,\MessageBreak
+                      \space\space j - justified captions,\MessageBreak
+                      \space\space l - left align captions,\MessageBreak
+                      \space\space r - right aligned captions,\MessageBreak
+                      \space\space C - centered captions with
+                      `ragged2e',\MessageBreak
+                      \space\space J - justified captions with
+                      `ragged2e',\MessageBreak
+                      \space\space L - left align captions with
+                      `ragged2e',\MessageBreak
+                      \space\space R - right aligned captions with
+                      `ragged2e',\MessageBreak
+                      or an empty argument to remove special
+                      alignment.\MessageBreak
+                      If you'd continue, I'd not change the alignment.%
+                    }%
+                  }%
+                }%
+              }%
+            }%
+          }%
+        }%
+      }%
+    }%
+  }%
+}
+\newcommand*{\scr@caption@raggede@warning}[2]{%
+  \begingroup
+    \lowercase{\def\reserved@a{#1}}%
+    \ClassWarning{\KOMAClassName}{%
+      `\string#2' undefined!\MessageBreak
+      To avoid replacing caption alignment `#1' by `\reserved@a'\MessageBreak
+      you should load package `ragged2e' before using\MessageBreak
+      `\string\setcaptionalignment'%
+    }%
+  \endgroup
+}
+\newcommand*\raggedcaption{}
 \newcommand*{\scr@caption@before@longtable@warning}[1]{%
   \ClassWarning{\KOMAClassName}{%
     you've loaded package `#1' before package\MessageBreak
@@ -5833,6 +6163,7 @@
       }%
       \LT@mcol\LT@cols c{%
         \hbox to\z@{\hss\parbox[t]\linewidth{%
+            \def\@captype{table}%
             \@@makecaption{#1}{#2}{#3}%
             \endgraf
             \if@captionabove
@@ -5905,42 +6236,40 @@
 }
 \newcommand*\figurename{Figure}
 \newcommand*\tablename{Table}
-\newcounter{figure}[chapter]
+\DeclareNewTOC[%
+  type=figure,
+  float,
+  counterwithin=chapter,
+  floatpos=tbp,
+  floattype=1,
+  tocentryindent=1.5em,
+  tocentrynumwidth=2.3em,
+  atbegin=\def\caption{%
+    \if@figurecaptionabove\expandafter\captionabove
+    \else\expandafter\captionbelow\fi
+  }
+]{lof}
 \renewcommand*\thefigure{%
   \expandafter\ifnum\scr@v@is@gt{2.97d}\relax
     \if@mainmatter\thechapter.\fi
   \else
-  \thechapter.%
+    \thechapter.%
   \fi
   \@arabic\c@figure
 }
-\newcommand*{\figureformat}{%
-  \figurename~\thefigure%
-  \autodot%
-}
-\newcommand*{\fps@figure}{tbp}
-\newcommand*{\ftype@figure}{1}
-\newcommand*{\ext@figure}{lof}
-\newcommand*{\fnum@figure}{\figureformat}
-\newenvironment{figure}{%
-  \def\caption{%
-    \if@figurecaptionabove\expandafter\captionabove
-    \else\expandafter\captionbelow\fi
-  }%
-  \@float{figure}%
-}{%
-  \end@float
-}
-\newenvironment{figure*}{%
-  \def\caption{%
-    \if@figurecaptionabove\expandafter\captionabove
+\DeclareNewTOC[%
+  type=table,
+  float,
+  counterwithin=chapter,
+  floatpos=tbp,
+  floattype=2,
+  tocentryindent=1.5em,
+  tocentrynumwidth=2.3em,
+  atbegin=\def\caption{%
+    \if@tablecaptionabove\expandafter\captionabove
     \else\expandafter\captionbelow\fi
-  }%
-  \@dblfloat{figure}%
-}{%
-  \end@dblfloat
-}
-\newcounter{table}[chapter]
+  }
+]{lot}
 \renewcommand*\thetable{%
   \expandafter\ifnum\scr@v@is@gt{2.97d}\relax
     \if@mainmatter\thechapter.\fi
@@ -5949,32 +6278,6 @@
   \fi
   \@arabic\c@table
 }
-\newcommand*{\tableformat}{%
-  \tablename~\thetable%
-  \autodot%
-}
-\newcommand*{\fps@table}{tbp}
-\newcommand*{\ftype@table}{2}
-\newcommand*{\ext@table}{lot}
-\newcommand*{\fnum@table}{\tableformat}
-\newenvironment{table}{%
-  \def\caption{%
-    \if@tablecaptionabove\expandafter\captionabove
-    \else\expandafter\captionbelow\fi
-  }%
-  \@float{table}%
-}{%
-  \end@float
-}
-\newenvironment{table*}{%
-  \def\caption{%
-    \if@tablecaptionabove\expandafter\captionabove
-    \else\expandafter\captionbelow\fi
-  }%
-  \@dblfloat{table}%
-}{%
-  \end@dblfloat
-}
 %%% From File: $Id: scrkernel-footnotes.dtx 2640 2017-05-08 09:36:55Z kohm $
 %%%            (run: body)
 \renewcommand*\footnoterule{%
@@ -6134,7 +6437,7 @@
   \endgroup
   \@footnotemark
 }
-%%% From File: $Id: scrkernel-listsof.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-listsof.dtx 2864 2018-01-16 07:55:20Z kohm $
 %%%            (run: body)
 \g@addto@macro{\numberline@numberpostfix}{\autodot}
 \usetocbasicnumberline[%
@@ -6182,13 +6485,11 @@
     \def\do@endgroup{\endgroup}%
     \def\do##1{%
       \scr@ifundefinedorrelax{scr@tso@##1@numwidth}{}{%
-        \typeout{Setting numwidth of `##1' to \last@l@number}%
         \l@addto@macro\do@endgroup{%
           \@namedef{scr@tso@##1@numwidth}{\last@l@number}%
         }%
       }%
       \scr@ifundefinedorrelax{scr@tso@##1@indent}{}{%
-        \typeout{Setting indent of `##1' to \string\z@}%
         \l@addto@macro\do@endgroup{%
           \@namedef{scr@tso@##1@indent}{\z@}%
         }%
@@ -6277,17 +6578,13 @@
   }%
   \global\let\scr@float@addtolists@warning\relax
 }
-\newcommand*\listfigurename{List of Figures}
-\newcommand*\listoflofname{\listfigurename}
-\newcommand*\listoflofentryname{\figurename}
-\newcommand*\listtablename{List of Tables}
-\newcommand*\listoflotname{\listtablename}
-\newcommand*\listoflotentryname{\tablename}
-\newcommand*\listoffigures{\listoftoc{\ext@figure}}
-\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
-\newcommand*\listoftables{\listoftoc{\ext@table}}
-\let\l@table\l@figure
-%%% From File: $Id: scrkernel-bibliography.dtx 2640 2017-05-08 09:36:55Z kohm $
+\renewcommand*\listfigurename{List of Figures}
+\renewcommand*\listoflofname{\listfigurename}
+\renewcommand*\listoflofentryname{\figurename}
+\renewcommand*\listtablename{List of Tables}
+\renewcommand*\listoflotname{\listtablename}
+\renewcommand*\listoflotentryname{\tablename}
+%%% From File: $Id: scrkernel-bibliography.dtx 2769 2017-12-03 10:56:06Z kohm $
 %%%            (run: body)
 \newcommand*\bibname{Bibliography}
 \newcommand*{\bibpreamble}{\relax}
@@ -6373,7 +6670,7 @@
 }
 \newcommand{\AfterBibliographyPreamble}{\g@addto@macro\bib@before@hook}
 \newcommand{\AtEndBibliography}{\g@addto@macro\bib@after@hook}
-%%% From File: $Id: scrkernel-index.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-index.dtx 2782 2017-12-04 07:47:52Z kohm $
 %%%            (run: body)
 \newcommand*{\index@preamble}{}
 \let\index@preamble=\relax
@@ -6384,17 +6681,9 @@
     \@chaptertolistsfalse
                   \idx@@heading{\indexname}]%
   \ifidx@leveldown
-    \scr@ifundefinedorrelax{@mkright}{%
-      \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\indexname}}\fi
-    }{%
-      \@mkright{\MakeMarkcase{\indexname}}%
-    }%
+    \@mkright{\MakeMarkcase{\indexname}}%
   \else
-    \scr@ifundefinedorrelax{@mkdouble}{%
-      \@mkboth{\MakeMarkcase{\indexname}}{\MakeMarkcase{\indexname}}%
-    }{%
-      \@mkdouble{\MakeMarkcase{\indexname}}%
-    }%
+    \@mkdouble{\MakeMarkcase{\indexname}}%
   \fi
 }
 \newenvironment{theindex}{%
-- 
cgit v1.2.3

