diff --git a/.gitignore b/.gitignore index d735530af29ac5534206db7ae8704efa0fe6ddf7..ef6694446623963732d99eb5eb2984e935bf4b22 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ *.synctex.gz *.synctex(busy) *.log + +/*.pdf diff --git a/.latexmkrc b/.latexmkrc index cc2ce15725cc94ec56c970fe0de24c29217c5c4f..80ea8380a642130583f4b76bba137ecebcc1e2aa 100644 --- a/.latexmkrc +++ b/.latexmkrc @@ -6,14 +6,14 @@ $aux_dir = '.aux/'; # use and auxilary folder for temp files $pdf_mode = 1; # use pdflatex $bibtex_use = 2; # use biber -push @generated_exts, "run.xml"; # biber creates this file +push @std_small_cleanup_files, "run.xml"; # biber creates this file push @generated_exts, "lol"; # the listings package creates this file # put the ./src subfolder on searchpath ensure_path( 'TEXINPUTS', './src//' ); # enable synctex -set_tex_cmds( '-synctex=1 -interaction=nonstopmode %O %S' ); +push @extra_pdflatex_options, '-synctex=1'; # create glossaries: add_cus_dep( 'acn', 'acr', 0, 'makeglossaries' ); @@ -25,14 +25,13 @@ sub makeglossaries { my ($base_name, $path) = fileparse( $_[0] ); my @args = ( "-q", "-d", $path, $base_name ); if ($silent) { unshift @args, "-q"; } - return system "makeglossaries", "-d", $path, $base_name; + return system "makeglossaries", @args; } # simple svg dependencies via InkScape add_cus_dep( 'svg', 'pdf', 0, 'runInkscape' ); sub runInkscape { my @args = ( "$_[0].svg", "--export-area-page", "--export-filename", "$_[0].pdf" ); - print @args; return system "inkscape", @args; } 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/README.md b/README.md index 3d1f37505b8c008a79a0f6d01d038b78304be8ee..6a8449213313d9b2b41a4b183b8323ad53364ecd 100644 --- a/README.md +++ b/README.md @@ -26,14 +26,14 @@ different classes: <dl> <dt><code>HsH-article</code></dt> <dd> - Based on the `scrartcl` this class is designed for quick and compact documents. It does + Based on the <code>scrartcl</code> this class is designed for quick and compact documents. It does not have chapters and therefore never breaks to a new page on its own. This class is useful for writing lab-protocols and alike. </dd> <dt><code>HsH-report</code></dt> <dd> - This is probably the most useful class. It is based on the `scrreprt` and can be used + This is probably the most useful class. It is based on the <code>scrreprt</code> and can be used for a wide variety of documents, beginning with lab-reports and ending at complete thesis. The line between article and report is somewhat blurry, so use as you see fit. </dd> @@ -50,7 +50,7 @@ different classes: <dt><code>HsH-standalone</code></dt> <dd> - A helper class based on the normal `standalone` class. It is designed only for creating + A helper class based on the normal <code>standalone</code> class. It is designed only for creating images as separate documents to keep things organized and compiler times low. It is useful for creating graphs, circuit diagrams or other kind of complex sub documents. </dd> @@ -102,17 +102,11 @@ your system. > platform ```shell -# create project folder -mkdir [Project] -cd [Project] -# set up local git repo with template -git init -b [Project] -git lfs install -git remote add upstream https://lab.it.hs-hannover.de/qxx-tul-u1/latex-template-hsh.git -git fetch upstream -git pull upstream master +# set up local git repo from template +git clone -o upstream https://lab.it.hs-hannover.de/qxx-tul-u1/latex-template-hsh.git [Project] +git branch -M [Project] # optional if you want to seperate your branch from origin/master git remote add origin [Project_URL] -git push --set-upstream origin [Project] +git push --set-upstream origin # optionally do some cleanup (linux syntax, adjust when needed) rm CHANGELOG.md LICENSE mv project.tex [Project].tex diff --git a/project.tex b/project.tex new file mode 100644 index 0000000000000000000000000000000000000000..9137f155865126e088b7462c8524bb916a0470a6 --- /dev/null +++ b/project.tex @@ -0,0 +1,26 @@ +\documentclass[f1,todos=off]{HsH-report} % documentclass + +%% include packages here: + +%% projects specific data: +\author{ + Max Mustermann, + Mira Musterfrau +} +\matrikelnr{ + 1234567, + 9876543 +} +\titlehead{titlehead} +\subject{Subject} +\title{Title} +\subtitle{Subtitle} +\date{\today} +\professor{Professor} +\keywords{keyword} + +%% project specific commands: + +\begin{document} % -------------------------------------------------------------------------------- + % your text goes here +\end{document} 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 07cf0e6a21402bf3748932c6cfaa020a5c723915..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-23 3.00 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 @@ -133,12 +195,12 @@ \HsH@Options@DeclareAlias{ngerman}{language=ngerman} \def\HsH@opt@faculty{1} \FamilyNumericalKey{HsH}{faculty}{HsH@opt@faculty}{% - {none}{1}, {false}{1},% - {f1}{2}, {1}{2},% - {f2}{3}, {2}{3},% - {f3}{4}, {3}{4},% - {f4}{5}, {4}{5},% - {f5}{6}, {5}{6},% + {0}{1}, {none}{1}, {false}{1}, {off}{1}% + {1}{2}, {f1}{2},% + {2}{3}, {f2}{3},% + {3}{4}, {f3}{4},% + {4}{5}, {f4}{5},% + {5}{6}, {f5}{6},% } \HsH@Options@DeclareAlias{f1}{faculty=f1} \HsH@Options@DeclareAlias{f2}{faculty=f2} @@ -162,6 +224,7 @@ headheight=2.15\baselineskip, toc=listof, toc=bibliography, + abstract=keywords, faculty=none, } \FamilyProcessOptions{HsH}\relax @@ -220,7 +283,7 @@ \RequirePackage{scrhack} \AtBeginDocument{ \makeatletter - \@ifpackageloaded{biblatex}{ + \@ifpackageloaded{listings}{ \RequirePackage{lstautogobble}\lstset{autogobble=true} \iflanguage{ngerman}{ \lstset{literate={Ö}{{\"O}}1{Ä}{{\"A}}1{Ü}{{\"U}}1{ß}{{\ss}}1{ü}{{\"u}}1{ä}{{\"a}}1{ö}{{\"o}}1} @@ -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 7715f12bc1aead992774890e004c679fedafe59a..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:b4a4b9aa8c13bad56faea61271738d7ea664d44837a49bc5c333bcf9f8545c81 -size 313119 +oid sha256:f8ded54f026e76b9a601a3e11c36b02ade14144ceba8415fe2bcaa6494fcd2d7 +size 315327 diff --git a/src/HsH-report.cls b/src/HsH-report.cls index 3548b21bd5f3128dae2cbc6383000e43bf138199..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-23 3.00 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 @@ -133,12 +195,12 @@ \HsH@Options@DeclareAlias{ngerman}{language=ngerman} \def\HsH@opt@faculty{1} \FamilyNumericalKey{HsH}{faculty}{HsH@opt@faculty}{% - {none}{1}, {false}{1},% - {f1}{2}, {1}{2},% - {f2}{3}, {2}{3},% - {f3}{4}, {3}{4},% - {f4}{5}, {4}{5},% - {f5}{6}, {5}{6},% + {0}{1}, {none}{1}, {false}{1}, {off}{1}% + {1}{2}, {f1}{2},% + {2}{3}, {f2}{3},% + {3}{4}, {f3}{4},% + {4}{5}, {f4}{5},% + {5}{6}, {f5}{6},% } \HsH@Options@DeclareAlias{f1}{faculty=f1} \HsH@Options@DeclareAlias{f2}{faculty=f2} @@ -162,6 +224,7 @@ headheight=2.15\baselineskip, toc=listof, toc=bibliography, + abstract=keywords, faculty=none, } \FamilyProcessOptions{HsH}\relax @@ -220,7 +283,7 @@ \RequirePackage{scrhack} \AtBeginDocument{ \makeatletter - \@ifpackageloaded{biblatex}{ + \@ifpackageloaded{listings}{ \RequirePackage{lstautogobble}\lstset{autogobble=true} \iflanguage{ngerman}{ \lstset{literate={Ö}{{\"O}}1{Ä}{{\"A}}1{Ü}{{\"U}}1{ß}{{\ss}}1{ü}{{\"u}}1{ä}{{\"a}}1{ö}{{\"o}}1} @@ -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 a8f1501f6dfcd85b1f2dcbca44a5fe097771d7fb..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-23 3.00 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} @@ -66,12 +66,12 @@ \HsH@Options@DeclareAlias{ngerman}{language=ngerman} \def\HsH@opt@faculty{1} \FamilyNumericalKey{HsH}{faculty}{HsH@opt@faculty}{% - {none}{1}, {false}{1},% - {f1}{2}, {1}{2},% - {f2}{3}, {2}{3},% - {f3}{4}, {3}{4},% - {f4}{5}, {4}{5},% - {f5}{6}, {5}{6},% + {0}{1}, {none}{1}, {false}{1}, {off}{1}% + {1}{2}, {f1}{2},% + {2}{3}, {f2}{3},% + {3}{4}, {f3}{4},% + {4}{5}, {f4}{5},% + {5}{6}, {f5}{6},% } \HsH@Options@DeclareAlias{f1}{faculty=f1} \HsH@Options@DeclareAlias{f2}{faculty=f2} @@ -135,7 +135,7 @@ \RequirePackage{scrhack} \AtBeginDocument{ \makeatletter - \@ifpackageloaded{biblatex}{ + \@ifpackageloaded{listings}{ \RequirePackage{lstautogobble}\lstset{autogobble=true} \iflanguage{ngerman}{ \lstset{literate={Ö}{{\"O}}1{Ä}{{\"A}}1{Ü}{{\"U}}1{ß}{{\ss}}1{ü}{{\"u}}1{ä}{{\"a}}1{ö}{{\"o}}1} @@ -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