diff --git a/CHANGELOG.md b/CHANGELOG.md index a551b7cfb58961f63008cb9dfa02533d367f4a27..46c1c568f6f1ceb27e46909d58fb10ae36317645 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,22 @@ All notable changes to this project will be documented in this file. +## [3.1] + +### Fixed + +- implement the `abstract` enviroment to behave as pre v3 +- removed debug print from `latexmk` inkscape recipy + +### Added + +- option `abstract` + - `abstract=keywords|nokeywords` to enable/disable the display of keywords after the abstract + - `abstract=totoc|notoc` to add the abstract to the TOC +- extenx KOMA option `toc` + - `toc=totoc|notoc` to add toc to itself + - `toc=abstrct|noabstract` as alias for `abstract=totoc` and `abstract=notoc` + ## [3.0] ### Breaking diff --git a/src/HsH-Logo.pdf b/src/HsH-Logo.pdf index 12046a7555a518c276fea0fadeecaf45af8f2a18..cf3b12a738500c8381155a8aa18c3a341472c6de 100644 --- a/src/HsH-Logo.pdf +++ b/src/HsH-Logo.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a1c240f43ff581587a7ffc676b7ab7026855e2882259278ee766edb4a49317fa -size 28164 +oid sha256:76197994ebca0e82c4fb4be663c9df2123c74d05991ca492fbfd44d8c0568a95 +size 25798 diff --git a/src/HsH-article.cls b/src/HsH-article.cls index 5cc8ff416955666157946208a82cdb230d0c7368..59d25ab4ae36e9afc76fd5de01cf00c20009133b 100644 --- a/src/HsH-article.cls +++ b/src/HsH-article.cls @@ -17,7 +17,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesClass{HsH-article} - [2024-04-25 3.01 HsH-class based on KOMA] + [2024-04-26 3.01 HsH-class based on KOMA] \let\HsHClassName\@currname \def\HsHClassName@ParrentClass{% scrartcl% @@ -35,56 +35,56 @@ } \DefineFamilyKey{HsH}{fontfamily}{ \begingroup - \FamilySetNumerical{HsH}{parskip}{@tmp}{% - {sans}{0}, {sans-serif}{0},% - {roman}{1}, {serif}{1},% - }{#1} - \ifx\FamilyKeyState\FamilyKeyStateProcessed - \aftergroup\FamilyKeyStateProcessed - \ifcase\@tmp% 0 - \endgroup - \renewcommand{\familydefault}{\sfdefault} - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 1 - \endgroup - \renewcommand{\familydefault}{\rmdefault} - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \else% should never be - \endgroup - \fi - \else + \FamilySetNumerical{HsH}{parskip}{@tmp}{% + {sans}{0}, {sans-serif}{0},% + {roman}{1}, {serif}{1},% + }{#1} + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\@tmp% 0 + \endgroup + \renewcommand{\familydefault}{\sfdefault} + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 1 + \endgroup + \renewcommand{\familydefault}{\rmdefault} + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \else% should never be \endgroup - \FamilyKeyStateUnknownValue \fi + \else + \endgroup + \FamilyKeyStateUnknownValue + \fi } \HsH@Options@DeclareAlias{sans}{fontfamily=sans} \HsH@Options@DeclareAlias{roman}{fontfamily=roman} \DefineFamilyKey{HsH}{linespacing}{ \begingroup - \FamilySetNumerical{HsH}{linespacing}{@tempa}{% - {single}{0},% - {onehalf}{1},% - {double}{2},% - }{#1} - \ifx\FamilyKeyState\FamilyKeyStateProcessed - \aftergroup\FamilyKeyStateProcessed - \ifcase\@tempa% 0 - \endgroup - \if@atdocument\singlespacing\else\AtEndOfClass{\singlespacing}\fi - \or% 1 - \endgroup - \if@atdocument\onehalfspacing\else\AtEndOfClass{\onehalfspacing\AfterTOCHead{\singlespacing}}\fi - \or% 2 - \endgroup - \if@atdocument\doublespacing\else\AtEndOfClass{\doublespacing\AfterTOCHead{\singlespacing}}\fi + \FamilySetNumerical{HsH}{linespacing}{@tempa}{% + {single}{0},% + {onehalf}{1},% + {double}{2},% + }{#1} + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\@tempa% 0 + \endgroup + \if@atdocument\singlespacing\else\AtEndOfClass{\singlespacing}\fi + \or% 1 + \endgroup + \if@atdocument\onehalfspacing\else\AtEndOfClass{\onehalfspacing\AfterTOCHead{\singlespacing}}\fi + \or% 2 + \endgroup + \if@atdocument\doublespacing\else\AtEndOfClass{\doublespacing\AfterTOCHead{\singlespacing}}\fi - \else% should never be - \endgroup - \fi - \else + \else% should never be \endgroup - \FamilyKeyStateUnknownValue \fi + \else + \endgroup + \FamilyKeyStateUnknownValue + \fi } \HsH@Options@DeclareAlias{singlespacing}{linespacing=single} \HsH@Options@DeclareAlias{onehalfspacing}{linespacing=onehalf} @@ -122,6 +122,68 @@ \AtEndOfClass{% \headheight=\HsH@opt@headheight% } +\newif\if@HsH@option@abstract@show@keywords +\def\HsH@abstract@chap{\addchap*} +\DefineFamilyKey{HsH}{abstract}{% + \begingroup + \FamilySetNumerical{HsH}{abstract}{@tempa}{% + {keywords}{0},% + {nokeywords}{1},% + {totoc}{2},{toc}{2},% + {notoc}{3},{nottotoc}{3},% + }{#1} + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\@tempa% 0 + \endgroup + \@HsH@option@abstract@show@keywordstrue + \or% 1 + \endgroup + \@HsH@option@abstract@show@keywordsfalse + \or% 2 + \endgroup + \def\HsH@abstract@chap{\addchap} + \or% 3 + \endgroup + \def\HsH@abstract@chap{\addchap*} + \else% should never be + \endgroup + \fi + \else + \endgroup + \fi +} +\DefineFamilyKey{HsH}{toc}{% + \begingroup + \FamilySetNumerical{HsH}{toc}{@tempa}{% + {totoc}{0},{toc}{0},% + {notoc}{1},{nottotoc}{1},% + {abstract}{2},% + {noabstract}{3},% + }{#1} + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\@tempa% 0 + \endgroup + \AtEndOfClass{\setuptoc{toc}{totoc}} + \or% 1 + \endgroup + \AtEndOfClass{\unsettoc{toc}{totoc}} + \or% 2 + \endgroup + \FamilyExecuteOptions{HsH}{abstract=totoc} + \or% 3 + \endgroup + \FamilyExecuteOptions{HsH}{abstract=nottotoc} + \else% should never be + \endgroup + \fi + \else + \endgroup + \HsH@Options@PassToParrent{toc=#1} + \FamilyKeyStateProcessed + \fi +} \DefineFamilyKey{HsH}{twoside}[semi]{% \HsH@Options@PassToParrent{twoside=#1,BCOR=1cm} \FamilyKeyStateProcessed @@ -162,6 +224,7 @@ headheight=2.15\baselineskip, toc=listof, toc=bibliography, + abstract=keywords, faculty=none, } \FamilyProcessOptions{HsH}\relax @@ -361,6 +424,20 @@ \renewcommand{\labelitemii}{\raisebox{.3ex}{\scalebox{0.7}{$\circ$}}} \renewcommand{\labelitemiii}{\raisebox{.1ex}{-}} \renewcommand{\labelitemiv}{\raisebox{-.1ex}{\scalebox{1.3}{$\cdot$}}} +\defcaptionname{german,ngerman}\abstractname{Abstract} +\newcaptionname{english}\keywordsname{Keywords} +\newcaptionname{german,ngerman}\keywordsname{Schl{\"u}sselw{\"o}rter} +\renewenvironment{abstract}{ + \quotation + \setparsizes{\z@}{\z@}{.25\linewidth \@plus 1fil}\selectfont + \HsH@abstract@chap{\abstractname} +}{% + \ifx\@keywords\@empty\else\if@HsH@option@abstract@show@keywords + \par\bigskip + \noindent\textbf{\keywordsname}\hskip 2em\@keywords + \fi\fi\par + \endquotation +} \upsubscripts \raggedbottom \let\layercontentsmeasure\relax @@ -412,6 +489,7 @@ \newtoks\@tabtoks \newcommand\addtabtoks[1]{\global\@tabtoks\expandafter{\the\@tabtoks#1}} \newcommand\eaddtabtoks[1]{\edef\mytmp{#1}\expandafter\addtabtoks\expandafter{\mytmp}} +%%%\newcommand*\resettabtoks{\global\@tabtoks{}} \newcommand*\printtabtoks{\the\@tabtoks} \addtokomafont{publishers}{\normalsize} \g@addto@macro\titlepage{\singlespacing} @@ -550,7 +628,7 @@ \global\let\@lowertitleback\@empty \global\let\@dedication\@empty \global\let\@matrikelnr\@empty - \global\let\@prof\@empty + \global\let\@professor\@empty \global\let\author\relax \global\let\title\relax \global\let\extratitle\relax diff --git a/src/HsH-classes.pdf b/src/HsH-classes.pdf index 75ded2196757f003af530305ce098d5d73fe5e6d..d8658378e80ede5cd72ede4124c8a027071c9848 100644 --- a/src/HsH-classes.pdf +++ b/src/HsH-classes.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:10678dab154a21f3860fa8bd17a665feea659bd433c86b1aac3e19aff2ed34d5 -size 313112 +oid sha256:f8ded54f026e76b9a601a3e11c36b02ade14144ceba8415fe2bcaa6494fcd2d7 +size 315327 diff --git a/src/HsH-report.cls b/src/HsH-report.cls index d2fbeded0b30158a7f352e19896835a817577cf2..9582d332d5446bf6a717480b7c1e82d5e175e757 100644 --- a/src/HsH-report.cls +++ b/src/HsH-report.cls @@ -17,7 +17,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesClass{HsH-report} - [2024-04-25 3.01 HsH-class based on KOMA] + [2024-04-26 3.01 HsH-class based on KOMA] \let\HsHClassName\@currname \def\HsHClassName@ParrentClass{% scrreprt% @@ -35,56 +35,56 @@ } \DefineFamilyKey{HsH}{fontfamily}{ \begingroup - \FamilySetNumerical{HsH}{parskip}{@tmp}{% - {sans}{0}, {sans-serif}{0},% - {roman}{1}, {serif}{1},% - }{#1} - \ifx\FamilyKeyState\FamilyKeyStateProcessed - \aftergroup\FamilyKeyStateProcessed - \ifcase\@tmp% 0 - \endgroup - \renewcommand{\familydefault}{\sfdefault} - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 1 - \endgroup - \renewcommand{\familydefault}{\rmdefault} - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \else% should never be - \endgroup - \fi - \else + \FamilySetNumerical{HsH}{parskip}{@tmp}{% + {sans}{0}, {sans-serif}{0},% + {roman}{1}, {serif}{1},% + }{#1} + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\@tmp% 0 + \endgroup + \renewcommand{\familydefault}{\sfdefault} + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 1 + \endgroup + \renewcommand{\familydefault}{\rmdefault} + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \else% should never be \endgroup - \FamilyKeyStateUnknownValue \fi + \else + \endgroup + \FamilyKeyStateUnknownValue + \fi } \HsH@Options@DeclareAlias{sans}{fontfamily=sans} \HsH@Options@DeclareAlias{roman}{fontfamily=roman} \DefineFamilyKey{HsH}{linespacing}{ \begingroup - \FamilySetNumerical{HsH}{linespacing}{@tempa}{% - {single}{0},% - {onehalf}{1},% - {double}{2},% - }{#1} - \ifx\FamilyKeyState\FamilyKeyStateProcessed - \aftergroup\FamilyKeyStateProcessed - \ifcase\@tempa% 0 - \endgroup - \if@atdocument\singlespacing\else\AtEndOfClass{\singlespacing}\fi - \or% 1 - \endgroup - \if@atdocument\onehalfspacing\else\AtEndOfClass{\onehalfspacing\AfterTOCHead{\singlespacing}}\fi - \or% 2 - \endgroup - \if@atdocument\doublespacing\else\AtEndOfClass{\doublespacing\AfterTOCHead{\singlespacing}}\fi + \FamilySetNumerical{HsH}{linespacing}{@tempa}{% + {single}{0},% + {onehalf}{1},% + {double}{2},% + }{#1} + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\@tempa% 0 + \endgroup + \if@atdocument\singlespacing\else\AtEndOfClass{\singlespacing}\fi + \or% 1 + \endgroup + \if@atdocument\onehalfspacing\else\AtEndOfClass{\onehalfspacing\AfterTOCHead{\singlespacing}}\fi + \or% 2 + \endgroup + \if@atdocument\doublespacing\else\AtEndOfClass{\doublespacing\AfterTOCHead{\singlespacing}}\fi - \else% should never be - \endgroup - \fi - \else + \else% should never be \endgroup - \FamilyKeyStateUnknownValue \fi + \else + \endgroup + \FamilyKeyStateUnknownValue + \fi } \HsH@Options@DeclareAlias{singlespacing}{linespacing=single} \HsH@Options@DeclareAlias{onehalfspacing}{linespacing=onehalf} @@ -122,6 +122,68 @@ \AtEndOfClass{% \headheight=\HsH@opt@headheight% } +\newif\if@HsH@option@abstract@show@keywords +\def\HsH@abstract@chap{\addchap*} +\DefineFamilyKey{HsH}{abstract}{% + \begingroup + \FamilySetNumerical{HsH}{abstract}{@tempa}{% + {keywords}{0},% + {nokeywords}{1},% + {totoc}{2},{toc}{2},% + {notoc}{3},{nottotoc}{3},% + }{#1} + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\@tempa% 0 + \endgroup + \@HsH@option@abstract@show@keywordstrue + \or% 1 + \endgroup + \@HsH@option@abstract@show@keywordsfalse + \or% 2 + \endgroup + \def\HsH@abstract@chap{\addchap} + \or% 3 + \endgroup + \def\HsH@abstract@chap{\addchap*} + \else% should never be + \endgroup + \fi + \else + \endgroup + \fi +} +\DefineFamilyKey{HsH}{toc}{% + \begingroup + \FamilySetNumerical{HsH}{toc}{@tempa}{% + {totoc}{0},{toc}{0},% + {notoc}{1},{nottotoc}{1},% + {abstract}{2},% + {noabstract}{3},% + }{#1} + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\@tempa% 0 + \endgroup + \AtEndOfClass{\setuptoc{toc}{totoc}} + \or% 1 + \endgroup + \AtEndOfClass{\unsettoc{toc}{totoc}} + \or% 2 + \endgroup + \FamilyExecuteOptions{HsH}{abstract=totoc} + \or% 3 + \endgroup + \FamilyExecuteOptions{HsH}{abstract=nottotoc} + \else% should never be + \endgroup + \fi + \else + \endgroup + \HsH@Options@PassToParrent{toc=#1} + \FamilyKeyStateProcessed + \fi +} \DefineFamilyKey{HsH}{twoside}[semi]{% \HsH@Options@PassToParrent{twoside=#1,BCOR=1cm} \FamilyKeyStateProcessed @@ -162,6 +224,7 @@ headheight=2.15\baselineskip, toc=listof, toc=bibliography, + abstract=keywords, faculty=none, } \FamilyProcessOptions{HsH}\relax @@ -374,6 +437,20 @@ \renewcommand{\labelitemii}{\raisebox{.3ex}{\scalebox{0.7}{$\circ$}}} \renewcommand{\labelitemiii}{\raisebox{.1ex}{-}} \renewcommand{\labelitemiv}{\raisebox{-.1ex}{\scalebox{1.3}{$\cdot$}}} +\defcaptionname{german,ngerman}\abstractname{Abstract} +\newcaptionname{english}\keywordsname{Keywords} +\newcaptionname{german,ngerman}\keywordsname{Schl{\"u}sselw{\"o}rter} +\renewenvironment{abstract}{ + \quotation + \setparsizes{\z@}{\z@}{.25\linewidth \@plus 1fil}\selectfont + \HsH@abstract@chap{\abstractname} +}{% + \ifx\@keywords\@empty\else\if@HsH@option@abstract@show@keywords + \par\bigskip + \noindent\textbf{\keywordsname}\hskip 2em\@keywords + \fi\fi\par + \endquotation +} \upsubscripts \raggedbottom \let\layercontentsmeasure\relax @@ -426,6 +503,7 @@ \newtoks\@tabtoks \newcommand\addtabtoks[1]{\global\@tabtoks\expandafter{\the\@tabtoks#1}} \newcommand\eaddtabtoks[1]{\edef\mytmp{#1}\expandafter\addtabtoks\expandafter{\mytmp}} +%%%\newcommand*\resettabtoks{\global\@tabtoks{}} \newcommand*\printtabtoks{\the\@tabtoks} \addtokomafont{publishers}{\normalsize} \g@addto@macro\titlepage{\singlespacing} @@ -620,7 +698,7 @@ \global\let\@lowertitleback\@empty \global\let\@dedication\@empty \global\let\@matrikelnr\@empty - \global\let\@prof\@empty + \global\let\@professor\@empty \global\let\author\relax \global\let\title\relax \global\let\extratitle\relax diff --git a/src/HsH-standalone.cls b/src/HsH-standalone.cls index 010528b228b3169c8d88e9d313e22216b4bf3472..f23662b6d82fa2aa57bcaf9b5ec2f0f2eaf4bcfd 100644 --- a/src/HsH-standalone.cls +++ b/src/HsH-standalone.cls @@ -17,7 +17,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesClass{HsH-standalone} - [2024-04-25 3.01 HsH-class based on KOMA] + [2024-04-26 3.01 HsH-class based on KOMA] \let\HsHClassName\@currname \def\HsHClassName@ParrentClass{% standalone% @@ -35,27 +35,27 @@ } \DefineFamilyKey{HsH}{fontfamily}{ \begingroup - \FamilySetNumerical{HsH}{parskip}{@tmp}{% - {sans}{0}, {sans-serif}{0},% - {roman}{1}, {serif}{1},% - }{#1} - \ifx\FamilyKeyState\FamilyKeyStateProcessed - \aftergroup\FamilyKeyStateProcessed - \ifcase\@tmp% 0 - \endgroup - \renewcommand{\familydefault}{\sfdefault} - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 1 - \endgroup - \renewcommand{\familydefault}{\rmdefault} - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \else% should never be - \endgroup - \fi - \else + \FamilySetNumerical{HsH}{parskip}{@tmp}{% + {sans}{0}, {sans-serif}{0},% + {roman}{1}, {serif}{1},% + }{#1} + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\@tmp% 0 + \endgroup + \renewcommand{\familydefault}{\sfdefault} + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 1 + \endgroup + \renewcommand{\familydefault}{\rmdefault} + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \else% should never be \endgroup - \FamilyKeyStateUnknownValue \fi + \else + \endgroup + \FamilyKeyStateUnknownValue + \fi } \HsH@Options@DeclareAlias{sans}{fontfamily=sans} \HsH@Options@DeclareAlias{roman}{fontfamily=roman} @@ -240,6 +240,20 @@ \renewcommand{\labelitemii}{\raisebox{.3ex}{\scalebox{0.7}{$\circ$}}} \renewcommand{\labelitemiii}{\raisebox{.1ex}{-}} \renewcommand{\labelitemiv}{\raisebox{-.1ex}{\scalebox{1.3}{$\cdot$}}} +\defcaptionname{german,ngerman}\abstractname{Abstract} +\newcaptionname{english}\keywordsname{Keywords} +\newcaptionname{german,ngerman}\keywordsname{Schl{\"u}sselw{\"o}rter} +\renewenvironment{abstract}{ + \quotation + \setparsizes{\z@}{\z@}{.25\linewidth \@plus 1fil}\selectfont + \HsH@abstract@chap{\abstractname} +}{% + \ifx\@keywords\@empty\else\if@HsH@option@abstract@show@keywords + \par\bigskip + \noindent\textbf{\keywordsname}\hskip 2em\@keywords + \fi\fi\par + \endquotation +} \upsubscripts \raggedbottom \let\layercontentsmeasure\relax