├── .gitattributes ├── .gitconfig ├── .gitignore ├── LICENSE.md ├── README.md ├── addon ├── tudscr4lyx │ ├── doc.lyx │ ├── tudscrartcl.layout │ ├── tudscrbook.layout │ └── tudscrreprt.layout └── tudscr4texstudio │ ├── tudscr.cwl │ └── tudscrsupervisor.cwl ├── release.bat ├── source ├── clearsource.bat ├── doc │ ├── cleardoc.bat │ ├── examples │ │ ├── dissertation.tex │ │ ├── document.tex │ │ ├── evaluation.tex │ │ ├── notice.tex │ │ ├── poster.tex │ │ ├── poster_print.tex │ │ ├── task.tex │ │ └── thesis.tex │ ├── sub-tudscr.tex │ ├── tudscr-additional.tex │ ├── tudscr-bundle.tex │ ├── tudscr-examples.tex │ ├── tudscr-hints.tex │ ├── tudscr-index.tex │ ├── tudscr-installation.tex │ ├── tudscr-introduction.tex │ ├── tudscr-mainclasses.tex │ ├── tudscr-obsolete.tex │ ├── tudscr-packages.tex │ ├── tudscr-poster.tex │ ├── tudscr-preface.tex │ ├── tudscr-supervisor.tex │ ├── tudscr.tex │ ├── tutorials.bat │ └── tutorials │ │ ├── mathswap.tex │ │ ├── mathtype.tex │ │ └── treatise.tex ├── install │ ├── tudscr-metrics.dtx │ └── tudscr-scripts.dtx ├── logo │ ├── DDC-01.eps │ ├── DDC-01.pdf │ ├── DDC-03.eps │ ├── DDC-03.pdf │ ├── DDC-07.eps │ ├── DDC-07.pdf │ ├── DDC-09.eps │ ├── DDC-09.pdf │ ├── DDC-19.eps │ ├── DDC-19.pdf │ ├── DDC-21.eps │ ├── DDC-21.pdf │ ├── DDC-22.eps │ ├── DDC-22.pdf │ ├── DDC-24.eps │ ├── DDC-24.pdf │ ├── DDC-25.eps │ ├── DDC-25.pdf │ ├── DDC-27.eps │ ├── DDC-27.pdf │ ├── DDC-28.eps │ ├── DDC-28.pdf │ ├── DDC-30.eps │ ├── DDC-30.pdf │ ├── TUD-black.eps │ ├── TUD-black.pdf │ ├── TUD-blue.eps │ ├── TUD-blue.pdf │ ├── TUD-white.eps │ └── TUD-white.pdf ├── tudscr-area.dtx ├── tudscr-base.dtx ├── tudscr-color.dtx ├── tudscr-comp.dtx ├── tudscr-doc.dtx ├── tudscr-fields.dtx ├── tudscr-fonts.dtx ├── tudscr-frontmatter.dtx ├── tudscr-gitinfo.dtx ├── tudscr-layout.dtx ├── tudscr-localization.dtx ├── tudscr-manual.dtx ├── tudscr-mathswap.dtx ├── tudscr-misc.dtx ├── tudscr-pagestyle.dtx ├── tudscr-supervisor.dtx ├── tudscr-texindy.dtx ├── tudscr-title.dtx ├── tudscr-twocolfix.dtx ├── tudscr-version.dtx ├── tudscr.ins └── tudscrsource.tex ├── test ├── font │ └── fonttest.tex ├── glossaries │ ├── document.tex │ ├── example.tex │ ├── gloss-test.tex │ └── tudscr-glossaries.sty └── test.tex ├── update_classes.bat └── update_classes.sh /.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | *.bat text eol=crlf 3 | *.zip binary 4 | *.pdf binary 5 | * filter=copyright 6 | *.dtx filter=filedate 7 | -------------------------------------------------------------------------------- /.gitconfig: -------------------------------------------------------------------------------- 1 | ## git config --local include.path ../.gitconfig 2 | 3 | [filter "filedate"] 4 | clean = export filename=$(basename "%f") && sed -b -r -z -e"s:\\\\\\\\ProvidesFile\\\\{$filename\\\\}[^\\\\n]*\\\\n::g" -e"s:%\\<\\\\*dtx\\>\\\\n:%\\<\\*dtx\\>\\\\n\\\\\\\\ProvidesFile{$filename}[$(date '+%Y/%m/%d')]\\\\n:" -e"s:\\(%/GitFileInfo[^\\\\n]*\\\\n\\)::g" -e"s:\\(%\\\\s*\\\\\\\\iffalse\\)\\([^\\\\n]*\\\\n\\)\\(%\\\\s*$filename[^\\\\n]*\\\\n\\)?:\\\\1\\ meta-comment\\\\n%/GitFileInfo=$filename\\\\n:" -e"s/\\(.*Copyright.*Hanisch.*,\\)\\\\s*\\([[:digit:]]{4}\\)\\(-[[:digit:]]{4}\\)?\\(.*\\)/\\\\1' '\\\\2-$(date '+%Y')\\\\4/g" 5 | 6 | [filter "copyright"] 7 | clean = sed -b -r "s/\\(.*Copyright.*Hanisch.*,\\)\\\\s*\\([[:digit:]]{4}\\)\\(-[[:digit:]]{4}\\)?\\(.*\\)/\\\\1' '\\\\2-$(date '+%Y')\\\\4/g" 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## binaries folder 2 | development/ 3 | release*/ 4 | temp/ 5 | ## auxiliary files 6 | *.acn 7 | *.acr 8 | *.alg 9 | *.aux 10 | *.bak 11 | *.bbl 12 | *.bcf 13 | *.bib 14 | *.blg 15 | *.clo 16 | *.cls 17 | *.dvi 18 | *.glg 19 | *.glo 20 | *.gls 21 | *.glsdefs 22 | *.hd 23 | *.idx 24 | *.ilg 25 | *.ind 26 | *.ist 27 | *.lof 28 | *.log 29 | *.lot 30 | *.mw 31 | *.nav 32 | *.orig 33 | *.out 34 | *.pdf 35 | *.ps 36 | *.run.xml 37 | *.slg 38 | *.slo 39 | *.sls 40 | *.snm 41 | *.sty 42 | *.synctex(busy) 43 | *.synctex.gz* 44 | *.tdo 45 | *.toc 46 | *.tut 47 | *.wrt 48 | *.xdy 49 | *.xlg 50 | ## include test files 51 | !test/**/*.tex 52 | !test/**/*.cls 53 | !test/**/*.sty 54 | !test/**/*.xdy 55 | ## exclude unnecessary generated files 56 | **/doc/tutorials/*-example.* 57 | **/doc/tutorials/*-temp*.* 58 | source/install/*.bxt 59 | source/install/*.mtx 60 | source/install/*.sh 61 | source/install/*.tex 62 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | 2 | TUD-Script – Corporate Design of Technische Universität Dresden 3 | ---------------------------------------------------------------------------- 4 | 5 | Copyright (C) Falk Hanisch , 2012-2022 6 | 7 | ---------------------------------------------------------------------------- 8 | 9 | This work may be distributed and/or modified under the conditions of the 10 | LaTeX Project Public License, either version 1.3c of this license or 11 | any later version. The latest version of this license is in
12 |  http://www.latex-project.org/lppl.txt
13 | and version 1.3c or later is part of all distributions of 14 | LaTeX version 2008-05-04 or later. 15 | 16 | This work has the LPPL maintenance status "maintained". 17 | 18 | The current maintainer and author of this work is Falk Hanisch. 19 | 20 | ---------------------------------------------------------------------------- 21 | 22 | However, only members of the Technische Universität Dresden are permitted 23 | to publish documents in the corporate design, in particular with the use 24 | of an official logo. 25 | 26 | ---------------------------------------------------------------------------- 27 | -------------------------------------------------------------------------------- /addon/tudscr4lyx/doc.lyx: -------------------------------------------------------------------------------- 1 | #LyX 2.0 created this file. For more info see http://www.lyx.org/ 2 | \lyxformat 413 3 | \begin_document 4 | \begin_header 5 | \textclass tudscrreprt 6 | \begin_preamble 7 | \AtBeginDocument{\usepackage{blindtext}} 8 | \end_preamble 9 | \use_default_options true 10 | \maintain_unincluded_children false 11 | \language ngerman 12 | \language_package default 13 | \inputencoding auto 14 | \fontencoding global 15 | \font_roman default 16 | \font_sans default 17 | \font_typewriter default 18 | \font_default_family default 19 | \use_non_tex_fonts false 20 | \font_sc false 21 | \font_osf false 22 | \font_sf_scale 100 23 | \font_tt_scale 100 24 | 25 | \graphics default 26 | \default_output_format default 27 | \output_sync 0 28 | \bibtex_command default 29 | \index_command default 30 | \paperfontsize default 31 | \spacing single 32 | \use_hyperref false 33 | \papersize default 34 | \use_geometry false 35 | \use_amsmath 1 36 | \use_esint 1 37 | \use_mhchem 1 38 | \use_mathdots 1 39 | \cite_engine basic 40 | \use_bibtopic false 41 | \use_indices false 42 | \paperorientation portrait 43 | \suppress_date false 44 | \use_refstyle 1 45 | \index Index 46 | \shortcut idx 47 | \color #008000 48 | \end_index 49 | \secnumdepth 3 50 | \tocdepth 3 51 | \paragraph_separation indent 52 | \paragraph_indentation default 53 | \quotes_language german 54 | \papercolumns 1 55 | \papersides 1 56 | \paperpagestyle default 57 | \tracking_changes false 58 | \output_changes false 59 | \html_math_output 0 60 | \html_css_as_file 0 61 | \html_be_strict false 62 | \end_header 63 | 64 | \begin_body 65 | 66 | \begin_layout Standard 67 | \begin_inset ERT 68 | status open 69 | 70 | \begin_layout Plain Layout 71 | 72 | 73 | \backslash 74 | faculty{Juristische Fakultät} 75 | \end_layout 76 | 77 | \begin_layout Plain Layout 78 | 79 | 80 | \backslash 81 | department{Fachrichtung Strafrecht} 82 | \end_layout 83 | 84 | \begin_layout Plain Layout 85 | 86 | 87 | \backslash 88 | institute{Institut für Kriminologie} 89 | \end_layout 90 | 91 | \begin_layout Plain Layout 92 | 93 | 94 | \backslash 95 | chair{Lehrstuhl für Kriminalprognose} 96 | \end_layout 97 | 98 | \end_inset 99 | 100 | 101 | \end_layout 102 | 103 | \begin_layout Title 104 | Der Geldspeicher in Entenhausen 105 | \end_layout 106 | 107 | \begin_layout Author 108 | Mickey Mouse 109 | \end_layout 110 | 111 | \begin_layout Date 112 | 20. 113 | \begin_inset space \thinspace{} 114 | \end_inset 115 | 116 | 04. 117 | \begin_inset space \space{} 118 | \end_inset 119 | 120 | 2014 121 | \end_layout 122 | 123 | \begin_layout Standard 124 | \begin_inset ERT 125 | status open 126 | 127 | \begin_layout Plain Layout 128 | 129 | 130 | \backslash 131 | blinddocument 132 | \end_layout 133 | 134 | \end_inset 135 | 136 | 137 | \end_layout 138 | 139 | \end_body 140 | \end_document 141 | -------------------------------------------------------------------------------- /addon/tudscr4lyx/tudscrartcl.layout: -------------------------------------------------------------------------------- 1 | #% Do not delete the line below; configure depends on this 2 | # \DeclareLaTeXClass{TUD-Script Article} 3 | # \DeclareCategory{Articles} 4 | # TUD-Script tudscrartcl textclass definition file. 5 | # Falk Hanisch , 2017/02/13. 6 | 7 | Format 49 8 | Input scrclass.inc 9 | 10 | 11 | ClassOptions 12 | PageStyle "empty|plain|headings|tudheadings|plain.tudheadings|empty.tudheadings" 13 | End 14 | 15 | Sides 1 16 | PageStyle Headings 17 | 18 | Style Bibliography 19 | TopSep 4 20 | LabelString "Bibliography" 21 | LabelFont 22 | Series Bold 23 | Size Largest 24 | EndFont 25 | End 26 | 27 | SecNumDepth 3 28 | TocDepth 3 29 | 30 | NoStyle Chapter 31 | NoCounter chapter 32 | NoStyle Chapter* 33 | NoStyle Addchap 34 | NoStyle Addchap* 35 | 36 | Style Part 37 | Align Left 38 | TopSep 2 39 | BottomSep 1.5 40 | Font 41 | Size Larger 42 | EndFont 43 | End 44 | 45 | Style Part* 46 | Align Left 47 | TopSep 2 48 | BottomSep 1.5 49 | Font 50 | Size Larger 51 | EndFont 52 | End 53 | -------------------------------------------------------------------------------- /addon/tudscr4lyx/tudscrbook.layout: -------------------------------------------------------------------------------- 1 | #% Do not delete the line below; configure depends on this 2 | # \DeclareLaTeXClass{TUD-Script Book} 3 | # \DeclareCategory{Books} 4 | # TUD-Script tudscrbook textclass definition file. 5 | # Falk Hanisch , 2017/02/13. 6 | 7 | Format 49 8 | Input scrclass.inc 9 | Input numreport.inc 10 | 11 | ClassOptions 12 | PageStyle "empty|plain|headings|tudheadings|plain.tudheadings|empty.tudheadings" 13 | End 14 | 15 | Sides 2 16 | PageStyle Headings 17 | 18 | Style Bibliography 19 | TopSep 4 20 | LabelString "Bibliography" 21 | LabelFont 22 | Series Bold 23 | Size Largest 24 | EndFont 25 | End 26 | 27 | Style Chapter 28 | LabelString "\thechapter" 29 | TocLevel 0 30 | End 31 | 32 | # Equations are numbered by chapter 33 | Counter equation 34 | Within chapter 35 | LabelString "\thechapter.\arabic{equation}" 36 | End 37 | -------------------------------------------------------------------------------- /addon/tudscr4lyx/tudscrreprt.layout: -------------------------------------------------------------------------------- 1 | #% Do not delete the line below; configure depends on this 2 | # \DeclareLaTeXClass{TUD-Script Report} 3 | # \DeclareCategory{Reports} 4 | # TUD-Script tudscrreprt textclass definition file. 5 | # Falk Hanisch , 2017/02/13. 6 | 7 | Format 49 8 | Input scrclass.inc 9 | Input numreport.inc 10 | 11 | ClassOptions 12 | PageStyle "empty|plain|headings|tudheadings|plain.tudheadings|empty.tudheadings" 13 | End 14 | 15 | Sides 1 16 | PageStyle Headings 17 | 18 | Style Bibliography 19 | TopSep 4 20 | LabelString "Bibliography" 21 | LabelFont 22 | Series Bold 23 | Size Largest 24 | EndFont 25 | End 26 | -------------------------------------------------------------------------------- /addon/tudscr4texstudio/tudscr.cwl: -------------------------------------------------------------------------------- 1 | \TUDoption{option}{values} 2 | \TUDoptions{options} 3 | \TUDClassName#S 4 | \TUDScript#S 5 | \TUDVersion#S 6 | \MakeTextUppercase{text} 7 | \NoCaseChange{text} 8 | \ifdin{true}{false} 9 | \cdfont{font} 10 | \textcdfont{font}{text} 11 | \univbn#S 12 | \univbs#S 13 | \univln#S 14 | \univls#S 15 | \univrn#S 16 | \univrs#S 17 | \univxn#S 18 | \univxs#S 19 | \textuln{text} 20 | \texturn{text} 21 | \textubn{text} 22 | \textuxn{text} 23 | \textuls{text} 24 | \texturs{text} 25 | \textubs{text} 26 | \textuxs{text} 27 | \textdbn{text} 28 | \varDelta 29 | \varTheta 30 | \varLambda 31 | \varXi 32 | \varPi 33 | \varSigma 34 | \varUpsilon 35 | \varPhi 36 | \varPsi 37 | \varOmega 38 | \upDelta 39 | \upTheta 40 | \upLambda 41 | \upXi 42 | \upPi 43 | \upSigma 44 | \upUpsilon 45 | \upPhi 46 | \upPsi 47 | \upOmega 48 | \pageheadingvskip 49 | \headingvskip 50 | \faculty{text} 51 | \department{text} 52 | \institute{text} 53 | \chair{text} 54 | \extraheadline{textadline} 55 | \headlogo{file} 56 | \headlogo[parameters]{file} 57 | \footlogo{file(s)} 58 | \footlogo[parameters]{file(s)} 59 | \footlogosep 60 | \footlogoheight 61 | \footcontent{text} 62 | \footcontent*{text}#S 63 | \footcontent[fontsettings]{text} 64 | \footcontent*[fontsettings]{text}#S 65 | \footcontent{left}[right] 66 | \footcontent*{left}[right]#S 67 | \footcontent[fontsettings]{left}[right] 68 | \footcontent*[fontsettings]{left}[right]#S 69 | \begin{tudpage} 70 | \begin{tudpage}[parameter] 71 | \end{tudpage} 72 | \maketitle 73 | \maketitle[pagenumber] 74 | \maketitleonecolumn{text} 75 | \maketitleonecolumn[pagenumber]{text} 76 | \makecover 77 | \makecover[parameters] 78 | \titledelimiter{delimiter} 79 | \author{text} 80 | \authormore{text} 81 | \dateofbirth{date} 82 | \placeofbirth{text} 83 | \matriculationnumber{text} 84 | \matriculationyear{text} 85 | \and 86 | \thesis{text} 87 | \subject{text} 88 | \graduation{text} 89 | \graduation[abbr]{text} 90 | \supervisor{text} 91 | \referee{text} 92 | \advisor{text} 93 | \professor{text} 94 | \date{date} 95 | \date[addon]{date} 96 | \defensedate{date} 97 | \extratitle{text} 98 | \titlehead{text} 99 | \title{text} 100 | \subtitle{text} 101 | \publishers{text} 102 | \thanks{text} 103 | \uppertitleback{text} 104 | \lowertitleback{text} 105 | \dedication{text} 106 | \begin{abstract} 107 | \begin{abstract}[parameter] 108 | \end{abstract} 109 | \nextabstract 110 | \nextabstract[parameter] 111 | \begin{declarations} 112 | \begin{declarations}[parameter] 113 | \end{declarations} 114 | \nextdeclaration 115 | \nextdeclaration[parameter] 116 | \declaration 117 | \declaration[parameter] 118 | \confirmation 119 | \confirmation[parameter] 120 | \blocking 121 | \blocking[parameter] 122 | \supporter{text} 123 | \place{text} 124 | \confirmationclosing{text} 125 | \company{text} 126 | \tudbookmark{text}{anchor} 127 | \tudbookmark[level]{text}{anchor} 128 | \supervisorname#S 129 | \supervisorothername#S 130 | \refereename#S 131 | \refereeothername#S 132 | \advisorname#S 133 | \advisorothername#S 134 | \professorname#S 135 | \professorothername#S 136 | \dissertationname#S 137 | \diplomathesisname#S 138 | \masterthesisname#S 139 | \bachelorthesisname#S 140 | \studentresearchname#S 141 | \projectpapername#S 142 | \seminarpapername#S 143 | \researchname#S 144 | \logname#S 145 | \internshipname#S 146 | \reportname#S 147 | \dateofbirthtext#S 148 | \placeofbirthtext#S 149 | \matriculationnumbername#S 150 | \matriculationyearname#S 151 | \graduationtext#S 152 | \datetext#S 153 | \defensedatetext#S 154 | \abstractname#S 155 | \confirmationname#S 156 | \blockingname#S 157 | \confirmationtext#S 158 | \blockingtext#S 159 | \coverpagename#S 160 | \titlepagename#S 161 | \listingname#S 162 | \listlistingname#S 163 | \setcdcolors{colormodel} 164 | -------------------------------------------------------------------------------- /addon/tudscr4texstudio/tudscrsupervisor.cwl: -------------------------------------------------------------------------------- 1 | #include:tudscr 2 | \begin{task} 3 | \begin{task}[parameter] 4 | \end{task} 5 | \taskform{text}{text} 6 | \taskform[parameter]{text}{text} 7 | \course{text} 8 | \discipline{text} 9 | \chairman{text} 10 | \issuedate{date} 11 | \duedate{date} 12 | \begin{evaluation} 13 | \begin{evaluation}[parameter] 14 | \end{evaluation} 15 | \evaluationform[parameter]{text}{text}{text}{text} 16 | \grade{text} 17 | \begin{notice} 18 | \begin{notice}[parameter] 19 | \end{notice} 20 | \noticeform[]{text}{text} 21 | \contactperson{text} 22 | \office{text} 23 | \telephone{text} 24 | \emailaddress{text} 25 | \taskname#S 26 | \tasktext#S 27 | \namesname#S 28 | \titlename#S 29 | \coursename#S 30 | \disciplinename#S 31 | \issuedatetext#S 32 | \duedatetext#S 33 | \chairmanname#S 34 | \focusname#S 35 | \objectivesname#S 36 | \evaluationname#S 37 | \evaluationtext#S 38 | \contentname#S 39 | \assessmentname#S 40 | \gradetext#S 41 | \noticename#S 42 | \contactpersonname#S 43 | -------------------------------------------------------------------------------- /release.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | cd %~dp0 3 | echo ========================================================================= 4 | echo Festlegen der Version, welche erstellt werden soll 5 | echo ========================================================================= 6 | set version= 7 | setlocal enabledelayedexpansion 8 | for /f "tokens=1,2,3* delims= " %%a in ( 9 | 'findstr /r \TUD@@Version{[0-9][0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9] source\tudscr-version.dtx' 10 | ) do ( 11 | set version=%%c 12 | if "!version:~0,10!"=="TUD-Script" ( 13 | set version=%%b 14 | ) else ( 15 | set version=%%b-%%c 16 | ) 17 | ) 18 | endlocal & set version=%version% 19 | if exist temp rmdir temp /s /q > nul 20 | if exist release-%version% rmdir release-%version% /s /q > nul 21 | echo. 22 | echo TUD-Script %version% 23 | echo. 24 | echo ========================================================================= 25 | echo Erzeugen der Klassen und der inline-Dokumentation fuer %version% 26 | echo ========================================================================= 27 | echo. 28 | set sourceinput="\def\tudfinalflag{}\input{tudscrsource.tex}" 29 | set docinput="\def\tudfinalflag{}\input{tudscr.tex}" 30 | set docprintinput="\def\tudfinalflag{}\def\tudprintflag{}\input{tudscr.tex}" 31 | cd source 32 | pdflatex --shell-escape %sourceinput% 33 | cd .. 34 | xcopy source temp\ /s 35 | cd temp 36 | call clearsource.bat 37 | del clearsource.bat 38 | xcopy ..\source\tudscr-gitinfo-ver.aux . 39 | cd doc 40 | call cleardoc.bat 41 | del cleardoc.bat 42 | del sub-tudscr.tex 43 | del test.tex 44 | cd .. 45 | if exist test rmdir test/s /q > nul 46 | echo. 47 | echo ========================================================================= 48 | echo Kopieren der Quelldateien 49 | echo ========================================================================= 50 | echo. 51 | mkdir tex\latex\tudscr 52 | echo \BaseDirectory{.}> docstrip.cfg 53 | echo \UseTDS>> docstrip.cfg 54 | pdftex tudscr.ins 55 | xcopy /s logo tex\latex\tudscr\logo\ 56 | xcopy /s doc . 57 | copy tex\latex\tudscr\*.* . 58 | copy tex\latex\tudscr\*.* examples 59 | copy tex\latex\tudscr\*.* tutorials 60 | mkdir source\latex\tudscr 61 | move doc source\latex\tudscr\doc 62 | copy *.dtx source\latex\tudscr\ 63 | copy tudscr.ins source\latex\tudscr\ 64 | copy tudscrsource.tex source\latex\tudscr\ 65 | mkdir doc\latex\tudscr\tutorials 66 | copy ..\*.md doc\latex\tudscr\ 67 | echo. 68 | echo ========================================================================= 69 | echo Erzeugen der Quelltextdokumentation 70 | echo ========================================================================= 71 | echo. 72 | pdflatex --shell-escape %sourceinput% 73 | pdflatex %sourceinput% 74 | pdflatex %sourceinput% 75 | pdflatex --shell-escape %sourceinput% 76 | pdflatex %sourceinput% 77 | move tudscrsource.pdf doc\latex\tudscr\ 78 | echo. 79 | echo ========================================================================= 80 | echo Erzeugen des Benutzerhandbuchs 81 | echo ========================================================================= 82 | echo. 83 | pdflatex %docinput% 84 | pdflatex --shell-escape %docinput% 85 | pdflatex %docinput% 86 | pdflatex --shell-escape %docinput% 87 | pdflatex %docinput% 88 | pdflatex %docprintinput% 89 | copy tudscr.pdf tudscr_print.pdf 90 | pdflatex %docinput% 91 | del tutorials\*autopp*.* /q > nul 92 | attrib +h "tutorials\*-standalone-*.pdf" 93 | attrib +h "tutorials\*-pics.pdf" 94 | move tudscr*.pdf doc\latex\tudscr\ 95 | move tutorials\*.pdf doc\latex\tudscr\tutorials\ 96 | move tutorials\*-example.tex source\latex\tudscr\doc\examples\ 97 | echo. 98 | echo ========================================================================= 99 | echo Erzeugen der Installationdateien 100 | echo ========================================================================= 101 | echo. 102 | cd install 103 | pdftex tudscr-metrics.dtx 104 | pdftex tudscr-scripts.dtx 105 | rename *.bxt *.bat 106 | setlocal enabledelayedexpansion 107 | set "pattern=_V_" 108 | set "replace=_%version%_" 109 | for %%a in (*.*) do ( 110 | set "file=%%~a" 111 | rename "%%a" "!file:%pattern%=%replace%!" 112 | ) 113 | endlocal 114 | echo. 115 | echo ========================================================================= 116 | echo Release fuer GitHub 117 | echo ========================================================================= 118 | echo. 119 | cd %~dp0 120 | mkdir release-%version%\temp 121 | mkdir release-%version%\GitHub\fonts 122 | mkdir release-%version%\GitHub\oldfonts 123 | mkdir release-%version%\GitHub\uninstall 124 | mkdir release-%version%\GitHub\addon 125 | copy *.md release-%version%\temp\ 126 | xcopy addon release-%version%\temp\ /s 127 | copy development\fonts\*.* release-%version%\temp\ 128 | copy development\tools\*.* release-%version%\temp\ 129 | copy temp\doc\latex\tudscr\tudscr.pdf release-%version%\temp\ 130 | copy temp\doc\latex\tudscr\tudscr_print.pdf release-%version%\temp\ 131 | move temp\install\*.* release-%version%\temp\ 132 | cd release-%version%\temp 133 | 7za a -tzip tudscr_%version%.zip .\..\..\temp\doc\ .\..\..\temp\source\ .\..\..\temp\tex\ 134 | for /f %%f in ('dir /b *.bat') do unix2dos -k %%f 135 | 7za a -tzip tudscr_fonts_install.zip @7za_files_metrics.txt 136 | REM call tudscr_fonts_convert.bat 137 | REM 7za a -tzip tudscr_fonts_converted.zip @7za_files_fonts.txt 138 | for /f %%f in ('dir /b *.md') do unix2dos -n -k %%f %%~nf.txt 139 | 7za a -tzip .\..\GitHub\TUD-Script_%version%_Windows.zip -x!*.sh @7za_files_bundle.txt 140 | 7za a -tzip .\..\GitHub\fonts\TUD-Script_fonts_Windows.zip -x!*.sh @7za_files_fonts_install.txt 141 | REM 7za a -tzip .\..\GitHub\TUD-Script_%version%_Windows_full.zip -x!*.sh @7za_files_bundle.txt @7za_files_fonts_install.txt 142 | REM 7za a -tzip .\..\TUD-Script_%version%_Windows_all.zip -x!*.sh @7za_files_bundle.txt @7za_files_fonts_install.txt @7za_files_postscript.txt 143 | REM 7za a -tzip .\..\TUD-Script_fonts_converted_Windows.zip -x!*.sh @7za_files_fonts_converted.txt 144 | for /f %%f in ('dir /b *.md') do copy %%f %%~nf.txt 145 | 7za a -tzip .\..\GitHub\TUD-Script_%version%_Unix.zip -x!*.bat -x!7za.exe @7za_files_bundle.txt 146 | 7za a -tzip .\..\GitHub\fonts\TUD-Script_fonts_Unix.zip -x!*.bat -x!7za.exe @7za_files_fonts_install.txt 147 | REM 7za a -tzip .\..\GitHub\TUD-Script_%version%_Unix_full.zip -x!*.bat -x!7za.exe @7za_files_bundle.txt @7za_files_fonts_install.txt 148 | REM 7za a -tzip .\..\TUD-Script_%version%_Unix_all.zip -x!*.bat -x!7za.exe @7za_files_bundle.txt @7za_files_fonts_install.txt @7za_files_postscript.txt 149 | REM 7za a -tzip .\..\TUD-Script_fonts_converted_Unix.zip -x!*.bat -x!7za.exe @7za_files_fonts_converted.txt 150 | 7za a -tzip .\..\GitHub\addon\tudscr4lyx.zip .\tudscr4lyx\* 151 | 7za a -tzip .\..\GitHub\addon\tudscr4texstudio.zip .\tudscr4texstudio\* 152 | cd.. 153 | move temp\tudscr_%version%.zip GitHub\tudscr_%version%.zip 154 | move temp\tud_fonts_install.* GitHub\oldfonts\ 155 | move temp\tudscr_uninstall.* GitHub\uninstall\ 156 | echo. 157 | echo ========================================================================= 158 | echo Release fuer CTAN 159 | echo ========================================================================= 160 | echo. 161 | mkdir CTAN\tudscr\doc 162 | mkdir CTAN\tudscr\source 163 | mkdir CTAN\tudscr\logo 164 | xcopy ..\temp\doc\latex\tudscr\*.* CTAN\tudscr\doc\ /s 165 | xcopy ..\temp\source\latex\tudscr\*.* CTAN\tudscr\source\ /s 166 | xcopy ..\temp\tex\latex\tudscr\logo\*.* CTAN\tudscr\logo\ /s 167 | move CTAN\tudscr\doc\README.md CTAN\tudscr\README.md 168 | cd temp 169 | ( 170 | echo With WScript 171 | echo ZipFile = .Arguments^(0^) 172 | echo Folder = .Arguments^(1^) 173 | echo End With 174 | echo CreateObject^("Scripting.FileSystemObject"^).CreateTextFile^(ZipFile, True^).Write "PK" ^& Chr^(5^) ^& Chr^(6^) ^& String^(18, vbNullChar^) 175 | echo With CreateObject^("Shell.Application"^) 176 | echo .NameSpace^(ZipFile^).CopyHere .NameSpace^(Folder^).Items 177 | echo End With 178 | echo wScript.Sleep 2000 179 | ) > winzip.vbs 180 | cd .. 181 | CScript temp\winzip.vbs %cd%\tudscr.zip %cd%\CTAN 182 | move %cd%\tudscr.zip %cd%\CTAN\ 183 | echo. 184 | echo ========================================================================= 185 | echo Loeschen aller temporaeren Dateien 186 | echo ========================================================================= 187 | echo. 188 | pause. 189 | cd %~dp0 190 | if exist release-%version%\temp rmdir release-%version%\temp /s /q > nul 191 | if exist release-%version%\CTAN\tudscr rmdir release-%version%\CTAN\tudscr /s /q > nul 192 | if exist temp rmdir temp /s /q > nul 193 | exit /b 0 194 | -------------------------------------------------------------------------------- /source/clearsource.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | attrib +h "*.bat" /s 3 | attrib +h "*.dtx" /s 4 | attrib +h "*.ins" /s 5 | attrib +h "tudscrsource.tex" 6 | attrib +h "doc\*.*" /s 7 | attrib +h "logo\*.eps" 8 | attrib +h "logo\*.pdf" 9 | attrib -h "install\*.bat" /s> nul 10 | attrib -h "install\*.tex" /s> nul 11 | del "*.*" /s /q> nul 12 | attrib -h "*.*" /s 13 | -------------------------------------------------------------------------------- /source/doc/cleardoc.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | attrib +h "*.bat" /s 3 | attrib +h "*.tex" /s 4 | attrib -h "*-temp*.*" /s> nul 5 | attrib -h "*-example.tex" /s> nul 6 | del "*.*" /s /q> nul 7 | attrib -h "*.*" /s 8 | -------------------------------------------------------------------------------- /source/doc/examples/dissertation.tex: -------------------------------------------------------------------------------- 1 | \documentclass[% 2 | english,ngerman,% 3 | BCOR=6mm,cdgeometry=no,DIV=13% 4 | ]{tudscrreprt} 5 | \iftutex 6 | \usepackage{fontspec} 7 | \else 8 | \usepackage[T1]{fontenc} 9 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 10 | \fi 11 | \usepackage{babel} 12 | \usepackage{isodate} 13 | \usepackage{blindtext} 14 | \begin{document} 15 | \faculty{Juristische Fakultät} 16 | \department{Fachrichtung Strafrecht} 17 | \institute{Institut für Kriminologie} 18 | \chair{Lehrstuhl für Kriminalprognose} 19 | \date{18.02.2015} 20 | \author{Mickey Mouse} 21 | \title{% 22 | Entwicklung eines optimalen Verfahrens zur Eroberung des 23 | Geldspeichers in Entenhausen 24 | } 25 | \thesis{diss} 26 | \graduation[Dr. jur.]{Doktor der Rechte} 27 | \dateofbirth{2.1.1990} 28 | \placeofbirth{Dresden} 29 | \defensedate{15.03.2015} 30 | \referee{Dagobert Duck \and Mac Moneysac} 31 | \maketitle 32 | \TUDoption{abstract}{section,multiple} 33 | \begin{abstract}[pagestyle=empty.tudheadings] 34 | \blindtext 35 | \nextabstract[english] 36 | \blindtext 37 | \end{abstract} 38 | \end{document} 39 | -------------------------------------------------------------------------------- /source/doc/examples/document.tex: -------------------------------------------------------------------------------- 1 | \documentclass[ngerman]{tudscrreprt} 2 | \iftutex 3 | \usepackage{fontspec} 4 | \else 5 | \usepackage[T1]{fontenc} 6 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 7 | \fi 8 | \usepackage{babel} 9 | \usepackage[math]{blindtext} 10 | \begin{document} 11 | \faculty{Juristische Fakultät} 12 | \department{Fachrichtung Strafrecht} 13 | \institute{Institut für Kriminologie} 14 | \chair{Lehrstuhl für Kriminalprognose} 15 | \date{18.02.2015} 16 | \author{Mickey Mouse} 17 | \title{Der Geldspeicher in Entenhausen} 18 | \maketitle 19 | \blinddocument 20 | \end{document} 21 | -------------------------------------------------------------------------------- /source/doc/examples/evaluation.tex: -------------------------------------------------------------------------------- 1 | \documentclass[ngerman]{tudscrartcl} 2 | \iftutex 3 | \usepackage{fontspec} 4 | \else 5 | \usepackage[T1]{fontenc} 6 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 7 | \fi 8 | \usepackage{babel} 9 | \usepackage{isodate} 10 | \usepackage{tudscrsupervisor} 11 | \usepackage{enumitem}\setlist{noitemsep} 12 | \begin{document} 13 | \faculty{Juristische Fakultät}\department{Fachrichtung Strafrecht} 14 | \institute{Institut für Kriminologie}\chair{Lehrstuhl für Kriminalprognose} 15 | \date{16.10.2015} 16 | \author{Mickey Mouse} 17 | \title{% 18 | Entwicklung eines optimalen Verfahrens zur Eroberung des 19 | Geldspeichers in Entenhausen 20 | } 21 | \thesis{diploma}\graduation[Dipl.-Ing.]{Diplomingenieur} 22 | \matriculationnumber{12345678}\matriculationyear{2010} 23 | \dateofbirth{2.1.1990}\placeofbirth{Dresden} 24 | \referee{Dagobert Duck} 25 | \evaluationform[pagestyle=empty]{% 26 | Als Ziel dieser Arbeit sollte identifiziert werden, warum das Thema 27 | gerade so omnipräsent ist und wie sich dieser Effekt abschwächen 28 | ließe. Zusätzlich waren Methoden zu entwickeln, mit denen ein 29 | ähnlicher Vorgang zukünftig vermieden werden könnte. 30 | }{% 31 | Die Arbeit gliedert sich in mehrere Kapitel auf unzähligen Seiten. 32 | In den ersten beiden Kapiteln wird dies und das besprochen. Im 33 | darauffolgenden auch noch jenes. Im vorletzten Kapitel wird alles 34 | betrachtet und im letzten erfolgt Zusammenfassung und Ausblick. 35 | }{% 36 | Die dargestellten Ergebnisse der vorliegenden Arbeit genügen den in 37 | der Aufgabenstellung formulierten Arbeitsschwerpunkten. Sowohl 38 | Form, Ausdruck und Terminologie als auch Struktur befriedigen die 39 | Anforderungen an eine wissenschaftliche Arbeit. Die einzelnen 40 | Kapitel können hinsichtlich ihrer inhaltlichen Tiefe in Relation zu 41 | dem dazu benötigten Umfang als ausgewogen betrachtet werden. Die 42 | verwendeten Grafiken und Tabellen sind sehr gut aufbereitet und 43 | tragen insgesamt zum besseren Verständnis bei. Fachliche 44 | Begrifflichkeiten werden sehr sauber verwendet, orthografische 45 | Mängel sind keine zu finden. 46 | }{1,0 (sehr gut)} 47 | \end{document} 48 | -------------------------------------------------------------------------------- /source/doc/examples/notice.tex: -------------------------------------------------------------------------------- 1 | \documentclass[ngerman]{tudscrreprt} 2 | \iftutex 3 | \usepackage{fontspec} 4 | \else 5 | \usepackage[T1]{fontenc} 6 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 7 | \fi 8 | \usepackage{babel} 9 | \usepackage{isodate} 10 | \usepackage{tudscrsupervisor} 11 | \usepackage{enumitem}\setlist{noitemsep} 12 | \begin{document} 13 | \faculty{Juristische Fakultät}\department{Fachrichtung Strafrecht} 14 | \institute{Institut für Kriminologie}\chair{Lehrstuhl für Kriminalprognose} 15 | \title{% 16 | Entwicklung eines optimalen Verfahrens zur Eroberung des 17 | Geldspeichers in Entenhausen 18 | }\date{16.10.2015} 19 | \contactperson{% 20 | Dagobert Duck\emailaddress{dagobert.duck@tu-dresden.de} 21 | \office{Dingens-Bau, Zimmer~08}\telephone{+49 351 463-12345} 22 | \and% 23 | Mac Moneysac\emailaddress{mac.moneysac@tu-dresden.de} 24 | \office{Dingens-Bau, Zimmer~15}\telephone{+49 351 463-54321} 25 | } 26 | \noticeform[Angebot für eine Studien-/Diplomarbeit,pagestyle=empty]{% 27 | Momentan ist das besagte Thema in aller Munde. Insbesondere wird es 28 | gerade in vielen~-- wenn nicht sogar in allen~-- Medien diskutiert. 29 | Es ist momentan noch nicht abzusehen, ob und wann sich diese 30 | Situation ändert. Eine kurzfristige Verlagerung aus dem Fokus der 31 | Öffentlichkeit wird nicht erwartet. 32 | 33 | Als Ziel dieser Arbeit soll identifiziert werden, warum das Thema 34 | gerade so omnipräsent ist und wie dieser Effekt abgeschwächt werden 35 | könnte. Zusätzlich sind Methoden zu entwickeln, mit denen sich ein 36 | ähnlicher Vorgang zukünftig vermeiden lässt. 37 | \begin{center} 38 | \medskip\includegraphics[width=.7\linewidth]{DDC-21} 39 | \renewcommand*{\figureformat}{\figurename} 40 | \captionof{figure}{Thematisch passendes Bild} 41 | \end{center} 42 | }{% 43 | \item Recherche \& Analyse 44 | \item Entwicklung eines Konzeptes \& Anwendung der entwickelten Methodik 45 | \item Dokumentation und grafische Aufbereitung der Ergebnisse 46 | } 47 | \end{document} 48 | -------------------------------------------------------------------------------- /source/doc/examples/poster.tex: -------------------------------------------------------------------------------- 1 | \RequirePackage{fix-cm} 2 | \documentclass[% 3 | ngerman,% 4 | paper=A1,fontsize=22pt,% 5 | cdfoot=5ex,ddcfoot% 6 | ]{tudscrposter} 7 | \iftutex 8 | \usepackage{fontspec} 9 | \else 10 | \usepackage[T1]{fontenc} 11 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 12 | \fi 13 | \usepackage{babel} 14 | \usepackage{blindtext} 15 | \usepackage{multicol} 16 | \begin{document} 17 | \faculty{Juristische Fakultät}\department[]{Fachrichtung Strafrecht} 18 | \institute{Institut für Kriminologie}\chair[]{Lehrstuhl für Kriminalprognose} 19 | \title{% 20 | Entwicklung eines optimalen Verfahrens zur Eroberung des 21 | Geldspeichers in Entenhausen 22 | }\date{18.02.2015} 23 | \contactperson{% 24 | Mickey Mouse\emailaddress{mickey.mouse@tu-dresden.de}% 25 | \office{Büro 58}\telephone{463--xxxxx}% 26 | } 27 | \professor{Prof. Dr. Kater Karlo} 28 | \maketitle 29 | \begin{abstract}%[columns=2] 30 | \noindent\blindtext 31 | \end{abstract} 32 | 33 | \begin{multicols}{2}[\section*{Test}] 34 | \blindtext[3] 35 | \end{multicols} 36 | \bigskip 37 | 38 | \begin{center} 39 | \includegraphics[width=.7\linewidth]{TUD-black} 40 | \end{center} 41 | 42 | \begin{multicols}{2}[\section*{Test}] 43 | \blindmathtrue 44 | \blindtext[1] 45 | \end{multicols} 46 | \end{document} 47 | -------------------------------------------------------------------------------- /source/doc/examples/poster_print.tex: -------------------------------------------------------------------------------- 1 | \PassOptionsToClass{cd=on}{tudscrposter} 2 | \input{poster.tex} 3 | -------------------------------------------------------------------------------- /source/doc/examples/task.tex: -------------------------------------------------------------------------------- 1 | \documentclass[ngerman]{tudscrreprt} 2 | \iftutex 3 | \usepackage{fontspec} 4 | \else 5 | \usepackage[T1]{fontenc} 6 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 7 | \fi 8 | \usepackage{babel} 9 | \usepackage{isodate} 10 | \usepackage{tudscrsupervisor} 11 | \usepackage{enumitem}\setlist{noitemsep} 12 | \begin{document} 13 | \faculty{Juristische Fakultät}\department{Fachrichtung Strafrecht} 14 | \institute{Institut für Kriminologie}\chair{Lehrstuhl für Kriminalprognose} 15 | \title{% 16 | Entwicklung eines optimalen Verfahrens zur Eroberung des 17 | Geldspeichers in Entenhausen 18 | } 19 | \thesis{master}\graduation[M.Sc.]{Master of Science} 20 | \author{% 21 | Mickey Mouse\matriculationnumber{12345678}% 22 | \dateofbirth{2.1.1990}\placeofbirth{Dresden}% 23 | \course{Klinische Prognostik}\discipline{Individualprognose}% 24 | \and% 25 | Donald Duck\matriculationnumber{87654321}% 26 | \dateofbirth{1.2.1990}\placeofbirth{Berlin}% 27 | \course{Statistische Prognostik}\discipline{Makrosoziologische Prognosen}% 28 | }\matriculationyear{2010}\issuedate{1.4.2015}\duedate{1.10.2015} 29 | \supervisor{Dagobert Duck \and Mac Moneysac}\professor{Prof. Dr. Kater Karlo} 30 | \referee{Prof. Dr. Kater Karlo}\chairman{Prof. Dr. Primus von Quack} 31 | \taskform[pagestyle=empty]{% 32 | Momentan ist das besagte Thema in aller Munde. Insbesondere wird es 33 | gerade in vielen~-- wenn nicht sogar in allen~-- Medien diskutiert. 34 | Es ist momentan noch nicht abzusehen, ob und wann sich diese 35 | Situation ändert. Eine kurzfristige Verlagerung aus dem Fokus 36 | der Öffentlichkeit wird nicht erwartet. 37 | 38 | Als Ziel dieser Arbeit soll identifiziert werden, warum das Thema 39 | gerade so omnipräsent ist und wie dieser Effekt abgeschwächt werden 40 | könnte. Zusätzlich sind Methoden zu entwickeln, mit denen sich ein 41 | ähnlicher Vorgang zukünftig vermeiden lässt. 42 | }{% 43 | \item Recherche \& Analyse 44 | \item Entwicklung eines Konzeptes \& Anwendung der entwickelten Methodik 45 | \item Dokumentation und grafische Aufbereitung der Ergebnisse 46 | } 47 | \end{document} 48 | -------------------------------------------------------------------------------- /source/doc/examples/thesis.tex: -------------------------------------------------------------------------------- 1 | \documentclass[ngerman,BCOR=4mm]{tudscrreprt} 2 | \iftutex 3 | \usepackage{fontspec} 4 | \else 5 | \usepackage[T1]{fontenc} 6 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 7 | \fi 8 | \usepackage{babel} 9 | \usepackage{isodate} 10 | \begin{document} 11 | \faculty{Juristische Fakultät} 12 | \department{Fachrichtung Strafrecht} 13 | \institute{Institut für Kriminologie} 14 | \chair{Lehrstuhl für Kriminalprognose} 15 | \date{18.02.2015} 16 | \title{% 17 | Entwicklung eines optimalen Verfahrens zur Eroberung des 18 | Geldspeichers in Entenhausen 19 | } 20 | \subject{master} 21 | \graduation[M.Sc.]{Master of Science} 22 | \author{% 23 | Mickey Mouse% 24 | \matriculationnumber{12345678}% 25 | \dateofbirth{2.1.1990}% 26 | \placeofbirth{Dresden}% 27 | \and% 28 | Donald Duck% 29 | \matriculationnumber{87654321}% 30 | \dateofbirth{1.2.1990}% 31 | \placeofbirth{Berlin}% 32 | } 33 | \matriculationyear{2010} 34 | \supervisor{Dagobert Duck \and Mac Moneysac} 35 | \professor{Prof. Dr. Kater Karlo} 36 | \maketitle 37 | \end{document} 38 | -------------------------------------------------------------------------------- /source/doc/sub-tudscr.tex: -------------------------------------------------------------------------------- 1 | %\AtBeginDocument{\TUDoptions{ToDo=no}} 2 | \includeonly{% 3 | % tudscr-preface, 4 | % tudscr-introduction, 5 | % tudscr-mainclasses, 6 | % tudscr-poster, 7 | % tudscr-supervisor, 8 | % tudscr-bundle, 9 | % tudscr-examples, 10 | % tudscr-packages, 11 | % tudscr-hints, 12 | % tudscr-installation, 13 | tudscr-obsolete, 14 | % tudscr-additional, 15 | tudscr-index, 16 | } 17 | \input{tudscr} 18 | -------------------------------------------------------------------------------- /source/doc/tudscr-additional.tex: -------------------------------------------------------------------------------- 1 | \chapter{Identifikation von \TUDScript} 2 | Im \TUDScript-Bundle gibt es neben den Klassen selbst auch noch zusätzliche 3 | Pakete. Ein Teil dieser Pakete~-- genauer \Package{tudscrsupervisor} und 4 | \Package{tudscrcomp}~-- sind ausschließlich mit den \TUDScript-Klassen nutzbar, 5 | andere wiederum~-- die beiden Pakete für Belange des \CDs \Package{tudscrfonts} 6 | (Schriften) und \Package{tudscrcolor} (Farben) sowie die davon vollkommen 7 | unabhängigen Pakete \Package{mathswap} und \Package{twocolfix}~-- können mit 8 | allen existierenden \hologo{LaTeXe}"=Dokumentklassen genutzt werden. Sämtliche 9 | Klassen und Pakete aus dem \TUDScript-Bundle enthalten Befehle, welche diese 10 | als Bestandteil identifizieren. 11 | 12 | \begin{Declaration}[v2.04]{\Macro{TUDScript}} 13 | \printdeclarationlist% 14 | % 15 | Diese Anweisung setzt das Logo respektive die Wortmarke \enquote{\TUDScript{}} 16 | in serifenloser Schrift und mit leichter Sperrung des in Versalien gesetzten 17 | Teils. Dieser Befehl wird von allen Klassen und Paketen des \TUDScript-Bundles 18 | mit \Macro*{DeclareRobustCommand}. 19 | \end{Declaration} 20 | 21 | \begin{Declaration}[v2.04]{\Macro{TUDScriptClassName}} 22 | \printdeclarationlist% 23 | % 24 | Die Bezeichnung der jeweiligen, im Dokument verwendeten \TUDScript-Klasse ist 25 | im Makro \Macro{TUDScriptClassName} abgelegt. Soll also in Erfahrung gebracht 26 | werden, ob~-- und wenn ja, welche~-- \TUDScript-Klasse verwendet wird, so kann 27 | einfach auf diese Anweisung getestet werden. \KOMAScript{} stellt zusätzlich 28 | noch die beiden Anweisungen \Macro*{KOMAClassName} und \Macro*{ClassName} 29 | bereit, welche den Namen der zugrundeliegenden \KOMAScript-Klasse sowie die 30 | durch diese ersetzte Standardklasse enthalten. 31 | \end{Declaration} 32 | 33 | \begin{Declaration}[v2.04]{\Macro{TUDScriptVersion}} 34 | \begin{Declaration}[v2.05]{\Macro{TUDScriptVersionNumber}} 35 | \printdeclarationlist% 36 | % 37 | In \Macro{TUDScriptVersion} ist die Hauptversion von \TUDScript in der Form 38 | \begin{quoting} 39 | \PName{Datum}~\PName{Version}~\PValue{TUD-Script} 40 | \end{quoting} 41 | abgelegt. Die Version ist für alle Klassen und Pakete des \TUDScript-Bundles 42 | gleich und kann nach dem Laden einer Klasse oder eines Paketes abgefragt 43 | werden. Beispielsweise wurde diese Anleitung mit \enquote{\TUDScriptVersion{}} 44 | erstellt. 45 | 46 | Eventuell will der Anwender auf die aktuell verwendete Version von \TUDScript 47 | prüfen, um gegebenenfalls eigene Anpassungen in Abhängigkeit der verwendeten 48 | Version vorzunehmen. Hierfür kann \Macro{TUDScriptVersionNumber} verwendet 49 | werden. Darin ist alleinig die Versionsnummer enthalten. Die für das Handbuch 50 | verwendete Version lautet \enquote{\TUDScriptVersionNumber{}}. 51 | \end{Declaration} 52 | \end{Declaration} 53 | -------------------------------------------------------------------------------- /source/doc/tudscr-examples.tex: -------------------------------------------------------------------------------- 1 | \setchapterpreamble{% 2 | \tudhyperdef'{sec:exmpl}% 3 | \begin{abstract} 4 | \hypersetup{linkcolor=red} 5 | Dieses Kapitel soll den Einstieg und den ersten Umgang mit \TUDScript 6 | erleichtern. Dafür werden einige Minimalbeispiele gegeben, die einzelne 7 | Funktionalitäten darstellen. Diese sind so reduziert ausgeführt, dass sie 8 | sich dem Anwender direkt erschließen sollten. 9 | \end{abstract} 10 | } 11 | \chapter{Minimalbeispiele} 12 | \index{Minimalbeispiel|!(}% 13 | % 14 | \section{Dokument} 15 | \index{Minimalbeispiel!Dokument}% 16 | % 17 | Hier wird gezeigt, wie die Präambel eines minimalen \hologo{LaTeXe}"=Dokumentes 18 | gestaltet werden sollte. Dieser Ausschnitt kann prinzipiell als Grundlage für 19 | ein neu zu erstellendes Dokument verwendet werden. Lediglich das Einbinden des 20 | Paketes \Package{blindtext} mit \Macro*{usepackage}[\PParameter{blindtext}] und 21 | die Verwendung des daraus stammenden Befehls \Macro*{blinddocument} können 22 | weggelassen werden. 23 | \IncludeExample{document} 24 | 25 | \section{Dissertation} 26 | \tudhyperdef*{sec:exmpl:dissertation}% 27 | \index{Minimalbeispiel!Dissertation}% 28 | % 29 | Eine Abschlussarbeit oder ähnliches könnte wie hier gezeigt begonnen werden. 30 | \IncludeExample{dissertation} 31 | 32 | \section{Abschlussarbeit (kollaborativ)} 33 | \tudhyperdef*{sec:exmpl:thesis}% 34 | \index{Minimalbeispiel!Abschlussarbeit}% 35 | \index{Minimalbeispiel!Kollaboratives Schreiben}% 36 | % 37 | Alle zusätzlichen Angaben außerhalb des Argumentes von \Macro{author} werden 38 | für beide Autoren gleichermaßen übernommen.% 39 | \footnote{In diesem Beispiel \Macro{matriculationyear}} 40 | Die Angaben innerhalb des Argumentes von \Macro{author} werden den jeweiligen, 41 | mit \Macro{and} getrennten Autoren zugeordnet.% 42 | \footnote{% 43 | In diesem Beispiel \Macro{matriculationnumber}, \Macro{dateofbirth} und 44 | \Macro{placeofbirth}% 45 | } 46 | Ohne die Verwendung von \Macro{and} kann natürlich auch nur ein Autor 47 | aufgeführt werden. Außerdem sei auf die Verwendung von \Macro{subject} anstelle 48 | von \Macro{thesis} mit einem speziellen Wert aus \autoref{tab:thesis} 49 | hingewiesen. 50 | \IncludeExample{thesis} 51 | 52 | \begin{Bundle}{\Package{tudscrsupervisor}} 53 | \section{Aufgabenstellung (kollaborativ)} 54 | \tudhyperdef*{sec:exmpl:task}% 55 | \index{Minimalbeispiel!Aufgabenstellung}% 56 | \index{Minimalbeispiel!Kollaboratives Schreiben}% 57 | % 58 | Eine Aufgabenstellung für eine wissenschaftliche Arbeit ist mithilfe der 59 | Umgebung \Environment{task}|?| oder dem Befehl \Macro{taskform}|?| aus dem 60 | Paket \Package{tudscrsupervisor} folgendermaßen dargestellt werden. 61 | \IncludeExample{task} 62 | 63 | \section{Gutachten} 64 | \tudhyperdef*{sec:exmpl:evaluation}% 65 | \index{Minimalbeispiel!Gutachten}% 66 | % 67 | Nach dem Laden des Paketes \Package{tudscrsupervisor} kann ein Gutachten für 68 | eine wissenschaftliche Arbeit mit der \Environment{evaluation}|?|"=Umgebung 69 | oder dem Befehl \Macro{evaluationform}|?| erstellt werden. 70 | \IncludeExample{evaluation} 71 | 72 | \section{Aushang} 73 | \tudhyperdef*{sec:exmpl:notice}% 74 | \index{Minimalbeispiel!Aushang}% 75 | % 76 | Das Paket \Package{tudscrsupervisor} stellt die Umgebung \Environment{notice}|?| 77 | für das Anfertigen allgemeiner Aushänge sowie den Befehl \Macro{noticeform}|?| 78 | für die Ausschreibung wissenschaftlicher Arbeiten bereit. 79 | \IncludeExample{notice} 80 | \end{Bundle} 81 | 82 | \begin{Bundle}{\Class{tudscrposter}} 83 | \section{Poster} 84 | \tudhyperdef*{sec:exmpl:poster}% 85 | \index{Minimalbeispiel!Poster}% 86 | % 87 | Mit der Klasse \Class{tudscrposter}|?| lässt sich ein Poster im \TUDCD 88 | erstellen. Dabei ist die Angabe des gewünschten Papierformates sowie der 89 | passenden Schriftgröße zu beachten. 90 | \IncludeExample{poster} 91 | \index{Minimalbeispiel|!)}% 92 | \end{Bundle} 93 | 94 | 95 | 96 | 97 | \setchapterpreamble{% 98 | \tudhyperdef'{sec:tut}% 99 | \begin{abstract} 100 | \hypersetup{linkcolor=red} 101 | In diesem Kapitel werden weiterführende Anwendungsbeispiele bereitgestellt. 102 | Diese Tutorials sind nicht unmittelbar im Handbuch enthalten sondern werden 103 | als externe Dateien bereitgehalten, welche direkt via Hyperlink geöffnet 104 | werden können. 105 | \end{abstract} 106 | } 107 | \chapter{Tutorials} 108 | \addsec*{Leitfaden für eine wissenschaftlichen Arbeit} 109 | \index{Tutorials|!(}% 110 | % 111 | Die meisten Anwender der \TUDScript-Klassen sind Studenten oder angehörige der 112 | \TnUD, die ihre ersten Schritte mit \hologo{LaTeXe} beim Verfassen einer 113 | wissenschaftlichen Arbeit oder ähnlichem machen. Während der Einstiegsphase in 114 | \hologo{LaTeXe} kann ein Anfänger sehr schnell aufgrund der großen Anzahl an 115 | empfohlenen Pakete sowie der teilweise diametral zueinander stehenden Hinweise 116 | überfordert sein. Mit dem Tutorial \Tutorial{treatise}|!| soll versucht werden, 117 | ein wenig Licht ins Dunkel zu bringen. Es erhebt jedoch keinerlei Anspruch, 118 | vollständig oder perfekt zu sein. Einige der darin vorgestellten Möglichkeiten 119 | lassen sich mit Sicherheit auch anders, einfacher und/oder besser lösen. 120 | Dennoch ist es gerade für Neulinge~-- vielleicht auch für den einen oder 121 | anderen \hologo{LaTeX}"=Veteran~-- als Leitfaden für die Erstellung einer 122 | wissenschaftlichen Arbeit gedacht. 123 | 124 | \addsec*{Ein Beitrag zum mathematischen Satz in \hologo{LaTeXe}} 125 | \index{Mathematiksatz}% 126 | % 127 | Das Tutorial \Tutorial{mathtype}|!| richtet sich an alle Anwender, die in ihrem 128 | \hologo{LaTeX}"=Dokument mathematische Formeln setzen wollen. In diesem wird 129 | ausführlich darauf eingegangen, wie mit wenigen Handgriffen ein typografisch 130 | sauberer Mathematiksatz zu bewerkstelligen ist. 131 | 132 | \addsec*{Änderung der Trennzeichen im Mathematikmodus} 133 | \index{Mathematiksatz}% 134 | \index{Zifferngruppierung}% 135 | % 136 | Sollen beim Verfassen eines \hologo{LaTeX}"=Dokumentes Daten in einem 137 | Zahlenformat importiert werden, welches nicht den Gepflogenheiten der 138 | Dokumentsprache entspricht, kommt es meist zu unschönen Ergebnissen bei der 139 | Ausgabe. Einfachstes Beispiel sind Daten, in denen als Dezimaltrennzeichen ein 140 | Punkt verwendet wird, wie es im englischsprachigen Raum der Fall ist. Sollen 141 | diese in einem Dokument deutscher Sprache eingebunden werden, müssten diese 142 | normalerweise allesamt angepasst und das ursprüngliche Dezimaltrennzeichen 143 | durch ein Komma ersetzt werden. Dieser Schritt wird mit dem \TUDScript-Paket 144 | \Package{mathswap} automatisiert. Wie dies genau funktioniert, wird im Tutorial 145 | \Tutorial{mathswap}|!| erläutert. 146 | \index{Tutorials|!)}% 147 | -------------------------------------------------------------------------------- /source/doc/tudscr-index.tex: -------------------------------------------------------------------------------- 1 | \CrossIndex{Optionen}{options}% 2 | \CrossIndex*{Befehle}{macros}% 3 | \CrossIndex{Bezeichner}{terms}% 4 | \CrossIndex{Seitenstile,Schriftelemente,Farben}{elements}% 5 | \CrossIndex*{Längen}{misc}% 6 | \CrossIndex{Zähler}{misc}% 7 | \CrossIndex*{Klassen,Pakete,Dateien}[Index der Dateien etc.]{files}% 8 | \CrossIndex*{Änderungen,Changelog,Version}[Änderungsliste]{changelog}% 9 | % 10 | \SeeRef*{Distribution}{\Distribution{Mac\hologo{TeX}}} 11 | \SeeRef*{Distribution}{\Distribution{\hologo{TeX}~Live}} 12 | \SeeRef*{Distribution}{\Distribution{\hologo{MiKTeX}}} 13 | % 14 | \index{Abbildungen|see{Grafiken}}% 15 | \index{Abschlussarbeit|see{Typisierung}}% 16 | \index{Aktualisierung|see{Update}}% 17 | \index{Aufzählungen|see{Listen}}% 18 | \index{Autorenangaben|see{Titel}}% 19 | \index{Bindekorrektur|see{Satzspiegel}}% 20 | \index{Cover|see{Umschlagseite}}% 21 | \index{Dezimaltrennzeichen|see{Zifferngruppierung}}% 22 | \index{doppelseitiger Satz|see{Satzspiegel}}% 23 | \index{Dresden-concept-Logo@\DDC-Logo|see{Layout}}% 24 | \index{Drittlogo|see{Layout}}% 25 | \index{Fachreferent|see{Referent}}% 26 | \index{Farben|see{Layout}}% 27 | \index{Fußzeile|see{Layout}}% 28 | \index{Installation|see{Update}}% 29 | \index{Gliederung|see{Layout!Überschriften}}% 30 | \index{Grafiken|see{Gleitobjekte}}% 31 | \index{Kapitelseiten|see{Layout}}% 32 | \index{Kapitelüberschriften|see{Layout}}% 33 | \index{Klassenoptionen|see{Optionen}}% 34 | \index{Kolumnentitel|see{Layout}}% 35 | \index{Kopfzeile|see{Layout}}% 36 | \index{Kurzfassung|see{Zusammenfassung}}% 37 | \index{Layout!Seitenränder|see{Satzspiegel}}% 38 | \index{Layout!Titel|see{Titel}}% 39 | \index{Layout!Umschlagseite|see{Umschlagseite}}% 40 | \index{Leerraum|see{Absatzauszeichnung}}% 41 | \index{Leerseiten|see{Vakatseiten}}% 42 | \index{Lokalisierung|see{Bezeichner}}% 43 | \index{Makros|see{Befehle}}% 44 | \index{Mathematiksatz|see{Einheiten}}% 45 | \index{Mathematiksatz|see{Griechische Buchstaben}}% 46 | \index{Mathematiksatz|see{Zifferngruppierung}}% 47 | \index{Nutzerinstallation|see{Installation}}% 48 | \index{Outline-Eintrag|see{Lesezeichen}}% 49 | \index{Parameter|see{Befehle}}% 50 | \index{Professor|see{Hochschullehrer}}% 51 | \index{Querbalken|see{Layout}}% 52 | \index{Seitenränder|see{Satzspiegel}}% 53 | \index{Seitenstile|see{Layout}}% 54 | \index{Silbentrennung|see{Worttrennung}}% 55 | \index{Sprachunterstützung|see{Bezeichner}}% 56 | \index{Sprachunterstützung|see{Worttrennung}}% 57 | \index{Sprungmarken|see{Lesezeichen}}% 58 | \index{Tabellen|see{Gleitobjekte}}% 59 | \index{Tausendertrennzeichen|see{Zifferngruppierung}}% 60 | \index{Teileseiten|see{Layout}}% 61 | \index{Teileüberschriften|see{Layout}}% 62 | \index{Titel!Umschlagseite|see{Umschlagseite}}% 63 | \index{Überfüllung|see{Beschnittzugabe}}% 64 | \index{Umgebungen|see{Befehle}}% 65 | \index{Trennmuster|see{Worttrennung}}% 66 | \index{Vektorgrafiken|see{Grafiken}}% 67 | \index{Versalien|see{Schriftauszeichnung}}% 68 | \index{zweiseitiger Satz|see{Satzspiegel}}% 69 | \index{zweispaltiger Satz|see{Satzspiegel}}% 70 | \index{Zweitlogo|see{Layout}}% 71 | 72 | 73 | \setchapterpreamble{% 74 | \addparttocentry{}{\indexname}% 75 | \begin{abstract} 76 | \noindent Die Formatierung der Einträge in allen aufgeführten Indexen ist 77 | folgendermaßen aufzufassen: \textbf{Zahlen in fetter Schrift} verweisen auf 78 | die \textbf{Erklärung} zu einem Stichwort, wobei in der digitalen Fassung 79 | dieses Handbuchs dieser Eintrag selbst ein Hyperlink zu seiner Erläuterung 80 | ist. Seitenzahlen in normaler Schriftstärke hingegen deuten auf zusätzliche 81 | Informationen, wobei diese für \textit{kursiv hervorgehobene Zahlen} als 82 | besonders \textit{wichtig} erachtet werden. 83 | 84 | Bei Einträgen für \hyperref[idx:options]{Klassen- und Paketoptionen}, 85 | \hyperref[idx:macros]{Umgebungen und Befehlen} sowie 86 | \hyperref[idx:elements]{Seitenstilen, Schriftelementen und Farben} 87 | respektive \hyperref[idx:misc]{Längen und Zählern}, zu denen keine direkte 88 | \textbf{Erklärung} existiert~-- und diese dementsprechend auch nicht als 89 | Hyperlink dargestellt sind~-- handelt es sich um zusätzliche Hinweise für 90 | Elemente, die nicht durch \TUDScript sondern von anderen Klassen oder 91 | Paketen zur Verfügung gestellt werden, welche im Suffix des entsprechenden 92 | Eintrages angegeben werden. 93 | \end{abstract} 94 | } 95 | \chapter*{\indexname} 96 | \PrintIndex 97 | \PrintChangelog 98 | -------------------------------------------------------------------------------- /source/doc/tudscr-introduction.tex: -------------------------------------------------------------------------------- 1 | \chapter{Einleitung} 2 | % 3 | Zur Verwendung von \TUDScript~\vTUDScript{} wird sowohl 4 | \KOMAScript~\vKOMAScript{} oder später als auch die Hausschrift des 5 | \CDs \OpenSans aus dem Paket \Package{opensans} zwingend benötigt. Außerdem 6 | müssen durch die genutzte \hologo{LaTeX}"=Distribution weitere Pakete 7 | bereitgestellt werden, die unter \autoref{sec:packages:needed} aufgeführt sind. 8 | Beim Einsatz einer der Distributionen\index{Distribution} 9 | \Distribution{\hologo{TeX}~Live}|?|, 10 | \Distribution{Mac\hologo{TeX}}|?| und 11 | \Distribution{\hologo{MiKTeX}}|?| 12 | in der jeweils aktuellen Versionen sollte dies kein Problem darstellen. Wird 13 | jedoch eine Distribution verwendet, die \TUDScript in der Version~\vTUDScript{} 14 | nicht zur Verfügung stellt und eine Aktualisierung dieser nicht möglich sein, 15 | so sollte \autoref{sec:install:ext} konsultiert werden. 16 | 17 | Das \TUDScript"=Bundle ist hauptsächlich für das Erstellen wissenschaftlicher 18 | Texte sowie Arbeiten gedacht und soll \emph{momentan} die ursprünglichen 19 | Klassen\footnote{% 20 | \Class{tudbook}, \Class{tudbeamer}, \Class{tudletter}, \Class{tudfax}, 21 | \Class{tudhaus}, \Class{tudform}% 22 | } aus dem Vorlagenpaket von Klaus Bergmann nicht ersetzen sondern vielmehr 23 | ergänzen. 24 | % 25 | Eine Umsetzung des \CDs für die \Class{beamer}"=Klasse sowie für Briefe und 26 | Geschäftsschreiben auf Basis des \KOMAScript"=Brief"=Klasse \Class{scrlttr2} 27 | ist bis jetzt leider noch nicht mit \TUDScript realisiert worden, soll jedoch 28 | langfristig erfolgen. Im Bundle \Class{tudmathposter} existieren für die 29 | \Class{beamer}"=Klasse allerdings bereits mehrere Stile. Dieses ist im 30 | \hrfn{https://github.com/tud-cd/tud-cd/}{% 31 | GitHub-Repository~\Distribution*{tud-cd}% 32 | } zu finden. Für das Erstellen von Briefen mit den \TUDScript"=Klassen ließe 33 | sich das Paket \Package{scrletter} nutzen. 34 | 35 | 36 | 37 | \section{Bestandteile und Nutzung des \TUDScript-Bundles} 38 | % 39 | \ChangedAt{% 40 | v2.01:\TUDScript-Bundle auf CTAN veröffentlicht;% 41 | v2.02:Installationsroutine der Type1-Schriften angepasst;% 42 | v2.04:Installationsskripte verbessert und robuster gestaltet sowie für die 43 | beiden portablen Distributionen \Distribution*{\hologo{TeX}~Live~Portable} 44 | und \Distribution*{\hologo{MiKTeX}~Portable} erweitert;% 45 | v2.06:Schriften im Paket \Package{opensans}, manuelle Installation unnötig;% 46 | } 47 | % 48 | Das \TUDScript-Bundle wird über das \CTAN bereitgestellt und kann durch 49 | \hologo{LaTeX}"=Distributionen wie \Distribution{\hologo{TeX}~Live}|?|, 50 | \Distribution{Mac\hologo{TeX}}|?| oder auch \Distribution{\hologo{MiKTeX}}|?| 51 | genutzt werden. Es stellt zum einen die drei Hauptklassen \Class{tudscrbook}, 52 | \Class{tudscrreprt} sowie \Class{tudscrartcl} und zum anderen die Klasse 53 | \Class{tudscrposter} zur Verfügung, welche in \autoref{sec:mainclasses} 54 | beziehungsweise \autoref{sec:poster} vorgestellt werden. Das Paket 55 | \Package{tudscrsupervisor}~-- dokumentiert in \autoref{sec:supervisor}~-- kann 56 | zusammen mit den \TUDScript"=Klassen genutzt werden, um Aufgabenstellungen, 57 | Aushänge oder Gutachten für studentische Arbeiten zu erstellen. Weiterhin 58 | existieren auch eigenständige Pakete, welche in \autoref{sec:bundle} 59 | beschrieben sind. Für die Verwendung des \TUDScript-Bundles ist~-- neben 60 | \KOMAScript{} mindestens in der Version~\vKOMAScript{} sowie den in 61 | \autoref{sec:packages:needed} aufgeführten \hologo{LaTeX}"=Paketen~-- seit der 62 | Version~v2.06 lediglich die Schrift \OpenSans vonnöten, welche durch das Paket 63 | \Package{opensans} zur Verfügung gestellt wird. Eine lokale Nutzerinstallation 64 | der Schriften~-- wie in vorherigen Versionen~-- ist nicht notwendig. Lediglich 65 | für den Fall, dass gezielt die alten Schriften \Univers und \DIN eingesetzt 66 | werden sollen, müssen diese auch installiert sein. Weitere Hinweise dazu sind 67 | in \autoref{sec:install:fonts} zu finden. Um diese zu aktivieren, sei auf 68 | \Option{tudscrver=2.05} und \Option{cdoldfont} verwiesen. 69 | 70 | \minisec{Anmerkung zu Windows} 71 | Für Windows können zwei unterschiedliche \hologo{LaTeX}"=Distributionen genutzt 72 | werden. Die Vorteile von \Distribution{\hologo{TeX}~Live}|?| im Vergleich zu 73 | \Distribution{\hologo{MiKTeX}}|?| liegen zum einen in der Wartung durch mehrere 74 | Autoren sowie der früheren Verfügbarkeit aller Updates über CTAN. Zum anderen 75 | werden zusätzlich zu \hologo{LaTeXe} ein \emph{Perl"~Interpreter} sowie 76 | \emph{Ghostscript} mitgeliefert, wodurch die Ad"=hoc"=Verwendung einiger 77 | Pakete wie beispielsweise \Package{glossaries} vereinfacht beziehungsweise 78 | verbessert wird. Für \Distribution{\hologo{MiKTeX}}|?| müssen diese Programme 79 | gegebenenfalls manuell installiert werden. Demgegenüber entfällt für 80 | \Distribution{\hologo{MiKTeX}}|?| die alljährliche Neuinstallation, welche bei 81 | \Distribution{\hologo{TeX}~Live}|?| notwendig ist. 82 | 83 | \minisec{Anmerkung zu Linux und OS~X} 84 | Die Installation einer der \hologo{LaTeX}"=Distributionen 85 | \Distribution{\hologo{TeX}~Live}|?| oder \Distribution{Mac\hologo{TeX}}|?| 86 | sollte direkt über die angebotenen Pakete 87 | (\url{https://tug.org/texlive/} oder \url{https://tug.org/mactex/}) und nicht 88 | über \Path{apt-get install} erfolgen. Damit wird sichergestellt, dass die 89 | aktuelle Variante der jeweiligen Distribution genutzt wird. 90 | 91 | 92 | 93 | \section{Zur Verwendung dieses Handbuchs} 94 | Sämtliche neu definierten Optionen, Umgebungen und Befehle der Klassen und 95 | Pakete des \TUDScript-Bundles werden im Handbuch aufgeführt und beschrieben. Am 96 | Ende des Dokumentes befinden sich mehrere Indexe, die das Nachschlagen oder 97 | Auffinden von bisher unbekannten Befehlen oder Optionen erleichtern sollen. 98 | 99 | Die im Folgenden beschriebenen Optionen können~-- wie ein Großteil aller 100 | Einstellungen für \KOMAScript~-- in der Syntax des \Package{keyval}"=Paketes 101 | als Schlüssel"=Wert"=Paare bei der Wahl der Dokumentklasse angegeben werden: 102 | \Macro*{documentclass}[% 103 | \POParameter{\PName{Schlüssel}\PValue{=}\PName{Wert}}\Parameter{Klasse}% 104 | ] 105 | 106 | Des Weiteren eröffnen die \KOMAScript"=Klassen die Möglichkeit der späten 107 | Optionenwahl. Damit können Optionen nicht nur direkt beim Laden als sogenannte 108 | Klassenoptionen angegeben werden, sondern lassen sich auch noch innerhalb des 109 | Dokumentes nach dem Laden der Klasse ändern. Die \KOMAScript"=Klassen sehen 110 | hierfür zwei Befehle vor. Mit 111 | \Macro{KOMAoptions}[\Parameter{Optionenliste}](\Package{koma-script})'none' 112 | lassen sich beliebig viele Schlüsseln jeweils genau einen Wert zuweisen, 113 | \Macro{KOMAoption}[% 114 | \Parameter{Option}\Parameter{Werteliste}% 115 | ](\Package{koma-script})'none' 116 | erlaubt das gleichzeitige Setzen mehrere Werte für genau einen Schlüssel. 117 | Für die von \TUDScript \emph{zusätzlich} zur Verfügung gestellten Optionen 118 | werden äquivalent dazu die Befehle \Macro{TUDoptions}[\Parameter{Optionenliste}] 119 | und \Macro{TUDoption}[\Parameter{Option}\Parameter{Werteliste}] definiert. 120 | Damit kann das Verhalten von Optionen im Dokument~-- innerhalb einer Gruppe 121 | auch lokal~-- geändert werden. 122 | 123 | Die Voreinstellung jeder Option wird mit \enquote{Standardwert:\,\PName{Wert}} 124 | bei deren Beschreibung angeführt. Einige dieser Voreinstellungen sind nicht 125 | immer gleich sondern werden in Abhängigkeit der genutzten Benutzereinstellungen 126 | und Optionen gesetzt. Diese bedingten Voreinstellungen werden durch 127 | \enquote{% 128 | Standardwert:\,\PName{Wert}% 129 | \PValue{\,|\,}Bedingung:\,\PName{bedingter~Wert}% 130 | } 131 | angegeben. Wird ein Schlüssel durch den Benutzer \emph{ohne} eine Wertzuweisung 132 | genutzt, so wird~-- falls vorhanden~-- ein vordefinierter Säumniswert gesetzt, 133 | welcher in der Beschreibung aller Optionen durch die~\PValue{\emph{kursive}} 134 | Schreibweise innerhalb der Werteliste gekennzeichnet ist. In den meisten Fällen 135 | ist der Säumniswert eines Schlüssels \PValue{true}, er entspricht folglich der 136 | Angabe \PName{Schlüssel}\PValue{=true}. Mit der expliziten Wertzuweisung eines 137 | Schlüssels durch den Benutzer werden sowohl einfache als auch bedingte 138 | Voreinstellungen immer überschrieben. Die neben den Optionen neu eingeführten 139 | Befehle und Umgebungen der Klassen werden im gleichen Stil erläutert. 140 | 141 | 142 | 143 | \section{Schnelleinstieg} 144 | Das Handbuch gliedert sich in drei Teile. In \autoref{part:main} ist die 145 | Dokumentation von \TUDScript zu finden. Hier werden alle neuen Optionen, 146 | Umgebungen und Befehle, die über die Funktionalität von \KOMAScript{} 147 | hinausgehen, erläutert. \autoref{part:additional} enthält zum einen einfache 148 | Minimalbeispiele, um den prinzipiellen Umgang und die Funktionalitäten von 149 | \TUDScript zu demonstrieren. Zum anderen werden hier auch ausführliche und 150 | dokumentierte Tutorials vor allem für \hologo{LaTeX}"=Neulinge angeboten. 151 | Insbesondere das Tutorial \Tutorial{treatise} ist mehr als einen Blick wert, 152 | wenn eine wissenschaftliche Arbeit mit \hologo{LaTeXe} verfasst werden soll. 153 | Abschließend werden verschiedenste Pakete vorgestellt, die nicht speziell für 154 | das \TUDScript-Bundle selber sondern auch für andere \hologo{LaTeXe}"=Klassen 155 | verwendet werden können und demzufolge für jeden Anwender interessant sein 156 | könnten. Außerdem werden hier einige Tipps \& Tricks beim Umgang mit 157 | \hologo{LaTeX} beschrieben, um kleinere oder größere Probleme zu lösen. 158 | 159 | Die Klassen \Class{tudscrbook}, \Class{tudscrreprt} und \Class{tudscrartcl} 160 | sind Wrapper"=Klassen der bekannten \KOMAScript-Klassen \Class{scrbook}, 161 | \Class{scrreprt} sowie \Class{scrartcl} und können einfach anstelle deren 162 | verwendet werden. Auf diesen basierende Dokumente können durch das Umstellen 163 | der Dokumentklasse einfach in das \TUDCD überführt werden. Bei Fragestellungen 164 | bezüglich Layout, Schriften oder ähnlichem ist in jedem Fall ein weiterer Blick 165 | in das hier vorliegende Handbuch empfehlenswert. 166 | -------------------------------------------------------------------------------- /source/doc/tudscr-poster.tex: -------------------------------------------------------------------------------- 1 | \setchapterpreamble{\tudhyperdef'{sec:poster}} 2 | \chapter[Die Posterklasse \Class*{tudscrposter}]{Die Posterklasse} 3 | % 4 | \begin{Bundle*}[v2.05]{\Class{tudscrposter}} 5 | \index{Posterklasse|!}% 6 | \printchangedatlist% 7 | % 8 | Ergänzend zu den Hauptklassen, welche für das Setzen von Dokumenten im \TUDCD 9 | angeboten werden, wird die Klasse \Class{tudscrposter} bereitgestellt. Mit 10 | dieser wird das Erstellen von Postern im gleichen Layout mit \hologo{LaTeX} 11 | ermöglicht. Die Basis hierfür ist \Class{tudscrartcl} und \emph{fast} alle 12 | durch diese Klasse angebotenen Befehle und Optionen können gleichermaßen mit 13 | \Class{tudscrposter} verwendet werden. Ein Minimalbeispiel zur Verwendung der 14 | Klasse ist in \fullref{sec:exmpl:poster} zu finden. 15 | 16 | Der größte Unterschied zu den Hauptklassen ist insbesondere ein vereinfachter 17 | Titel. Eine Umschlagseite steht für \Class{tudscrposter} nicht zur Verfügung, 18 | die entsprechende Option \Option*{cdcover} sowie der dazugehörige Befehl 19 | \Macro*{makecover} sind nicht definiert. Der Titel selbst kann mit 20 | \Macro{maketitle} lediglich als Titelkopf gesetzt werden, eine separate 21 | Titelseite existiert nicht. Aus diesem Grund sind mit \Macro{title}, 22 | \Macro{subtitle}, \Macro{subject} und \Macro{titlehead}(\Package{koma-script}) 23 | auch nur eine reduzierte Anzahl an Befehlen für den Titel verfügbar, die wie 24 | gewohnt genutzt werden können. Prinzipiell lassen sich auch noch die beiden 25 | Befehle für den Schmutztitel \Macro{extratitle}(\Package{koma-script}) sowie 26 | \Macro{frontispiece}(\Package{koma-script}) nutzen, wobei deren Verwendung für 27 | ein Poster eher fraglich ist. 28 | 29 | Alle weiteren in \autoref{sec:title} vorgestellten Befehle und Optionen sind 30 | für \Class{tudscrposter} nicht definiert. Dies betrifft zum einen sowohl das 31 | Schriftelement \Font*{thesis} als auch die Befehle \Macro*{titledelimiter}, 32 | \Macro*{thesis}, \Macro*{referee}, \Macro*{advisor}, \Macro*{graduation} und 33 | \Macro*{defensedate}. Zum anderen stehen die Makros für ergänzende 34 | Autorenangaben \Macro*{dateofbirth}, \Macro*{placeofbirth}, 35 | \Macro*{matriculationyear} und \Macro*{matriculationnumber} wie auch 36 | die Option \Option*{subjectthesis} \emph{nicht} zur Verfügung. Die durch 37 | \KOMAScript{} für eine Titelseite bereitgestellten Befehle 38 | \Macro*{date}, \Macro*{publishers}(\Package{koma-script}) und 39 | \Macro*{dedication}(\Package{koma-script}) sowie 40 | \Macro*{uppertitleback}(\Package{koma-script}) und 41 | \Macro*{lowertitleback}(\Package{koma-script}) haben bei der Klasse 42 | \Class{tudscrposter} keinerlei Funktionalität. Die Befehle \Macro{author} und 43 | \Macro{authormore} existieren weiterhin, werden allerdings nicht für den Titel 44 | wohl jedoch für den speziellen Fußbereich eines Posters verwendet, welcher in 45 | \autoref{sec:poster:foot} weiterführend beschrieben wird. 46 | 47 | Neben der signifikanten Vereinfachung des Titels entfallen für die Klasse 48 | \Class{tudscrposter} einige weitere Befehle und Umgebungen. Namentlich sind 49 | dies die Umgebung \Environment*{tudpage}, die Optionen \Option*{headingsvskip} 50 | und \Option*{pageheadingsvskip} sowie alle zu Selbstständigkeitserklärung und 51 | Sperrvermerk gehörigen Elemente, wie die Option (\Option*{declaration}), die 52 | Umgebung (\Environment*{declarations}) und die Befehle (\Macro*{declaration}, 53 | \Macro*{confirmation}, \Macro*{blocking}). Die Umgebung \Environment{abstract} 54 | kann weiterhin genutzt werden, allerdings kann mit der Option \Option{abstract} 55 | lediglich noch die Gliederungsebene der Überschrift angepasst werden. 56 | 57 | \section{Layout und Formatierung eines Posters} 58 | % 59 | Die augenscheinlichsten Einstellungen für die Gestaltung eines Posters sind 60 | sicherlich das verwendete Papierformat und die farbliche Ausprägung sowie die 61 | Auswahl der Schriftart und deren Größe. Als Grundeinstellung für die Klasse 62 | \Class{tudscrposter} sind die Schriften des \TUDCDs aktiviert. Diese lassen 63 | sich~-- wie auch bei den Hauptklassen~-- anpassen. Weitere Informationen hierzu 64 | sind der Erläuterung zur Option \Option{cdfont}'full' zu entnehmen. 65 | 66 | Nachfolgend wird kurz erläutert, wie sich allgemeine Formatierung eines mit 67 | \Class{tudscrposter} erstellten Posters anpassen lässt. Der Inhalt kann völlig 68 | frei gestaltet werden, es gibt hierfür bisher keinerlei von \TUDScript 69 | vordefinierte Befehle und Optionen, welche die Inhalte in ein bestimmtes Layout 70 | übersetzen. 71 | 72 | 73 | 74 | \subsection{Die Wahl von Papierformat und Schriftgröße} 75 | \tudhyperdef*{sec:fontsize}% 76 | \index{Papierformat|!}% 77 | \index{Schriftgröße|!}% 78 | 79 | Die Festlegung von \emph{Papierformat} und \emph{Schriftgröße} ist essentiell 80 | für das Erstellen eines Posters und sollten \emph{immer} vorgenommen werden. 81 | \Attention{Beide Einstellungen müssen zwingend als Klassenoption erfolgen.} 82 | Bei der Schriftgrößenauswahl ist darauf zu achten, ob der Satz des Posters 83 | ein- oder mehrspaltig erfolgen soll. Für letzteres Unterfangen ist die 84 | \Environment{multicols}(\Package{multicol})'none'"~Umgebung aus dem Paket 85 | \Package{multicol} sehr empfehlenswert. 86 | 87 | Zur Festlegung des Papierformats ist die \KOMAScript-Option 88 | \Option{paper=\PSet}(\Package{typearea})'none'|declare| zu verwenden. Dabei 89 | lassen sich mit \Option{paper=\PValueName{Format}}(\Package{typearea})'none' 90 | unter anderem die gängigen Klassen der ISO/DIN"~Reihen A~bis~D als auch Quer- 91 | oder Längsformat auswählen. Ein beliebiges Format kann mit der Einstellung 92 | \Option{paper=\PValueName{Höhe}{:}\PValueName{Breite}}(\Package{typearea})'none' 93 | gewählt werden. Für zusätzliche Hinweise ist das \scrguide zu Rate zu ziehen. 94 | 95 | Passend zum ausgewählten Papierformat sowie der gewünschten Anzahl an 96 | Textspalten des Posters sollte unbedingt die Schriftgröße mit 97 | \Option{fontsize=\PName{Schriftgröße}}(\Package{koma-script})'none'|declare| 98 | angegeben werden. Für eine passend abgestimmte Auswahl von Papierformat und 99 | Schriftgröße ist \autoref{tab:font+paper} als Referenz zu nutzen. Sollten Sie 100 | aufgrund der Schriftgrößenänderung eine oder mehrere Warnungen vom Typ 101 | % 102 | \begin{quoting} 103 | \begin{Code} 104 | Font shape `T1/cmr/m/n' in size <...> not available 105 | \end{Code} 106 | \end{quoting} 107 | % 108 | erhalten, so beachten Sie bitte die Hinweise aus \autoref{sec:tips:fontsize}. 109 | 110 | 111 | \begin{table} 112 | \index{Papierformat|!}% 113 | \index{Schriftgröße|!}% 114 | \newcommand*\mtm{\small min\dots{}max}% 115 | \newcommand*\rng[2]{\small #1\dots{}#2pt}% 116 | \ttabbox[\linewidth]{% 117 | \setlength\tabcolsep{5pt}% 118 | \centering% 119 | \begin{subfloatrow}% 120 | \ttabbox{% 121 | \begin{tabular}{r*{7}c} 122 | \toprule 123 | &\multicolumn{7}{c}{Klasse} \tabularnewline\midrule 124 | & 6 & 5 & 4 & 3 & 2 & 1 & 0 \tabularnewline\midrule 125 | Reihe & \mtm & \mtm & \mtm & \mtm & \mtm & \mtm & \mtm \tabularnewline\midrule 126 | D &\rng{05}{07} &\rng{06}{09} &\rng{10}{14} &\rng{14}{20}% 127 | &\rng{20}{29} &\rng{28}{40} &\rng{40}{60} \tabularnewline\midrule 128 | A &\rng{06}{08} &\rng{07}{10} &\rng{11}{16} &\rng{16}{23}% 129 | &\rng{23}{33} &\rng{32}{46} &\rng{45}{66} \tabularnewline\midrule 130 | C &\rng{07}{09} &\rng{08}{11} &\rng{12}{18} &\rng{18}{26}% 131 | &\rng{26}{37} &\rng{36}{52} &\rng{50}{72} \tabularnewline\midrule 132 | B &\rng{08}{10} &\rng{09}{12} &\rng{13}{20} &\rng{20}{29}% 133 | &\rng{29}{41} &\rng{40}{58} &\rng{55}{78} \tabularnewline\bottomrule 134 | \end{tabular} 135 | }{\caption{Einspaltiges Layout}}% 136 | \end{subfloatrow}% 137 | \par\medskip 138 | \begin{subfloatrow}% 139 | \ttabbox{% 140 | \begin{tabular}{r*{4}c} 141 | \toprule 142 | &\multicolumn{4}{c}{Klasse} \tabularnewline\midrule 143 | & 3 & 2 & 1 & 0 \tabularnewline\midrule 144 | Reihe & \mtm & \mtm & \mtm & \mtm \tabularnewline\midrule 145 | D&\rng{07}{10}&\rng{10}{14}&\rng{14}{19}&\rng{19}{28}\tabularnewline\midrule 146 | A&\rng{08}{11}&\rng{11}{16}&\rng{16}{22}&\rng{22}{32}\tabularnewline\midrule 147 | C&\rng{09}{12}&\rng{12}{18}&\rng{18}{25}&\rng{25}{36}\tabularnewline\midrule 148 | B&\rng{10}{13}&\rng{13}{20}&\rng{20}{28}&\rng{28}{40}\tabularnewline\bottomrule 149 | \end{tabular} 150 | }{\caption{Zweispaltiges Layout}}% 151 | \ttabbox{% 152 | \begin{tabular}{r*{2}c} 153 | \toprule 154 | &\multicolumn{2}{c}{Klasse} \tabularnewline\midrule 155 | & 1 & 0 \tabularnewline\midrule 156 | Reihe & \mtm & \mtm \tabularnewline\midrule 157 | D &\rng{07}{10} &\rng{10}{14} \tabularnewline\midrule 158 | A &\rng{08}{11} &\rng{11}{16} \tabularnewline\midrule 159 | C &\rng{09}{12} &\rng{12}{18} \tabularnewline\midrule 160 | B &\rng{10}{13} &\rng{13}{20} \tabularnewline\bottomrule 161 | \end{tabular} 162 | }{\caption{Dreispaltiges Layout}}% 163 | \end{subfloatrow}% 164 | }{% 165 | \caption{% 166 | Empfohlene Kombinationen für die Wahl von Papierformat 167 | (\Option{paper}(\Package{typearea})'none') und Schriftgröße 168 | (\Option{fontsize}(\Package{koma-script})'none')% 169 | }% 170 | \label{tab:font+paper}% 171 | }% 172 | \end{table} 173 | 174 | 175 | 176 | \subsection{Die Gestalt eines Posters} 177 | 178 | Die Festlegung der Farbausprägung eines Posters erfolgt mit der Option 179 | \Option{cd}, welche nachfolgend beschrieben wird. Dabei kann aus einigen 180 | Varianten zur Farbgestaltung gewählt werden. Sollte keiner dieser 181 | vordefinierten Werte das gewünschte Layout zur Verfügung stellen, lässt sich 182 | dieses mit den Optionen \Option{cdhead} und \Option{cdfoot} sowie 183 | \Option{cdtitle}, \Option{cdpart} und \Option{cdsection} nachträglich 184 | noch genauer anpassen. 185 | 186 | 187 | \begin{Declaration}{\Option{cd=\PSet}}[bicolor] 188 | \printdeclarationlist% 189 | % 190 | Äquivalent zu den \TUDScript-Hauptklassen wird mit dieser Option die Verwendung 191 | des \TUDCDs für das Poster festgelegt. Sie hat Einfluss auf die Farbgestaltung 192 | der Gliederungsüberschriften sowie des Seitenstils, welcher standardmäßig auf 193 | \PageStyle{empty.tudheadings} gesetzt wird. 194 | % 195 | \begin{values}{\Option{cd}} 196 | \itemfalse 197 | Hiermit wird das \CD komplett deaktiviert und es werden keine spezifischen 198 | Einstellungen für ein Poster vorgenommen. Lediglich der Seitenstil wird auf 199 | \PageStyle{empty} festgelegt. 200 | \itemtrue*[nocolor/monochrome] 201 | Es wird schwarze Schrift für Überschriften und den Seitenkopf verwendet. Der 202 | Fußbereich wird nicht farbig akzentuiert. 203 | \item[lightcolor/pale] 204 | Die Einstellung entspricht weitestgehend der Option \Option{cd=true}, 205 | allerdings wird die primäre Hausfarbe \Color{HKS41} für Kopf sowie Fuß und 206 | die Überschriften genutzt. 207 | \item[barcolor] 208 | Zusätzlich zur vorherigen Einstellung wird außerdem der Querbalken farbig 209 | abgesetzt. 210 | \item[bicolor/color/fullcolor] 211 | Der Kopf wird mit einem farbigen Hintergrund in der primären Hausfarbe 212 | \Color{HKS41} gesetzt, der Querbalken wird farbig abgesetzt. Ebenso wird für 213 | alle Überschriften die Hausfarbe verwendet, der Fußbereich erhält ebenfalls 214 | einen farbigen Hintergrund. 215 | \end{values} 216 | \end{Declaration} 217 | 218 | \begin{Declaration}{\Option{backcolor=\PSet}}[true] 219 | \printdeclarationlist% 220 | % 221 | Mit dieser Option kann die Hintergrundfarbe eines Posters definiert werden. 222 | % 223 | \begin{values}{\Option{backcolor}} 224 | \itemfalse[nocolor] 225 | Es wird keine Farbe festgelegt, der Hintergrund erscheint weiß. 226 | \itemtrue*[color] 227 | Der Seitenhintergrund wird in der primären Hausfarbe \Color{HKS41} gewählt. 228 | \item[\PValueName{Farbe}] 229 | Die angegebene \PName{Farbe} wird als Hintergrund für das Poster genutzt. 230 | \end{values} 231 | \end{Declaration} 232 | 233 | \begin{Declaration}{\Option{bleedmargin=\PName{Längenwert}}}[0.2in] 234 | \printdeclarationlist% 235 | \index{Beschnittzugabe|?}% 236 | \index{Schnittmarken|?}% 237 | % 238 | Soll das Poster in einem Papierformat gedruckt werden, welches anschließend 239 | noch auf das Zielformat zugeschnitten wird, weil beispielsweise ein randloses 240 | Drucken nicht möglich ist, kann diese Option genutzt werden, um die farbigen 241 | Elemente des Layouts in den Bereich der Beschnittzugabe respektive Überfüllung 242 | zu vergrößern. Damit ist ein \enquote{Zuschneiden in die Farbe} sehr einfach 243 | und ohne große Probleme realisierbar. 244 | 245 | Die von der Einstellung \Option{bleedmargin=\PName{Längenwert}} abhängigen 246 | Elemente sind zum einen Kopf- und Fußbereich, beeinflusst durch die Optionen 247 | \Option{cdhead} und \Option{cdfoot}. Werden diese farbig gesetzt, so werden 248 | diese um den angegebenen \PName{Längenwert} über das gewünschte Zielformat 249 | hinaus vergrößert. Zum anderen wird auch der mit \Option{backcolor} 250 | gegebenenfalls eingestellte, farbige Seitenhintergrund erweitert. Wie sich der 251 | Entwurf eines Posters in einem bestimmten Zielformat auf einem übergroßem 252 | Papierbogen tatsächlich realisieren lässt, wird in \fullref{sec:tips:crop} 253 | exemplarisch dargestellt. 254 | \end{Declaration} 255 | 256 | 257 | 258 | \section{Felder für den Fußbereich} 259 | \tudhyperdef*{sec:poster:foot}% 260 | % 261 | Der Fußbereich eines Posters kann mit \Macro{footcontent} eigens und frei 262 | definiert werden. Geschieht dies nicht, wird standardmäßig ein vordefinierte 263 | Fuß gesetzt, welcher Angaben von bestimmten Feldern ausgibt, die insbesondere 264 | als Kontaktinformationen gedacht sind. Welche das im Einzelnen sind, wird 265 | nachfolgend erläutert. Die farbliche Ausprägung des Fußes wird durch die Option 266 | \Option{cdfoot} festgelegt. 267 | 268 | \begin{Declaration}{% 269 | \Macro{faculty}[\OParameter{Fußzeile}\Parameter{Fakultät}]% 270 | } 271 | \begin{Declaration}{% 272 | \Macro{department}[\OParameter{Fußzeile}\Parameter{Einrichtung}]% 273 | } 274 | \begin{Declaration}{% 275 | \Macro{institute}[\OParameter{Fußzeile}\Parameter{Institut}]% 276 | } 277 | \begin{Declaration}{% 278 | \Macro{chair}[\OParameter{Fußzeile}\Parameter{Lehrstuhl}]% 279 | } 280 | \printdeclarationlist% 281 | % 282 | Die mit diesen Befehlen gemachten Angaben werden nicht nur im Kopf sondern 283 | zusätzlich auch im linken Teil des Fußbereichs ausgegeben. Sollen diese für den 284 | Fußbereich angepasst werden, lässt das optionale Argument hierfür verwenden, 285 | wobei die Angabe eines leeren optionalen Argumentes das Feld für den Fuß 286 | komplett unterdrückt. Vor allen Angaben wird der Bezeichner \Term{contactname} 287 | in fetter Schrift ausgegeben. 288 | \end{Declaration} 289 | \end{Declaration} 290 | \end{Declaration} 291 | \end{Declaration} 292 | 293 | 294 | \begin{Declaration}{\Macro{professor}[\Parameter{Name}]} 295 | \printdeclarationlist% 296 | % 297 | Zusätzlich zu den Angaben der Einrichtung kann mit \Macro{professor} der 298 | aktuelle Inhaber der genannten Professur im linken Fußbereich angegeben werden. 299 | \end{Declaration} 300 | 301 | \begin{Declaration}{\Macro{author}[\Parameter{Autor(en)}]} 302 | \begin{Declaration}{\Macro{contactperson}[\Parameter{Name(n)}]} 303 | \begin{Declaration}{\Macro{authormore}[\Parameter{Autorenzusatz}]} 304 | \begin{Declaration}{\Macro{course}[\Parameter{Studiengang}]} 305 | \begin{Declaration}{\Macro{discipline}[\Parameter{Studienrichtung}]} 306 | \begin{Declaration}{\Macro{office}[\Parameter{Adresse/Gebäude}]} 307 | \begin{Declaration}{\Macro{telephone}[\Parameter{Telefonnummer}]} 308 | \begin{Declaration}{\Macro{telefax}[\Parameter{Telefaxnummer}]} 309 | \printdeclarationlist% 310 | % 311 | Der oder die mit \Macro{author} angegebenen Autoren werden im rechten Teil des 312 | Fußbereichs (nacheinander) ausgegeben, mehrere Autoren sind mit \Macro{and} 313 | voneinander zu trennen. Die Befehle \Macro{authormore}, \Macro{course} und 314 | \Macro{discipline} sowie \Macro{office}, \Macro{telephone}, \Macro{telefax} und 315 | \Macro{emailaddress} können für zusätzliche Angaben zu jedem Autor innerhalb 316 | des Argumentes von \Macro{author} verwendet werden. Vor der Ausgabe aller 317 | Autoreninformationen wird der Bezeichner \Term{authorname} in fetter Schrift 318 | gesetzt. Ohne die Angabe von \Macro{author} erfolgt keine Ausgabe. 319 | 320 | Danach folgen alle mit \Macro{contactperson} gemachten Angaben. Auch hier ist 321 | \Macro{and} für eine Trennung mehrerer Personen zu nutzen, wobei hier lediglich 322 | die Befehle \Macro{emailaddress}, \Macro{office}, \Macro{telephone} und 323 | \Macro{telefax} nicht jedoch \Macro{authormore} sowie \Macro{course} und 324 | \Macro{discipline} für zusätzliche Angaben zu verwenden sind. Bevor die 325 | Ansprechpartner ausgegeben werden, wird der Bezeichner \Term{contactpersonname} 326 | in fetter Schrift gesetzt. Es ist natürlich auch möglich nur Autor(en) oder 327 | Ansprechpartner anzugeben. 328 | \end{Declaration} 329 | \end{Declaration} 330 | \end{Declaration} 331 | \end{Declaration} 332 | \end{Declaration} 333 | \end{Declaration} 334 | \end{Declaration} 335 | \end{Declaration} 336 | 337 | \begin{Declaration}{\Macro{webpage}[\OParameter{Einstellungen}\Parameter{URL}]} 338 | \begin{Declaration}{\Macro{webpage*}[\Parameter{URL}]} 339 | \printdeclarationlist% 340 | % 341 | Ganz zum Schluss kann für die rechte Spalte des Fußbereichs eine Homepage 342 | angegeben werden. Wurde das Paket \Package{hyperref} geladen, wird diese in 343 | einen Hyperlink gewandelt. Über das optionale Argument können beliebige 344 | Einstellungen an \Macro{hypersetup}(\Package{hyperref})'none' aus besagtem 345 | Paket übergeben werden. Soll die Formatierung des Eintrags manuell erfolgen, so 346 | kann die Sternversion \Macro{webpage*} verwendet werden, wobei alle gewünschten 347 | Einstellungen innerhalb des Argumentes~-- gegebenenfalls in einer Gruppe~-- 348 | vorgenommen werden müssen. 349 | \end{Declaration} 350 | \end{Declaration} 351 | 352 | 353 | \section{Sprachabhängige Bezeichner für den Fußbereich} 354 | 355 | \begin{Declaration}{\Term{contactname}} 356 | \begin{Declaration}{\Term{authorname}} 357 | \begin{Declaration}{\Term{contactpersonname}} 358 | \printdeclarationlist% 359 | % 360 | Wie bereits zuvor erläutert, werden diese Bezeichner in der linken respektive 361 | rechten Spalte im Fuß vor der Ausgabe der eigentlichen Felder gesetzt. 362 | \TermTable{contactname,authorname,contactpersonname} 363 | \end{Declaration} 364 | \end{Declaration} 365 | \end{Declaration} 366 | 367 | \ToDo[imp]{% 368 | Symbole für Telefon, Fax und E-Mail in \autoref{sec:poster:foot}? 369 | Woher? marvosym?%\Email\fax\Faxmachine\FAX\Letter\Mobilefone\Telefon 370 | }[v2.07] 371 | \end{Bundle*} 372 | -------------------------------------------------------------------------------- /source/doc/tudscr-preface.tex: -------------------------------------------------------------------------------- 1 | \addchap[tocentry={}]{\prefacename} 2 | In diesem Handbuch werden die für das Erstellen von \hologo{LaTeX}"=Dokumenten 3 | im \hrfn{https://tu-dresden.de/cd/}{\TUDCD} entwickelten Klassen und Pakete 4 | beschrieben. Diese basieren auf den gerade im deutschsprachigen Raum häufig 5 | verwendeten \KOMAScript"=Klassen, die eine Vielzahl von Einstellmöglichkeiten 6 | bieten, welche weit über die Möglichkeiten der \hologo{LaTeX}"=Standardklassen 7 | hinausgehen. Zusätzlich bietet das \TUDScript-Bundle weitere, insbesondere das 8 | Dokumentlayout betreffende Auswahlmöglichkeiten. 9 | 10 | Es sei angemerkt, dass die hier beschriebenen Klassen eine Abweichung vom 11 | \TUDCD zulassen, da dieses gerade unter typografischen Gesichtspunkten 12 | durchaus als diskussionswürdig zu erachten ist. Prinzipiell ist es mit den 13 | entsprechenden Einstellungen möglich, auf das Layout der \KOMAScript"=Klassen 14 | zurückzuschalten. Ohne die gezielte Verwendung dieser Optionen durch den 15 | Anwender werden per Voreinstellung alle Vorgaben des \CDs umgesetzt. 16 | 17 | Dieses Handbuch enthält eine Beschreibung der \emph{zusätzlich} zu den 18 | \KOMAScript"=Klassen nutzbaren Optionen und Befehle. Dabei werden 19 | Grundkenntnisse in der Verwendung von \hologo{LaTeX} vorausgesetzt. Sollten 20 | diese nicht vorhanden sein, wird das Lesen der \hologo{LaTeXe}"=Kurzbeschreibung 21 | \hrfn{http://mirrors.ctan.org/info/lshort/german/l2kurz.pdf}{\File{l2kurz.pdf}} 22 | dringend empfohlen. Für den vertiefenden Einstieg in \hologo{LaTeX} stellt 23 | Nicola~L.~C.~Talbot sehr ausführliche Tutorials für 24 | \hrfn{http://www.dickimaw-books.com/latex/novices/}{\hologo{LaTeX}-Novizen} 25 | und \hrfn{http://www.dickimaw-books.com/latex/thesis/}{Dissertationen} zur 26 | freien Verfügung. Zusätzlich werden in \autoref{part:additional} dieses 27 | Handbuchs Minimalbeispiele sowie etwas ausführlichere Tutorials angeboten. 28 | 29 | Des Weiteren sollte \emph{jeder} Anwender das \hologo{LaTeXe}"=Sündenregister 30 | \hrfn{http://mirrors.ctan.org/info/l2tabu/german/l2tabu.pdf}{\File{l2tabu.pdf}} 31 | kennen, um typische Fehler zu vermeiden. Antworten auf häufig gestellte Fragen 32 | liefert \hrfn{http://projekte.dante.de/DanteFAQ/WebHome}{DanteFAQ}. Falls der 33 | Nutzer unerfahren bei der Verwendung von \KOMAScript{} sein sollte, so ist ein 34 | Blick in das \scrguide[dazugehörige Handbuch] sehr zu empfehlen, wenn nicht 35 | sogar unumgänglich. 36 | 37 | Der aktuelle Stand der Klassen und Pakete aus dem \TUDScript-Bundle in der 38 | Version~\vTUDScript{} wurde nach bestem Wissen und Gewissen auf Herz und Nieren 39 | getestet. Dennoch kann nicht für das Ausbleiben von Fehlern garantiert werden. 40 | Beim Auftreten eines Problems sollte dieses genauso wie Inkompatibilitäten mit 41 | anderen Paketen im \Forum* respektive im \GitHubRepo*[issues] unter 42 | \begin{quoting} 43 | \Forum'\newline\GitHubRepo'[issues]% 44 | \end{quoting} 45 | gemeldet werden. Für eine schnelle und erfolgreiche Fehlersuche sollte bitte 46 | ein \hrfn{http://www.komascript.de/minimalbeispiel}{\textbf{Minimalbeispiel}} 47 | bereitgestellt werden. Auf Anfragen ohne dieses werde ich gegebenenfalls 48 | verspätet oder gar nicht reagieren. Ebenso sind im genannten Forum auch 49 | \emph{Fragen}, \emph{Kritik} und \emph{Verbesserungsvorschläge}~-- sowohl das 50 | Bundle selbst als auch die Dokumentation betreffend~-- gerne gesehen. Da dieses 51 | Bundle in meiner Freizeit entstanden ist und auch gepflegt wird, bitte ich um 52 | Nachsicht, falls ich nicht sofort antworte und/oder eine Fehlerkorrektur 53 | vornehmen kann. 54 | 55 | \bigskip 56 | \noindent Falk Hanisch\newline 57 | Dresden, \getfield{date} 58 | -------------------------------------------------------------------------------- /source/doc/tudscr.tex: -------------------------------------------------------------------------------- 1 | \documentclass[english,ngerman]{tudscrmanual} 2 | \iftutex 3 | \usepackage{fontspec} 4 | \else 5 | \usepackage[T1]{fontenc} 6 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 7 | \fi 8 | \lstset{% 9 | inputencoding=utf8,extendedchars=true, 10 | literate=% 11 | {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 12 | {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 13 | {ß}{{\ss}}1 {~}{{\textasciitilde}}1 14 | {»}{{\guillemetright}}1 {«}{{\guillemetleft}}1 15 | } 16 | \usepackage{babel} 17 | \usepackage[babel]{microtype} 18 | 19 | \usepackage{bookmark} 20 | \KOMAoptions{headings=optiontoheadandtoc} 21 | 22 | \GitHubBase{\TUDScriptRepository} 23 | \begin{document} 24 | \newrobustcmd*\cdurl{% 25 | \begingroup% 26 | \hypersetup{hidelinks}% 27 | \href{https://tu-dresden.de/cd}{https://tu-dresden.de/cd}% 28 | \endgroup% 29 | } 30 | \faculty{\cdurl} 31 | \subject{\TUDScript \vTUDScript{} basierend auf \KOMAScript} 32 | \title{Ein \hologo{LaTeX}-Bundle für Dokumente im \TUDCD} 33 | \ifdef{\tudprintflag}{% 34 | \subtitle{Benutzerhandbuch\thanks{\href{tudscr}{Online-Version}}}% 35 | }{% 36 | \subtitle{Benutzerhandbuch\thanks{\href{tudscr_print}{Druckversion}}}% 37 | } 38 | \author{Falk Hanisch\TUDScriptContactTitle} 39 | \publishers{\url{\TUDScriptRepository}} 40 | \date{2022-08-09} 41 | 42 | \makeatletter 43 | \begingroup% 44 | \def\and{, }% 45 | \let\thanks\@gobble% 46 | \let\footnote\@gobble% 47 | \let\emailaddress\@gobble% 48 | \hypersetup{% 49 | pdfauthor = {\@author},% 50 | pdftitle = {\@title},% 51 | pdfsubject = {\@subtitle},% 52 | pdfkeywords = {LaTeX, \TUDScript, Benutzerhandbuch},% 53 | }% 54 | \endgroup% 55 | \makeatother 56 | 57 | 58 | \maketitle 59 | 60 | 61 | \include{tudscr-preface} 62 | \tableofcontents 63 | \include{tudscr-introduction} 64 | 65 | 66 | 67 | \setpartpreamble{% 68 | \begin{abstract} 69 | \hypersetup{linkcolor=red} 70 | \noindent Dies ist der Hauptteil des \TUDScript-Bundles. Hier findet der 71 | Anwender alle verfügbaren Optionen, Umgebungen und Befehle, die über 72 | die Funktionalität von \KOMAScript{} hinausgehen. 73 | \end{abstract} 74 | }% 75 | \part{Das \TUDScript-Bundle} 76 | \label{part:main} 77 | \include{tudscr-mainclasses} 78 | \include{tudscr-poster} 79 | \include{tudscr-supervisor} 80 | \include{tudscr-bundle} 81 | 82 | 83 | 84 | \setpartpreamble{% 85 | \begin{abstract} 86 | \hypersetup{linkcolor=red} 87 | \noindent Für die Verwendung des \TUDScript-Bundles ist es nicht notwendig, 88 | diesen Teil zu lesen. In \autoref{sec:exmpl} werden insbesondere für 89 | \hologo{LaTeX}"=Neulinge sowie neue Anwender des \TUDScript-Bundles 90 | mehrere einfache Beispiele gezeigt. Zusätzlich sind in \autoref{sec:tut} 91 | umfangreichere Tutorials für das Erstellen von wissenschaftlichen Arbeiten 92 | zu finden. Die darin gegebenen Empfehlungen sind nicht auf \TUDScript 93 | beschränkt sondern lassen sich auch mit anderen \hologo{LaTeX}"=Klassen 94 | umsetzen. In \autoref{sec:packages} werden Einsteigern~-- und versierten 95 | \hologo{LaTeX}-Nutzern~-- meiner Meinung nach empfehlenswerte Pakete kurz 96 | vorgestellt. 97 | 98 | Anwendungshinweise sowie der eine oder andere allgemeine Hinweis bei der 99 | Verwendung von \hologo{LaTeXe} wird in \autoref{sec:tips} gegeben. Dabei 100 | sind diese durchaus für die Verwendung sowohl des \TUDScript-Bundles als 101 | auch anderer \hologo{LaTeX}-Klassen interessant. Für Anregungen, Hinweise, 102 | Ratschläge oder Empfehlungen zu weiteren Pakete sowie Tipps bin ich 103 | jederzeit empfänglich. 104 | \end{abstract} 105 | } 106 | \part{Ergänzungen und Hinweise} 107 | \label{part:additional} 108 | \include{tudscr-examples} 109 | \include{tudscr-packages} 110 | \include{tudscr-hints} 111 | 112 | 113 | 114 | \part{Anhang} 115 | \appendix 116 | \include{tudscr-installation} 117 | \include{tudscr-obsolete} 118 | \include{tudscr-additional} 119 | \include{tudscr-index} 120 | 121 | 122 | 123 | \clearpage 124 | 125 | \ToDo[imp,doc]{% 126 | Benutzerdefinierte Anpassungen von \TUDScript, Kapitelstile, Farbeinsatz etc.% 127 | }[v2.07] 128 | \ToDo[imp]{% 129 | Spezialseite zur freien Gestaltung mit Hintergrundebene für Bilder und Texte 130 | (CD-Handbuch S. 80 ff.); Seitenstil: \PageStyle*{special.tudheadings} 131 | }[v2.07] 132 | \ToDo[doc,imp]{% 133 | Rückseite bei Kapitelseiten (auch bei Teilen?) im doppelseitigen Satz per 134 | Option nicht als Vakatseite setzen. Implementierung von farbigen Seiten 135 | davor (\Option*{open=right}) sowie danach (\Option*{open=left}). Setzen von 136 | speziellen Inhalten auf diesen Seiten äquivalent zu \Macro*{setpartpreamble} 137 | bzw. \Macro*{setchapterpreamble}; ggf. temporär umschalten bzw. Warnung bei 138 | Konflikt. \Forum<396> 139 | }[v2.07] 140 | 141 | \ToDo[imp]{Alle Datumsangaben auf YYYY-MM-DD umstellen}[v2.07] 142 | 143 | \ToDo[imp]{LyX: layout-Dateien in das Projekt integrieren lassen?}[v2.07] 144 | \ToDo[imp]{% 145 | \Package*{glossaries}: Paket für Stile aus Tutorial, siehe auch \Forum<535> 146 | }[v2.07] 147 | 148 | \ToDo[imp]{TeXstudio: cwl-Dateien über docstrip, separate .ins-Datei}[v2.07] 149 | \ToDo[rls]{TeXstudio: alle *.cwl erneuern, automatisch über *.dtx} 150 | 151 | \ToDo[rls]{GitHub auf offene Issues prüfen} 152 | \ToDo[rls]{\emph{alle} dtx-Dateien der vorherigen Version mit WinMerge sichten} 153 | \ToDo[rls]{Datumsangaben \emph{aller} dtx-Dateien prüfen}%: ^((?!%).)*\d{4}(/|-) 154 | \ToDo[rls]{Layout und Umbrüche kontrollieren} 155 | \ToDo[rls]{Datum in tudscr-version.dtx, tudscr-comp.dtx, Handbuch \& README} 156 | \ToDo[rls]{Release auf GitHub und CTAN, Tag für Homepage und \Forum<303> ändern} 157 | 158 | \ListOfToDo 159 | \end{document} 160 | -------------------------------------------------------------------------------- /source/doc/tutorials.bat: -------------------------------------------------------------------------------- 1 | cd tutorials 2 | pdflatex -shell-escape "\input {treatise.tex}" 3 | -------------------------------------------------------------------------------- /source/doc/tutorials/mathswap.tex: -------------------------------------------------------------------------------- 1 | \documentclass[english,ngerman]{tudscrartcl} 2 | \iftutex 3 | \usepackage{fontspec} 4 | \else 5 | \usepackage[T1]{fontenc} 6 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 7 | \fi 8 | \usepackage{babel} 9 | \usepackage[babel]{microtype} 10 | 11 | \usepackage{tudscrmanual} 12 | \lstset{% 13 | inputencoding=utf8,extendedchars=true, 14 | literate=% 15 | {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 16 | {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 17 | {ß}{{\ss}}1 {~}{{\textasciitilde}}1 18 | {»}{{\guillemetright}}1 {«}{{\guillemetleft}}1 19 | } 20 | 21 | \usepackage{mathswap} 22 | \usepackage{bookmark} 23 | 24 | \begin{document} 25 | \subject{Mathematiksatz in \hologo{LaTeX}} 26 | \title{Änderung der Trennzeichen im Mathematikmodus} 27 | \author{Falk Hanisch\TUDScriptContactTitle} 28 | \date{2016-11-07} 29 | 30 | \makeatletter 31 | \begingroup% 32 | \def\and{, }% 33 | \let\thanks\@gobble% 34 | \let\footnote\@gobble% 35 | \let\emailaddress\@gobble% 36 | \hypersetup{% 37 | pdfauthor = {\@author},% 38 | pdftitle = {\@title},% 39 | pdfsubject = {\@subject},% 40 | pdfkeywords = {LaTeX, \TUDScript, Tutorial, Mathematiksatz},% 41 | }% 42 | \endgroup% 43 | \markright{\@title} 44 | \makeatother 45 | 46 | \begin{Bundle}{\Package{mathswap}} 47 | \StartTutorial[% 48 | Sollen in einer wissenschaftlichen Abhandlung unterschiedliche Datensätze 49 | importiert und beispielsweise tabellarisch dargestellt werden, kann es 50 | durchaus sein, dass die enthaltenen Gruppierungs- und Dezimaltrennzeichen 51 | nicht dem für die verwendete Dokumentsprache geforderten Zahlenformat 52 | entsprechen. 53 | 54 | Dieses Tutorial behandelt die typografischen Eigenheiten von Gruppierungs- 55 | und Dezimaltrennzeichen bei der Angabe von Zahlen in einem 56 | \hologo{LaTeXe}"=Dokument. Sowohl bei der Einbindung von externen Daten als 57 | auch bei der Erstellung von fremdsprachigen Dokumenten ist dies ein durchaus 58 | relevantes Thema. Um sich die manuelle Konvertierung der Daten zu ersparen, 59 | kann alternativ dazu die Möglichkeit genutzt werden, dies mit Hilfe von 60 | \hologo{LaTeXe} selbst zu bewerkstelligen. 61 | 62 | Es wird beschrieben, wie das \TUDScript-Paket \Package{mathswap}'manual' für 63 | diese Zwecke genutzt werden kann. Wird es in einer der \TUDScript-Klassen 64 | geladen, so wird das angenommene Zahlenformat an die gewählte Dokumentsprache 65 | angepasst. Alternativ dazu kann auch das Paket \Package{ionumbers}()'manual' 66 | verwendet werden. 67 | ] 68 | Bevor das eigentliche Tutorial beginnt, werden sowohl eine Dokumentklasse als 69 | auch die für jedes \hologo{pdfLaTeX}-Dokument meiner Meinung nach sinnvollen 70 | Pakete geladen. 71 | % 72 | \begin{Preamble} 73 | \documentclass[english,ngerman]{tudscrartcl}% andere Klassen möglich 74 | \usepackage{iftex} 75 | \iftutex 76 | \usepackage{fontspec} 77 | \else 78 | \usepackage[T1]{fontenc} 79 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 80 | \fi 81 | \usepackage{babel} 82 | \usepackage{microtype} 83 | 84 | \end{Preamble} 85 | % 86 | Zusätzlich wird das Paket \Package{mathswap}'manual' aus dem \TUDScript-Bundle 87 | geladen, welches die Änderung der Gruppierungs- und Dezimaltrennzeichen im 88 | Mathematikmodus ermöglicht. Dadurch werden einerseits Zahlen im zur jeweiligen 89 | Dokumentsprache gehörigen Format typografisch korrekt gesetzt. Andererseits ist 90 | es so möglich, Zahlen im englischen Format typografisch korrekt in deutschen 91 | Texten zu setzen~-- et vice versa. 92 | % 93 | \begin{Preamble} 94 | \usepackage{mathswap} 95 | \end{Preamble} 96 | % 97 | \addsec{Typografisch korrekte Ausgabe für deutschsprachige Dokumente} 98 | % 99 | Für dieses Tutorial wird zunächst angenommen, dass die wissenschaftlichen 100 | Abhandlung in deutscher Sprache verfasst wird. Ohne die Nutzung eines 101 | speziellen Paketes zur Ausgabeformatierung von Zahlen werden diese durch 102 | \hologo{LaTeXe} im mathematischen Modus bei der Angabe im deutschen 103 | Zahlenformat~-- Punkt~(\PValue{.}) als Gruppierungs- und Komma~(\PValue{,}) als 104 | Dezimaltrennzeichen~-- folgendermaßen ausgegeben:% 105 | \footnote{% 106 | Da in der Präambel dieses Dokumentes das Paket \Package{mathswap}'manual' 107 | bereits geladen wurde, wird mit \Macro{mathswapoff}'manual' auf das 108 | Standardverhalten von \hologo{LaTeXe} geschaltet. Die Funktionalität wird mit 109 | \Macro{mathswapon}'manual' wieder aktiviert.% 110 | } 111 | % 112 | \CodePreamble{% 113 | Ohne \Package{mathswap}'manual' keine typografische Zifferngruppierung% 114 | } 115 | \begin{Trunk*} 116 | \mathswapoff 117 | \(4.523,58\) 118 | \mathswapon 119 | 120 | \end{Trunk*} 121 | % 122 | Mit dem Paket \Package{mathswap}'manual' wird das Ziel verfolgt, unabhängig vom 123 | genutzten Zahlenformat für die Eingabe, eine typografisch korrekte Ausgabe zu 124 | erzeugen. Wird das Paket zusammen mit einer \TUDScript-Klasse verwendet, werden 125 | die Gruppierungs- und Dezimaltrennzeichen bei der Eingabe im Mathematikmodus 126 | sprachabhängig interpretiert. Bei der Nutzung einer \KOMAScript-Dokumentklasse 127 | respektive einer \hologo{LaTeX}-Standardklasse werden diese im Mathematikmodus 128 | immer nach dem englischen Zahlenformat~-- Komma~(\PValue{,}) als Gruppierungs- 129 | und Punkt~(\PValue{,}) als Dezimaltrennzeichen~-- betrachtet. 130 | 131 | Da dieses Dokument mit einer \TUDScript-Klasse (\TUDClassName) gesetzt wird und 132 | die Spracheinstellung~\PValue{ngerman} gewählt wurde, wird für die folgenden 133 | Zahlen das deutsche Eingabeformat angenommen. Wird nun die bereits zuvor 134 | verwendete Zahl bei aktiver Funktionalität von \Package{mathswap}'manual' im 135 | Mathematikmodus angegeben werden, so wird diese den typografischen Konventionen 136 | folgend~-- halbes Leerzeichen zur Zahlengruppierung und Komma ohne umgebenden 137 | Leerraum als Dezimaltrennzeichen~-- entsprechend ausgegeben: 138 | % 139 | \CodePreamble{% 140 | Zifferngruppierung korrekt (Spracheinstellung~\PValue{ngerman})% 141 | } 142 | \begin{Trunk*} 143 | \(4.523,58\) 144 | \end{Trunk*} 145 | % 146 | Wird die gleiche Zahl in englischer Formatierung angegeben, funktioniert dies 147 | nicht mehr: 148 | % 149 | \CodePreamble{% 150 | Zifferngruppierung falsch (Spracheinstellung~\PValue{ngerman})% 151 | } 152 | \begin{Trunk*} 153 | \(4,523.58\) 154 | 155 | \end{Trunk*} 156 | % 157 | Um nun Zahlen, welche in englischer Formatierung eingegeben oder importiert 158 | werden, in deutschsprachigen Dokumenten typografisch korrekt auszugeben, können 159 | die beiden Befehle \Macro{commaswap}[\PParameter{\dots}]'manual' sowie 160 | \Macro{dotswap}[\PParameter{\dots}]'manual' genutzt werden. Mit diesen lässt 161 | sich festlegen, wie die im Mathematikmodus zur Zifferngruppierung eingegeben 162 | Trennzeichen~-- Komma~(\PValue{,}) und Punkt~(\PValue{.})~-- substituiert 163 | werden sollen, um damit die gewünschte Typografie zu erhalten. Die Argumente 164 | der beiden Befehle geben also an, wodurch im mathematischen Modus Komma und 165 | Punkt bei der Ausgabe ersetzt werden sollen. 166 | 167 | Im englischen Zahlenformat wird bei der Eingabe das Komma~(\PValue{,}) als 168 | Gruppierungs- und der Punkt~(\PValue{.}) als Dezimaltrennzeichen genutzt. Bei 169 | der Ausgabe für deutschsprachige Dokumente nach den typografischen Konventionen 170 | muss folglich das Komma durch ein halbes Leerzeichen (\Macro*{,}) ersetzt 171 | werden. Dies lässt sich mit \Macro{commaswap}[\PParameter{\Macro*{,}}] 172 | bewerkstelligen. Der Punkt ist demzufolge mit einem Komma durch die Angabe von 173 | \Macro{dotswap}[\PParameter{,}] zu ersetzen:% 174 | \footnote{% 175 | Die Verwendung von \Macro*{begingroup} und \Macro*{endgroup} führt hierbei 176 | dazu, dass die Änderungen der beiden Trennzeichen nur lokal innerhalb dieser 177 | Gruppe erfolgt. 178 | } 179 | % 180 | \CodePreamble{% 181 | Englisches Zahlenformat in korrekter deutscher Zifferngruppierung% 182 | } 183 | \begin{Trunk*} 184 | \begingroup 185 | \commaswap{\,} 186 | \dotswap{,} 187 | \(4,523.58\) 188 | \endgroup 189 | 190 | \end{Trunk*} 191 | % 192 | Somit können in einem deutschsprachigen Dokument Zahlen im englischen Format 193 | problemlos verwendet beziehungsweise importiert und dennoch typografisch 194 | korrekt gesetzt werden. 195 | % 196 | \addsec{Typografisch korrekte Ausgabe für englischsprachige Dokumente} 197 | % 198 | Wird das Paket \Package{mathswap}'manual' zusammen mit einer \TUDScript-Klasse 199 | verwendet, werden die Gruppierungs- und Dezimaltrennzeichen im Mathematikmodus 200 | sprachabhängig definiert. Wird also die Dokumentsprache auf \PValue{english} 201 | gesetzt, so werden die Trennzeichen standardmäßig nach dem englischsprachigen 202 | Zahlenformat interpretiert. 203 | % 204 | \CodePreamble{% 205 | Zifferngruppierung (Spracheinstellung~\PValue{english})% 206 | } 207 | \begin{Trunk*} 208 | \begingroup 209 | \selectlanguage{english}% 210 | \(4,523.58\)\newline 211 | \(4.523,58\) 212 | \endgroup 213 | 214 | \end{Trunk*} 215 | % 216 | Für englischsprachige Dokumente wird für die Auszeichnung der Gruppierung von 217 | Ziffern ebenfalls ein halbes Leerzeichen und als Dezimaltrennzeichen ein Punkt 218 | verwendet. Werden nun Zahlen in der deutschen Formatierung eingelesen, so muss 219 | folglich das Komma durch einen Punkt \Macro{commaswap}[\PParameter{.}] und der 220 | Punkt mit \Macro{dotswap}[\PParameter{\Macro*{,}}] durch ein halbes Leerzeichen 221 | ersetzt werden:% 222 | % 223 | \CodePreamble{% 224 | Deutsches Zahlenformat in korrekter englischer Zifferngruppierung% 225 | } 226 | \begin{Trunk*} 227 | \begingroup 228 | \selectlanguage{english}% 229 | \commaswap{.} 230 | \dotswap{\,} 231 | \(4.523,58\) 232 | \endgroup 233 | \end{Trunk*} 234 | % 235 | \FinishTutorial 236 | \ListOfToDo 237 | \end{Bundle} 238 | \end{document} 239 | -------------------------------------------------------------------------------- /source/doc/tutorials/mathtype.tex: -------------------------------------------------------------------------------- 1 | \documentclass[english,ngerman,cdfont=false]{tudscrartcl} 2 | \iftutex 3 | \usepackage{fontspec} 4 | \else 5 | \usepackage[T1]{fontenc} 6 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 7 | \fi 8 | \usepackage{babel} 9 | \usepackage[babel]{microtype} 10 | 11 | \usepackage{tudscrmanual} 12 | \lstset{% 13 | inputencoding=utf8,extendedchars=true, 14 | literate=% 15 | {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 16 | {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 17 | {ß}{{\ss}}1 {~}{{\textasciitilde}}1 18 | {»}{{\guillemetright}}1 {«}{{\guillemetleft}}1 19 | } 20 | 21 | \usepackage{mathtools} 22 | \usepackage{bookmark} 23 | 24 | \begin{document} 25 | \subject{Mathematiksatz in \hologo{LaTeX}} 26 | \title{Ein Beitrag zum mathematischen Satz in \hologo{LaTeX}} 27 | \author{Falk Hanisch\TUDScriptContactTitle} 28 | \date{07.11.2016} 29 | 30 | \makeatletter 31 | \begingroup% 32 | \def\and{, }% 33 | \let\thanks\@gobble% 34 | \let\footnote\@gobble% 35 | \let\emailaddress\@gobble% 36 | \hypersetup{% 37 | pdfauthor = {\@author},% 38 | pdftitle = {\@title},% 39 | pdfsubject = {\@subject},% 40 | pdfkeywords = {LaTeX, \TUDScript, Tutorial, Mathematiksatz},% 41 | }% 42 | \endgroup% 43 | \markright{\@title} 44 | \makeatother 45 | 46 | \StartTutorial[% 47 | Im mathematischen Satz sollten lediglich Formelzeichen für physikalische 48 | Größen und Variablen sowie Funktions- und Operatorzeichen mit frei wählbarer 49 | Bedeutung kursiv geschrieben werden. Dagegen werden Einheiten und ihre 50 | Vorsätze, Zahlen, Funktions- und Operatorzeichen mit feststehender Bedeutung 51 | sowie chemische Elemente und Verbindungen ebenso wie Indizes, welche ein 52 | Formelzeichen näher beschreiben, aufrecht gesetzt. Dieses Tutorial zeigt, wie 53 | mit einfachen Mitteln die Auszeichnung von Indizes bei Formelzeichen 54 | typografisch korrekt erfolgen kann. 55 | ] 56 | Bevor das eigentliche Tutorial beginnt, werden sowohl eine Dokumentklasse als 57 | auch die für jedes \hologo{LaTeX}"~Dokument meiner Meinung nach sinnvollen 58 | Pakete geladen. 59 | % 60 | \begin{Preamble} 61 | \documentclass[ngerman]{tudscrartcl}% andere Klassen sind möglich 62 | \usepackage{iftex} 63 | \iftutex 64 | \usepackage{fontspec} 65 | \else 66 | \usepackage[T1]{fontenc} 67 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 68 | \fi 69 | \usepackage{babel} 70 | \usepackage{microtype} 71 | 72 | \end{Preamble} 73 | % 74 | Zusätzlich wird das Paket \Package{amsmath} geladen, welches unter anderem die 75 | in diesem Tutorial verwendeten Mathematikumgebungen \Environment{equation}, 76 | \Environment{gathered} und \Environment{aligned} zur Verfügung stellt. 77 | % 78 | \begin{Preamble} 79 | \usepackage{amsmath} 80 | \end{Preamble} 81 | % 82 | Zunächst wird ein kurzes Beispiel gegeben, welches für die nachfolgenden 83 | Ausführungen als Grundlage dienen soll. 84 | % 85 | \CodePreamble{}% 86 | \begin{Trunk*} 87 | \begin{equation*} 88 | \begin{gathered} 89 | M_{EM} = \frac{M_{Rad}}{i_g \cdot i_A} - M_{VM} \\ 90 | \textrm{für } 91 | \begin{aligned} 92 | 0\leq M_{VM}\leq M_{VMmax} \\ 93 | M_{EMmin}\leq M_{EM}\leq M_{EMmax} 94 | \end{aligned} 95 | \end{gathered} 96 | \end{equation*} 97 | 98 | \end{Trunk*} 99 | % 100 | Ein guter Mathematiksatz ist in \hologo{LaTeX} durchaus Sisyphusarbeit. Wenn 101 | mikrotypografisch alles richtig gemacht werden soll, gibt es einiges zu 102 | beachten. Generell gilt, dass Variablen kursiv oder geneigt, Bezeichnungen und 103 | Konstanten aufrecht gesetzt werden. Um beschreibende Indizes formal richtig zu 104 | setzen, ist ohne weitere Maßnahmen die exzessive Nutzung der Befehle 105 | \Macro{mathrm}[\PParameter{\dots}] und \Macro{mathit}[\PParameter{\dots}] 106 | respektive \Macro{mathnormal}[\PParameter{\dots}] wohl oder übel notwendig. 107 | Aus dem vorhergehenden Beispiel wird mit ziemlich viel Anpassungsarbeit: 108 | % 109 | \CodePreamble{}% 110 | \begin{Trunk*} 111 | \begin{equation*} 112 | \begin{gathered} 113 | M_\mathrm{EM} = \frac{M_\mathrm{Rad}}{i_g \cdot i_A} - M_\mathrm{VM} \\ 114 | \textrm{für } 115 | \begin{aligned} 116 | 0\leq M_\mathrm{VM}\leq M_\mathrm{VM_{max}} \\ 117 | M_\mathrm{EM_{min}}\leq M_\mathrm{EM}\leq M_\mathrm{EM_{max}} 118 | \end{aligned} 119 | \end{gathered} 120 | \end{equation*} 121 | 122 | \end{Trunk*} 123 | % 124 | Augenscheinlich ist dabei sehr viel Handarbeit notwendig. Allerdings lässt sich 125 | dies relativ gut vereinfachen. Zu diesem Zwecke wird für das Setzen von Indizes 126 | bei Formelzeichen der Befehl \Macro{ind}[\PParameter{\dots}] definiert. Danach 127 | können~-- wenn dies für nötig und sinnvoll erachtet wird~-- noch zusätzliche 128 | Befehle für häufig verwendete Ausdrücke definiert werden. Als Beispiel wird das 129 | schon eben genutzte Drehmoment \ensuremath{M} verwendet. Hierfür wäre folgende 130 | Definition möglich:% 131 | \footnote{% 132 | Dabei sorgt \Macro*{kern.03em} für das Einfügen eins kleinen Abstandes 133 | zwischen kursiver Variable und dem aufrechten Index. Abhängig von der 134 | verwendeten Schriftart sollte dieser Abstand leicht angepasst werden. 135 | } 136 | % 137 | \CodeHook{\let\newcommand\renewcommand} 138 | \begin{Trunk*} 139 | \newcommand*{\ind}[1]{\ensuremath{\kern.03em_\mathrm{#1}}} 140 | \newcommand*{\M}[1]{\ensuremath{M\ind{#1}}} 141 | 142 | \end{Trunk*} 143 | \CodePreamble{} 144 | \begin{Trunk*} 145 | \begin{equation*} 146 | \begin{gathered} 147 | \M{EM} = \frac{\M{Rad}}{i_g \cdot i_A} - \M{VM} \\ 148 | \textrm{für } 149 | \begin{aligned} 150 | 0\leq \M{VM}\leq \M{VM_{max}} \\ 151 | \M{EM_{min}}\leq \M{EM}\leq \M{EM_{max}} 152 | \end{aligned} 153 | \end{gathered} 154 | \end{equation*} 155 | 156 | \end{Trunk*} 157 | % 158 | Ein gewünschter Nebeneffekt der vorhergehenden Definition ist, dass dieser 159 | Befehl aufgrund der Verwendung von \Macro{ensuremath}[\PParameter{\dots}] nun 160 | auch im Fließtext verwenden werden kann. Beispielsweise lässt sich im Textteil 161 | das induzierten Moment einer Verbrennungskraftmaschine~\M{VM_{ind}} angeben 162 | (\Macro{M}[\PParameter{VM\_\PParameter{ind}}]). 163 | 164 | Für noch mehr Bequemlichkeit bei der Nutzung kann eine Lösung gefunden werden, 165 | mit welcher~-- im Gegensatz zur Standardbefehlsdefinition in \hologo{LaTeXe}~-- 166 | \textbf{nach} dem obligatorischen noch ein optionales Argument für einen 167 | zusätzlichen Subindex angegeben werden kann, um damit der natürlichen 168 | Schreibweise zu entsprechen. Es wird der Befehl \Macro{M} so definiert, das 169 | dieser entweder mit \Macro{M}[\Parameter{Index}] oder in der Variante 170 | \Macro{M}[\Parameter{Index}\OParameter{Indexindex}] mit nachgelagertem 171 | optionalen Argument genutzt werden kann. 172 | % 173 | \CodeHook{\let\newcommand\renewcommand} 174 | \begin{Trunk*} 175 | \makeatletter 176 | \renewcommand*{\M}[1]{\@ifnextchar[{\o@M{#1}}{\n@M{#1}}} 177 | \newcommand*{\n@M}{} 178 | \newcommand*{\o@M}{} 179 | \def\n@M#1{\ensuremath{M\ind{#1}}} 180 | \def\o@M#1[#2]{\ensuremath{M\ind{#1_{#2}}}} 181 | \makeatother 182 | 183 | \end{Trunk*} 184 | % 185 | Somit vereinfacht sich das zu Beginn vorgestellte Beispiel recht deutlich: 186 | % 187 | \begin{Trunk*} 188 | \begin{equation*} 189 | \begin{gathered} 190 | \M{EM} = \frac{\M{Rad}}{i_g \cdot i_A} - \M{VM} \\ 191 | \textrm{für } 192 | \begin{aligned} 193 | 0\leq \M{VM}\leq \M{VM}[max] \\ 194 | \M{EM}[min]\leq \M{EM}\leq \M{EM}[max] 195 | \end{aligned} 196 | \end{gathered} 197 | \end{equation*} 198 | \end{Trunk*} 199 | % 200 | Das Definieren von \Macro{M}[\Parameter{Index}\OParameter{Indexindex}] mit 201 | angehängtem optionalen Argument ist ehrlich gesagt nur ein wenig Spielerei und 202 | soll zeigen, wie dies prinzipiell mit \hologo{LaTeXe}"=Mitteln funktioniert. 203 | Das Paket \Package{xparse} könnte alternativ zum hier vorgestellten Vorgehen 204 | für die Befehlsdeklaration des optionalen \textbf{nach} dem obligatorischen 205 | Argument genutzt werden. Damit würde die Befehlsdeklaration für \Macro{M} 206 | folgendermaßen lauten: 207 | \begin{Hint} 208 | \NewDocumentCommand \M { m o } {% 209 | \ensuremath{M\ind{#1\IfValueT{#2}{_{#2}}}}% 210 | } 211 | \end{Hint} 212 | % 213 | \FinishTutorial 214 | \ListOfToDo 215 | \end{document} 216 | -------------------------------------------------------------------------------- /source/logo/DDC-01.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tud-cd/tudscr/2ef1351a2245297fa3192f1d0128fd7cd054b4c5/source/logo/DDC-01.pdf -------------------------------------------------------------------------------- /source/logo/DDC-03.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tud-cd/tudscr/2ef1351a2245297fa3192f1d0128fd7cd054b4c5/source/logo/DDC-03.pdf -------------------------------------------------------------------------------- /source/logo/DDC-07.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tud-cd/tudscr/2ef1351a2245297fa3192f1d0128fd7cd054b4c5/source/logo/DDC-07.pdf -------------------------------------------------------------------------------- /source/logo/DDC-09.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tud-cd/tudscr/2ef1351a2245297fa3192f1d0128fd7cd054b4c5/source/logo/DDC-09.pdf -------------------------------------------------------------------------------- /source/logo/DDC-19.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tud-cd/tudscr/2ef1351a2245297fa3192f1d0128fd7cd054b4c5/source/logo/DDC-19.pdf -------------------------------------------------------------------------------- /source/logo/DDC-21.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tud-cd/tudscr/2ef1351a2245297fa3192f1d0128fd7cd054b4c5/source/logo/DDC-21.pdf -------------------------------------------------------------------------------- /source/logo/DDC-22.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tud-cd/tudscr/2ef1351a2245297fa3192f1d0128fd7cd054b4c5/source/logo/DDC-22.pdf -------------------------------------------------------------------------------- /source/logo/DDC-24.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tud-cd/tudscr/2ef1351a2245297fa3192f1d0128fd7cd054b4c5/source/logo/DDC-24.pdf -------------------------------------------------------------------------------- /source/logo/DDC-25.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tud-cd/tudscr/2ef1351a2245297fa3192f1d0128fd7cd054b4c5/source/logo/DDC-25.pdf -------------------------------------------------------------------------------- /source/logo/DDC-27.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tud-cd/tudscr/2ef1351a2245297fa3192f1d0128fd7cd054b4c5/source/logo/DDC-27.pdf -------------------------------------------------------------------------------- /source/logo/DDC-28.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tud-cd/tudscr/2ef1351a2245297fa3192f1d0128fd7cd054b4c5/source/logo/DDC-28.pdf -------------------------------------------------------------------------------- /source/logo/DDC-30.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tud-cd/tudscr/2ef1351a2245297fa3192f1d0128fd7cd054b4c5/source/logo/DDC-30.pdf -------------------------------------------------------------------------------- /source/logo/TUD-black.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tud-cd/tudscr/2ef1351a2245297fa3192f1d0128fd7cd054b4c5/source/logo/TUD-black.pdf -------------------------------------------------------------------------------- /source/logo/TUD-blue.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tud-cd/tudscr/2ef1351a2245297fa3192f1d0128fd7cd054b4c5/source/logo/TUD-blue.pdf -------------------------------------------------------------------------------- /source/logo/TUD-white.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tud-cd/tudscr/2ef1351a2245297fa3192f1d0128fd7cd054b4c5/source/logo/TUD-white.pdf -------------------------------------------------------------------------------- /source/tudscr-color.dtx: -------------------------------------------------------------------------------- 1 | % \iffalse meta-comment 2 | %/GitFileInfo=tudscr-color.dtx 3 | % 4 | % TUD-Script -- Corporate Design of Technische Universität Dresden 5 | % ---------------------------------------------------------------------------- 6 | % 7 | % Copyright (C) Falk Hanisch , 2012-2022 8 | % 9 | % ---------------------------------------------------------------------------- 10 | % 11 | % This work may be distributed and/or modified under the conditions of the 12 | % LaTeX Project Public License, either version 1.3c of this license or 13 | % any later version. The latest version of this license is in 14 | % http://www.latex-project.org/lppl.txt 15 | % and version 1.3c or later is part of all distributions of 16 | % LaTeX version 2008-05-04 or later. 17 | % 18 | % This work has the LPPL maintenance status "maintained". 19 | % 20 | % The current maintainer and author of this work is Falk Hanisch. 21 | % 22 | % ---------------------------------------------------------------------------- 23 | % 24 | % \fi 25 | % 26 | % \iffalse ins:batch + dtx:driver 27 | %<*ins> 28 | \ifx\documentclass\undefined 29 | \input docstrip.tex 30 | \ifToplevel{\batchinput{tudscr.ins}} 31 | \else 32 | \let\endbatchfile\relax 33 | \fi 34 | \endbatchfile 35 | % 36 | %<*dtx> 37 | \ProvidesFile{tudscr-color.dtx}[2022/08/09] 38 | \RequirePackage{tudscr-gitinfo} 39 | \documentclass[english,ngerman,xindy]{tudscrdoc} 40 | \iftutex 41 | \usepackage{fontspec} 42 | \else 43 | \usepackage[T1]{fontenc} 44 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 45 | \fi 46 | \usepackage{babel} 47 | \usepackage{tudscrfonts} 48 | \usepackage[babel]{microtype} 49 | 50 | \GitHubBase{\TUDScriptRepository} 51 | \begin{document} 52 | \author{Falk Hanisch\TUDScriptContactTitle} 53 | \maketitle 54 | \tableofcontents 55 | \DocInput{\filename} 56 | \end{document} 57 | % 58 | % \fi 59 | % 60 | % \selectlanguage{ngerman} 61 | % 62 | % 63 | % 64 | % \section{Das Paket \pkg{tudscrcolor} -- Die Farben des \CDs} 65 | % 66 | % Das \TUDCD legt nicht nur die zu nutzenden Schriften und das Layout sondern 67 | % auch die zu verwendenden Farben fest. Diese werden nachfolgend für das CMYK"~ 68 | % und RGB"~Farbmodel definiert. Sie können im Dokument mit sämtlichen Befehlen 69 | % zur Farbauswahl wie \cs{color}\marg{Farbe} oder \cs{textcolor}\marg{Farbe} 70 | % verwendet werden. 71 | % 72 | % \begin{macrocode} 73 | % \iffalse 74 | %<*package> 75 | \ProvidesPackage{tudscrcolor}[% 76 | %!TUD@Version 77 | package (corporate design colors)% 78 | ] 79 | % 80 | % \fi 81 | % \end{macrocode} 82 | % 83 | % \iffalse 84 | %<*package> 85 | % \fi 86 | % 87 | % \subsection{Optionen und Befehle} 88 | % 89 | % \begin{option}{newcolors} 90 | % \begin{option}{reduced} 91 | % \begin{option}{oldcolors} 92 | % \begin{option}{extended} 93 | % \begin{option}{full} 94 | % Das Paket kann entweder mit einfachen, für \TUDScript ausreichenden oder 95 | % erweiterten Farbdefinitionen geladen werden. Letztere definieren zusätzliche 96 | % Farbbezeichnungen für die Kompatibilität zu alten TUD-Klassen. 97 | % \ToDo{Optionen oldcolors und colormodel mit key-value-interface!}[v2.07] 98 | % \begin{macrocode} 99 | \DeclareOption{newcolors}{\let\tud@setcolors@add\relax} 100 | \DeclareOption{reduced}{\let\tud@setcolors@add\relax} 101 | \DeclareOption{oldcolors}{\let\tud@setcolors@add\tud@setcolors@old} 102 | \DeclareOption{extended}{\let\tud@setcolors@add\tud@setcolors@old} 103 | \DeclareOption{full}{\let\tud@setcolors@add\tud@setcolors@old} 104 | % \end{macrocode} 105 | % \end{option}^^A full 106 | % \end{option}^^A extended 107 | % \end{option}^^A oldcolors 108 | % \end{option}^^A reduced 109 | % \end{option}^^A newcolors 110 | % \begin{macro}{\setcdcolors} 111 | % Der Befehl \cs{setcdcolors} definiert die Farben des \CDs. Das Argument dient 112 | % zur Auswahl des gewünschten Farbmodels. Dies kann dazu genutzt werden, 113 | % innerhalb des Dokumentes die Definition der Farben für ein neues Farbmodell 114 | % zu ändern. 115 | % \begin{macrocode} 116 | \newcommand*\setcdcolors[1]{% 117 | \selectcolormodel{#1}% 118 | \tud@setcolors@do% 119 | } 120 | % \end{macrocode} 121 | % \end{macro}^^A \setcdcolors 122 | % \begin{macro}{\tud@color} 123 | % \changes{v2.04}{2015/04/21}{neu}^^A 124 | % Der Befehl wählt eine in einem Makro gespeicherte Farbe nur aus, wenn dieses 125 | % auch tatsächlich definiert ist. Dieser Befehl wird von den \TUDScript-Klassen 126 | % für die Umsetzung des Layouts verwendet. 127 | % \begin{macrocode} 128 | \newcommand*\tud@color[1]{\ifdefvoid{#1}{}{\color{#1}}} 129 | % \end{macrocode} 130 | % \end{macro}^^A \tud@color 131 | % 132 | % \subsection{Farbdefinitionen} 133 | % \subsubsection{Notwendige Farben für \TUDScript} 134 | % 135 | % \begin{macro}{\tud@setcolors@do} 136 | % Die Definitionen der Farben erfolgt erst durch die Ausführung von 137 | % \cs{tud@setcolors@do}. Damit wird es möglich, auf die angegebenen Optionen in 138 | % Form von \cs{tud@setcolors@add} oder den durch das Paket \pkg{xcolor} 139 | % angegebenen Farbraum zu reagieren. 140 | % \begin{macrocode} 141 | \newcommand*\tud@setcolors@do{% 142 | % \end{macrocode} 143 | % \begin{TUDcolor}{HKS41} 144 | % Die primäre Hausfarbe (dunkles Blau) 145 | % \begin{macrocode} 146 | \definecolor{HKS41}{cmyk/RGB/rgb}{% 147 | 1.00,0.70,0.10,0.50/011,042,081/0.0431372549,0.16470588235,0.31764705882% 148 | }% 149 | % \end{macrocode} 150 | % \end{TUDcolor}^^A HKS41 151 | % \begin{TUDcolor}{HKS92} 152 | % Die sekundäre Hausfarbe (grau), allein und ausschließlich für die Verwendung 153 | % in der Geschäftsausstattung und nicht für Fließtext, Grafiken etc. 154 | % \begin{macrocode} 155 | \definecolor{HKS92}{cmyk/RGB/rgb}{% 156 | 0.10,0.00,0.05,0.65/080,089,085/0.31372549019,0.34901960784,0.33333333333% 157 | }% 158 | % \end{macrocode} 159 | % \end{TUDcolor}^^A HKS92 160 | % \begin{TUDcolor}{HKS44} 161 | % Auszeichnungen 1. Kategorie (helles Blau) 162 | % \begin{macrocode} 163 | \definecolor{HKS44}{cmyk/RGB/rgb}{% 164 | 1.00,0.50,0.00,0.00/000,089,163/0,0.34901960784,0.63921568627% 165 | }% 166 | % \end{macrocode} 167 | % \end{TUDcolor}^^A HKS44 168 | % \begin{TUDcolor}{HKS36} 169 | % \begin{TUDcolor}{HKS33} 170 | % \begin{TUDcolor}{HKS57} 171 | % \begin{TUDcolor}{HKS65} 172 | % Auszeichnungen 2. Kategorie (Indigo, Purpur, dunkles Grün, helles Grün) 173 | % \begin{macrocode} 174 | \definecolor{HKS36}{cmyk/RGB/rgb}{% 175 | 0.80,0.90,0.00,0.00/081,041,127/0.31764705882,0.16078431372,0.49803921568% 176 | }% 177 | \definecolor{HKS33}{cmyk/RGB/rgb}{% 178 | 0.50,1.00,0.00,0.00/129,026,120/0.50588235294,0.10196078431,0.47058823529% 179 | }% 180 | \definecolor{HKS57}{cmyk/RGB/rgb}{% 181 | 1.00,0.00,0.90,0.20/000,122,071/0,0.47843137254,0.28235294117% 182 | }% 183 | \definecolor{HKS65}{cmyk/RGB/rgb}{% 184 | 0.65,0.00,1.00,0.00/034,173,054/0.13333333333,0.67843137254,0.21176470588% 185 | }% 186 | % \end{macrocode} 187 | % \end{TUDcolor}^^A HKS65 188 | % \end{TUDcolor}^^A HKS57 189 | % \end{TUDcolor}^^A HKS33 190 | % \end{TUDcolor}^^A HKS36 191 | % \begin{TUDcolor}{HKS07} 192 | % Ausnahmefarbe (Orange) 193 | % \begin{macrocode} 194 | \definecolor{HKS07}{cmyk/RGB/rgb}{% 195 | 0.00,0.60,1.00,0.00/232,123,020/0.90980392156,0.48235294117,0.07843137254% 196 | }% 197 | % \end{macrocode} 198 | % \end{TUDcolor}^^A HKS07 199 | % \begin{TUDcolor}{cddarkblue} 200 | % \begin{TUDcolor}{cdgray} 201 | % \begin{TUDcolor}{cdgrey} 202 | % \begin{TUDcolor}{cdblue} 203 | % \begin{TUDcolor}{cdindigo} 204 | % \begin{TUDcolor}{cdpurple} 205 | % \begin{TUDcolor}{cddarkgreen} 206 | % \begin{TUDcolor}{cdgreen} 207 | % \begin{TUDcolor}{cdorange} 208 | % Die definierten Grundfarben werden zur einfacheren Verwendung im Dokument 209 | % noch einmal speziell benannt. 210 | % \begin{macrocode} 211 | \colorlet{cddarkblue}{HKS41}% 212 | \colorlet{cdgray}{HKS92}% 213 | \colorlet{cdgrey}{HKS92}% 214 | \colorlet{cdblue}{HKS44}% 215 | \colorlet{cdindigo}{HKS36}% 216 | \colorlet{cdpurple}{HKS33}% 217 | \colorlet{cddarkgreen}{HKS57}% 218 | \colorlet{cdgreen}{HKS65}% 219 | \colorlet{cdorange}{HKS07}% 220 | % \end{macrocode} 221 | % \end{TUDcolor}^^A cdorange 222 | % \end{TUDcolor}^^A cdgreen 223 | % \end{TUDcolor}^^A cddarkgreen 224 | % \end{TUDcolor}^^A cdpurple 225 | % \end{TUDcolor}^^A cdindigo 226 | % \end{TUDcolor}^^A cdblue 227 | % \end{TUDcolor}^^A cdgrey 228 | % \end{TUDcolor}^^A cdgray 229 | % \end{TUDcolor}^^A cddarkblue 230 | % Damit enden die notwendigen Farbdefinitionen für das \pkg{tudscrcolor}-Paket. 231 | % Abhängig von den gewählten Optionen werden mit \cs{tud@setcolors@add} ggf. 232 | % zusätzliche Farbnamen definiert. 233 | % \begin{macrocode} 234 | \tud@setcolors@add% 235 | } 236 | % \end{macrocode} 237 | % \end{macro}^^A \tud@setcolors@do 238 | % 239 | % \subsubsection{Zusätzliche Farben für alte TUD-Klassen} 240 | % 241 | % \begin{macro}{\tud@setcolors@add} 242 | % \begin{macro}{\tud@setcolors@old} 243 | % Die erweiterten Farbbefehle werden durch \pkg{tudscrcolor} definiert, wenn 244 | % das Paket explizit mit der Option \opt{extended} geladen wird. Damit werden 245 | % alle gängigen Farbdefinitionen der vielen Insellösungen des \LaTeX-Universums 246 | % an der \TnUD unterstützt. 247 | % \begin{macrocode} 248 | \newcommand*\tud@setcolors@add{} 249 | \newcommand*\tud@setcolors@old{% 250 | \def\tud@res@a##1{% 251 | \@for\tud@res@b:={10,20,30,40,50,60,70,80,90,100}\do{% 252 | \colorlet{##1K\tud@res@b}{##1!\tud@res@b}% 253 | \colorlet{##1-\tud@res@b}{##1!\tud@res@b}% 254 | }% 255 | }% 256 | \tud@res@a{HKS41}% 257 | \tud@res@a{HKS92}% 258 | \tud@res@a{HKS44}% 259 | \tud@res@a{HKS36}% 260 | \tud@res@a{HKS33}% 261 | \tud@res@a{HKS57}% 262 | \tud@res@a{HKS65}% 263 | \tud@res@a{HKS07}% 264 | } 265 | % \end{macrocode} 266 | % \end{macro}^^A \tud@setcolors@old 267 | % \end{macro}^^A \tud@setcolors@add 268 | % 269 | % \subsection{Ausführung der Optionen} 270 | % 271 | % Zum Schluss werden die Optionen ausgeführt und ggf. an \pkg{xcolor} 272 | % weitergereicht. Anschließend werden die Farben für das Dokument definiert. 273 | % Ohne die Angabe eines optionalen Argumentes an das Paket \pkg{xcolor} erfolgt 274 | % die Definition für den gewählten bzw. standardmäßig eingestellten Farbraum. 275 | % \begin{macrocode} 276 | \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xcolor}} 277 | \ExecuteOptions{reduced} 278 | \ProcessOptions\relax 279 | \RequirePackage{xcolor} 280 | \tud@setcolors@do% 281 | % \end{macrocode} 282 | % 283 | % \iffalse 284 | % 285 | % \fi 286 | % 287 | % \PrintBackMatter 288 | % 289 | \endinput 290 | -------------------------------------------------------------------------------- /source/tudscr-gitinfo.dtx: -------------------------------------------------------------------------------- 1 | % \iffalse meta-comment 2 | %/GitFileInfo=tudscr-gitinfo.dtx 3 | % 4 | % TUD-Script -- Corporate Design of Technische Universität Dresden 5 | % ---------------------------------------------------------------------------- 6 | % 7 | % Copyright (C) Falk Hanisch , 2012-2022 8 | % 9 | % ---------------------------------------------------------------------------- 10 | % 11 | % This work may be distributed and/or modified under the conditions of the 12 | % LaTeX Project Public License, version 1.3c of the license. The latest 13 | % version of this license is in http://www.latex-project.org/lppl.txt and 14 | % version 1.3c or later is part of all distributions of LaTeX 2005/12/01 15 | % or later and of this work. This work has the LPPL maintenance status 16 | % "author-maintained". The current maintainer and author of this work 17 | % is Falk Hanisch. 18 | % 19 | % ---------------------------------------------------------------------------- 20 | % 21 | % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz 22 | % in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle 23 | % Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und 24 | % Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 25 | % oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status 26 | % "author-maintained", wird somit allein durch den Autor verwaltet. Der 27 | % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. 28 | % 29 | % ---------------------------------------------------------------------------- 30 | % 31 | % \fi 32 | % 33 | % \iffalse comment 34 | % Nicht verwirren lassen! In dieser Datei steht ein Teil der Dokumentation und 35 | % des Codes vor dem Treiber. Das ist notwendig, weil der Teil des Codes bereits 36 | % am Anfang des Treibers selbst benötigt wird. Genauer gesagt handelt es sich 37 | % dabei um den Teil zur Versionsangbabe. 38 | % \fi 39 | % 40 | % \selectlanguage{ngerman} 41 | % 42 | % 43 | % 44 | % \section{Versionsinformationen aus dem GitHub-Repository} 45 | % 46 | % Um sich das ganze Aktualisieren von irgendwelchen Versionangaben zu sparen, 47 | % werden diese einfach aus dem GitHub-Repository übernommen. Hierfür ist ein 48 | % externer Aufruf von \file{git~log} notwendig, die Informationen werden dabei 49 | % in die Datei \file{\GitContainerFile} (\cs{GitContainerFile}) 50 | % geschrieben und entweder während des Durchlaufs mit \app{docstrip} oder aber 51 | % beim Erzeugen der Doku mithilfe des Paketes \pkg{tudscr-gitinfo} ausgelesen. 52 | % 53 | % \subsection{GitHub-Versionsinformationen für \app{docstrip}} 54 | % 55 | % \begin{macro}{\GitFileInfo} 56 | % \changes{v2.06o}{2022/08/09}{neu}^^A 57 | % \begin{macro}{\GitContainerFile} 58 | % \changes{v2.06o}{2022/08/09}{neu}^^A 59 | % \begin{macro}{\InputGitContainer} 60 | % \changes{v2.06o}{2022/08/09}{neu}^^A 61 | % In \cs{GitContainerFile} wird der Name der Datei gespeichert, welche die 62 | % Versionsinformationen für alle Quelldateien enthält. Diese definiert für alle 63 | % relevanten Dateien Makros in der Form 64 | % |\|\meta{Dateiname}|-ver{|\meta{Datum}| |\meta{Zeit}| |\meta{Hash}|}|. Diese 65 | % Datei wird eingebunden, falls vorhanden sowie der Befehl \cs{GitFileInfo} für 66 | % das Hinzufügen der Versionsinformationen für das Erzeugen der Zieldateien mit 67 | % \app{docstrip} definiert. 68 | % \begin{macrocode} 69 | \def\GitContainerFile{tudscr-gitinfo-ver.aux} 70 | %<*!package> 71 | \begingroup 72 | \catcode`\@11\relax% 73 | \ifx\documentclass\undefined% 74 | \ifx\@@input\undefined\global\let\@@input\input\fi% 75 | \newread\@inputcheck% 76 | \immediate\openin\@inputcheck=\GitContainerFile\relax% 77 | \ifeof\@inputcheck% 78 | \global\let\InputGitContainer\relax% 79 | \else% 80 | \gdef\InputGitContainer{\@@input\GitContainerFile\relax}% 81 | \fi% 82 | \closein\@inputcheck% 83 | \gdef\GitFileInfo#1{% 84 | \MetaPrefix\MetaPrefix\space From File:\space#1\space% 85 | \expandafter\ifx\csname#1-ver\endcsname\relax% 86 | (no git version info was found)% 87 | \else% 88 | \csname#1-ver\endcsname% 89 | \fi% 90 | }% 91 | \aftergroup\InputGitContainer% 92 | \fi% 93 | \endgroup 94 | \let\InputGitContainer\undefined 95 | % 96 | % \end{macrocode} 97 | % \end{macro}^^A \InputGitContainer 98 | % \end{macro}^^A \GitContainerFile 99 | % \end{macro}^^A \GitFileInfo 100 | % 101 | % \iffalse ins:batch + dtx:driver 102 | %<*ins> 103 | \ifx\documentclass\undefined 104 | \input docstrip.tex 105 | \ifToplevel{\batchinput{tudscr.ins}} 106 | \else 107 | \let\endbatchfile\relax 108 | \fi 109 | \endbatchfile 110 | % 111 | %<*dtx> 112 | \ProvidesFile{tudscr-gitinfo.dtx}[2022/08/09] 113 | \RequirePackage{tudscr-gitinfo} 114 | \documentclass[english,ngerman,xindy]{tudscrdoc} 115 | \iftutex 116 | \usepackage{fontspec} 117 | \else 118 | \usepackage[T1]{fontenc} 119 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 120 | \fi 121 | \usepackage{babel} 122 | \usepackage{tudscrfonts} 123 | \usepackage[babel]{microtype} 124 | 125 | \GitHubBase{\TUDScriptRepository} 126 | \begin{document} 127 | \author{Falk Hanisch\TUDScriptContactTitle} 128 | \maketitle 129 | \tableofcontents 130 | \DocInput{\filename} 131 | \end{document} 132 | % 133 | % \fi 134 | % 135 | % \iffalse comment 136 | % Der Rest wird nicht mehr vom Treiber benötigt. 137 | % \fi 138 | % 139 | % \subsection{GitHub-Versionsinformationen für das Paket \pkg{tudscr-gitinfo}} 140 | % 141 | % Gleich zu Beginn werden die Versionsinformationen geladen, wenn dies nicht 142 | % schon passiert ist und diese vorhanden sind. 143 | %^^A https://www.juandebravo.com/2017/12/02/git-filter-smudge-and-clean/ 144 | %^^A https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes#filters_b 145 | %^^A file:///C:/Program%20Files/Git/mingw64/share/doc/git-doc/gitattributes.html 146 | % \begin{macrocode} 147 | \ProvidesPackage{tudscr-gitinfo}[% 148 | %!TUD@Version 149 | package (obtaining git version)% 150 | ] 151 | \ifcsname ver@\GitContainerFile\endcsname\else 152 | \InputIfFileExists{\GitContainerFile}{}{}% 153 | \fi 154 | % \end{macrocode} 155 | % \begin{macro}{\GetFileInfo} 156 | % \changes{v2.06o}{2022/08/09}{neu}^^A 157 | % \begin{macro}{\tud@GetFileInfo} 158 | % \changes{v2.06o}{2022/08/09}{neu}^^A 159 | % \begin{macro}{\tud@@GetFileInfo} 160 | % \changes{v2.06o}{2022/08/09}{neu}^^A 161 | % \begin{macro}{\tud@git@file@list} 162 | % \changes{v2.06o}{2022/08/09}{neu}^^A 163 | % Der Befehl \cs{GetFileInfo} hat das gleiche Ziel wie der gleichnamige Befehl 164 | % aus dem Paket \pkg{doc}. Allerdings werden vorliegende Versionsinformationen 165 | % aus einem GitHub-Repository bevorzugt geladen. Das Lesen der Informationen, 166 | % welche mit \cs{ProvidesFile} gegeben werden können, wird lediglich als 167 | % Rückfallebene verwendet. Das angegebene Argument wird für den Dateinamen der 168 | % Quelldatei genutzt, wobei bei einer fehlenden Dateiendung \file{dtx}-Dateien 169 | % gegenüber \file{tex}-Dateien bevorzugt werden. 170 | % \begin{macrocode} 171 | \def\GetFileInfo{\tud@GetFileInfo} 172 | \newcommand*\tud@git@file@list{} 173 | \newcommand*\tud@GetFileInfo[1]{% 174 | \filename@parse{#1}% 175 | \ifx\filename@ext\relax% 176 | \edef\filename{\filename@area\filename@base.dtx}% 177 | \expandafter\IfFileExists\expandafter{\filename}{}{% 178 | \edef\filename{\filename@area\filename@base.tex}% 179 | }% 180 | \else% 181 | \edef\filename{#1}% 182 | \fi% 183 | % \end{macrocode} 184 | % Mit dem Dateinamen werden über \cs{tud@git@log} Versionsinformation aus einem 185 | % GitHub-Repository abgerufen und verwendet (falls vorhanden). Der dazugehörige 186 | % Dateiname wird der Liste \cs{tud@git@file@list} hinzugefügt. 187 | % \begin{macrocode} 188 | \expandafter\tud@git@log\expandafter{\filename}% 189 | \ifcsname\filename-ver\endcsname% 190 | \def\@tempa##1 ##2 ##3\@nil{% 191 | \def\filedate{##1}% 192 | \let\fileversion\@empty% 193 | \def\filerevision{##3}% 194 | }% 195 | \edef\@tempb{\csname\filename-ver\endcsname}% 196 | \expandafter\@tempa\@tempb\@nil% 197 | \let\fileinfo\@empty% 198 | \edef\tud@git@file@list{\tud@git@file@list,\filename}% 199 | \else% 200 | % \end{macrocode} 201 | % Andernfalls wird eine Warnung erzeugt und auf das durch \pkg{doc} definierte 202 | % Verhalten von \cs{GetFileInfo} zurückgeschaltet. 203 | % \begin{macrocode} 204 | \PackageWarningNoLine{tudscr-gitinfo}{No git info found for \filename}% 205 | \expandafter\tud@@GetFileInfo\expandafter{\filename}% 206 | \fi% 207 | } 208 | \newcommand*\tud@@GetFileInfo[1]{% 209 | \@ifundefined{filedate}{\def\filedate{?}}{}% 210 | \@ifundefined{fileversion}{\def\fileversion{?}}{}% 211 | \@ifundefined{filerevision}{\let\filerevision\@empty}{}% 212 | \@ifundefined{fileinfo}{\let\fileinfo\@empty}{}% 213 | % \end{macrocode} 214 | % Verbesserte Variante, um nicht \cs{relax?} in die Felder zu schreiben. 215 | % \begin{macrocode} 216 | \ifcsname ver@\filename\endcsname% 217 | \def\@tempa##1 ##2 ##3\relax##4\relax{% 218 | \def\@tempb####1\relax?####2\@nil{\edef\@tempc{####1}}% 219 | \@tempb##1\relax?\@nil% 220 | \ifx\@tempc\@empty\else% 221 | \let\filedate\@tempc% 222 | \@tempb##2\relax?\@nil% 223 | \ifx\@tempc\@empty\else% 224 | \let\fileversion\@tempc% 225 | \@tempb##3\relax?\@nil% 226 | \ifx\@tempc\@empty\else% 227 | \let\fileinfo\@tempc% 228 | \fi% 229 | \fi% 230 | \fi% 231 | }% 232 | \edef\@tempb{\csname ver@#1\endcsname}% 233 | \expandafter\@tempa\@tempb\relax? ? \relax\relax% 234 | \fi% 235 | } 236 | % \end{macrocode} 237 | % Hiermit wird der Befehl \cs{GetFileInfo} ggf. wieder überschrieben. 238 | % \begin{macrocode} 239 | \RequirePackage{scrlfile}[% 240 | %!TUD@KOMAVersion 241 | ] 242 | \AfterPackage*{doc}{\def\GetFileInfo{\tud@GetFileInfo}} 243 | % \end{macrocode} 244 | % \end{macro}^^A \tud@git@file@list 245 | % \end{macro}^^A \tud@@GetFileInfo 246 | % \end{macro}^^A \tud@GetFileInfo 247 | % \end{macro}^^A \GetFileInfo 248 | % \begin{macro}{\tud@git@log} 249 | % \changes{v2.06o}{2022/08/09}{neu}^^A 250 | % \begin{macro}{\tud@git@@log} 251 | % \changes{v2.06o}{2022/08/09}{neu}^^A 252 | % Der Befehl \cs{tud@git@log} definiert für die im Argument angegebene Datei 253 | % das Makro |\|\meta{Dateiname}|-ver| mit den Versionsinformationen, welche mit 254 | % \cs{tud@git@@log} ausgelesen wurden. 255 | % \begin{macrocode} 256 | \RequirePackage{pdftexcmds} 257 | \newcommand*\tud@git@log[1]{% 258 | \ifnum\pdf@shellescape=\@ne% 259 | \begingroup% 260 | \endlinechar=\m@ne% 261 | \everyeof{\noexpand}% 262 | \edef\@tempa{\tud@git@@log{#1}}% 263 | \ifx\@tempa\@empty\else% 264 | \edef\@tempa{% 265 | \unexpanded{\expandafter\gdef\csname #1-ver\endcsname}{\@tempa}% 266 | }% 267 | \@tempa% 268 | \fi% 269 | \endgroup% 270 | \fi% 271 | } 272 | % \end{macrocode} 273 | % Der Befehl \cs{tud@git@@log} startet den Aufruf von \file{git~log} mit den 274 | % notwendigen Formatierungsoptionen. 275 | % \begin{macrocode} 276 | \begingroup 277 | \@makeother\| 278 | \newcommand*\tud@git@@log[1]{} 279 | \xdef\tud@git@@log#1{% 280 | \noexpand\@@input|"git log -1 % 281 | --format='\@percentchar ad \@percentchar h' % 282 | --date=format:'\@percentchar Y/\@percentchar m/\@percentchar d % 283 | \@percentchar H:\@percentchar M:\@percentchar S' % 284 | -- #1" % 285 | } 286 | \endgroup 287 | % \end{macrocode} 288 | % \end{macro}^^A \tud@git@@log 289 | % \end{macro}^^A \tud@git@log 290 | % Am Dokumentende wird für alle Dateien, für die eine Versionsinformation 291 | % gefunden werden konnte und in \cs{tud@git@file@list} gesammelt wurden, diese 292 | % in die externe Datei \cs{GitContainerFile} geschrieben, damit diese auch 293 | % ohne den abermaligen Aufruf mit dem Parameter \file{-{}-shell-escape} genutzt 294 | % werden können. 295 | % \begin{macrocode} 296 | \AtEndDocument{% 297 | \ifnum\pdf@shellescape=\@ne% 298 | \ifx\tud@git@file@list\@empty\else% 299 | \edef\tud@git@file@list{\expandafter\@gobble\tud@git@file@list}% 300 | \def\@tempa{% 301 | \@percentchar\@percentchar\space% 302 | This file was generated with `tudscr-gitinfo.sty'^^J% 303 | \@percentchar\@percentchar\space% 304 | It is intended to be used for generating either a documentation^^J% 305 | \@percentchar\@percentchar\space% 306 | with class `tudscrdoc' or installation files with `docstrip'% 307 | }% 308 | \chardef\reserved@c15 % 309 | \ch@ck7\reserved@c\write% 310 | \immediate\openout\reserved@c\GitContainerFile\relax% 311 | \immediate\write\reserved@c{\@tempa}% 312 | \@for\@tempa:=\tud@git@file@list\do{% 313 | \edef\@tempb{% 314 | \unexpanded{\expandafter\gdef\csname}% 315 | \@tempa-ver% 316 | \noexpand\endcsname% 317 | {\csname\@tempa-ver\endcsname}% 318 | }% 319 | \immediate\write\reserved@c{\unexpanded\expandafter{\@tempb}}% 320 | }% 321 | \immediate\closeout\reserved@c% 322 | \fi% 323 | \fi% 324 | } 325 | % \end{macrocode} 326 | % Am Ende des Paketes werden die Versionsinformationen der aktuellen Datei 327 | % ausgelesen und anschließend mit \cs{ProvidesFile} gesetzt, wobei eine Warnung 328 | % erzeugt wird, wenn für die Datei schon einmal \cs{ProvidesFile} mit einer 329 | % anderen Angabe genutzt wurde. Die zu schreibende Angabe wird hierfür in 330 | % \cs{@tempa} expandiert und mit |\ ver@|\meta{Dateiname} verglichen. 331 | % \begin{macrocode} 332 | \AtEndOfPackage{% 333 | \GetFileInfo{\jobname}% 334 | \edef\@tempa{% 335 | \filedate\space\fileversion\space% 336 | \ifx\filerevision\@empty\else% 337 | \filerevision\ifx\fileinfo\@empty\else\space\fi% 338 | \fi% 339 | \fileinfo% 340 | }% 341 | \ifcsname ver@\filename\endcsname% 342 | \edef\@tempb{\csname ver@\filename\endcsname}% 343 | \ifx\@tempb\filedate\else% 344 | \PackageWarningNoLine{tudscr-gitinfo}{% 345 | The obtained info for \filename\space is\MessageBreak% 346 | \@tempa\MessageBreak% 347 | so the current info\MessageBreak% 348 | \csname ver@\filename\endcsname\MessageBreak% 349 | is overwritten% 350 | }% 351 | \fi% 352 | \fi% 353 | \ProvidesFile{\filename}[\@tempa]% 354 | } 355 | % \end{macrocode} 356 | % 357 | % \PrintBackMatter 358 | % 359 | \endinput 360 | -------------------------------------------------------------------------------- /source/tudscr-mathswap.dtx: -------------------------------------------------------------------------------- 1 | % \iffalse meta-comment 2 | %/GitFileInfo=tudscr-mathswap.dtx 3 | % 4 | % TUD-Script -- Corporate Design of Technische Universität Dresden 5 | % ---------------------------------------------------------------------------- 6 | % 7 | % Copyright (C) Falk Hanisch , 2012-2022 8 | % 9 | % ---------------------------------------------------------------------------- 10 | % 11 | % This work may be distributed and/or modified under the conditions of the 12 | % LaTeX Project Public License, either version 1.3c of this license or 13 | % any later version. The latest version of this license is in 14 | % http://www.latex-project.org/lppl.txt 15 | % and version 1.3c or later is part of all distributions of 16 | % LaTeX version 2008-05-04 or later. 17 | % 18 | % This work has the LPPL maintenance status "maintained". 19 | % 20 | % The current maintainer and author of this work is Falk Hanisch. 21 | % 22 | % ---------------------------------------------------------------------------- 23 | % 24 | % \fi 25 | % 26 | % \iffalse ins:batch + dtx:driver 27 | %<*ins> 28 | \ifx\documentclass\undefined 29 | \input docstrip.tex 30 | \ifToplevel{\batchinput{tudscr.ins}} 31 | \else 32 | \let\endbatchfile\relax 33 | \fi 34 | \endbatchfile 35 | % 36 | %<*dtx> 37 | \ProvidesFile{tudscr-mathswap.dtx}[2022/08/09] 38 | \RequirePackage{tudscr-gitinfo} 39 | \documentclass[english,ngerman,xindy]{tudscrdoc} 40 | \iftutex 41 | \usepackage{fontspec} 42 | \else 43 | \usepackage[T1]{fontenc} 44 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 45 | \fi 46 | \usepackage{babel} 47 | \usepackage{tudscrfonts} 48 | \usepackage[babel]{microtype} 49 | 50 | \GitHubBase{\TUDScriptRepository} 51 | \begin{document} 52 | \author{Falk Hanisch\TUDScriptContactTitle} 53 | \maketitle 54 | \tableofcontents 55 | \DocInput{\filename} 56 | \end{document} 57 | % 58 | % \fi 59 | % 60 | % 61 | % 62 | % \selectlanguage{ngerman} 63 | % 64 | % \changes{v2.02}{2014/08/18}{\pkg{mathswap}: Schalter zum Aktivieren und 65 | % Deaktivieren der Funktionalität}^^A 66 | % 67 | % \ToDo{Vergleich mit \pkg{ionumbers}, ist \pkg{mathswap} notwendig?}[v2.08] 68 | % \ToDo{eingenständiges Paket oder via AfterPackage{ionumbers}?}[v2.08] 69 | % \ToDo{Allgem. Bezeichnungen englisches/deutsches Format?}[v2.08] 70 | % \ToDo{Sprachabhängige Einstellungen in Paket und aus Klassen raus}[v2.08] 71 | % \ToDo{Makro(s)/Key-Value zum Festlegen von Eingabe- und Ausgabeformat}[v2.08] 72 | % \ToDo{Inhalte von \file{mathswap.tex} hier rein}[v2.08] 73 | % 74 | % 75 | % 76 | % \section{Das Paket \pkg{mathswap} -- Aktive Trennzeichen im Mathematikmodus} 77 | % 78 | % Die Verwendung von Dezimal- und Tausendertrennzeichen im mathematischen 79 | % Satz sind regional sehr unterschiedlich. In den meisten englischsprachigen 80 | % Ländern wird für gewöhnlich der Punkt als Dezimaltrennzeichen und das Komma 81 | % zur Zifferngruppierung verwendet. In weiten Teilen Europas wird dies genau 82 | % entgegengesetzt praktiziert. Dieses Paket soll dazu dienen, beliebige 83 | % formatierte Zahlen in ihrer Ausgabe anzupassen. Dafür werden Punkt (~.~) 84 | % und Komma (~,~) als aktive Zeichen im Mathematikmodus definiert. 85 | % 86 | % Ähnliche Funktionalitäten werden bereits durch die Pakete \pkg{icomma} und 87 | % \pkg{ziffer} bereitgestellt. Bei \pkg{icomma} muss jedoch beim Verfassen 88 | % des Dokumentes durch den Autor beachtet werden, ob das verwendete Komma 89 | % einem Dezimaltrennzeichen entspricht ($t=1,\!2$) oder aber einem normalen 90 | % Komma im Mathematiksatz ($z=f(x,y)$), wo ein gewisser Abstand nach dem 91 | % Komma durchaus gewünscht ist. Das Paket \pkg{ziffer} liefert dafür die 92 | % gewünschte Funktionalität,\footnote{kein Leerraum nach Komma, wenn direkt 93 | % danach eine Ziffer folgt} ist allerdings etwas unflexibel, was den Umgang 94 | % mit den Trennzeichen anbelangt. Als Alternative zu diesem Paket kann 95 | % außerdem \pkg{ionumbers} verwendet werden. 96 | % 97 | % Das Paket \pkg{mathswap} sorgt dafür, dass Trennzeichen direkt vor einer 98 | % Ziffer erkannt und nach bestimmten Vorgaben ersetzt werden. Sollte sich 99 | % jedoch zwischen Trennzeichen und Ziffer Leerraum befinden, wird dieser als 100 | % solcher auch gesetzt. 101 | % 102 | % \begin{macrocode} 103 | %<*package> 104 | \NeedsTeXFormat{LaTeX2e} 105 | \ProvidesPackage{mathswap}[% 106 | %!TUD@Version 107 | package (swap mathematical separators)% 108 | ] 109 | % 110 | % \end{macrocode} 111 | % 112 | % \iffalse 113 | %<*package> 114 | % \fi 115 | % 116 | % \begin{macro}{\commaswap} 117 | % \begin{macro}{\dotswap} 118 | % \begin{macro}{\@commaswap} 119 | % \begin{macro}{\@dotswap} 120 | % Die beiden Befehle \cs{commaswap} und \cs{dotswap} sind die zentrale 121 | % Benutzerschnittstelle des Paketes. Das Makro \cs{commaswap} definiert das 122 | % Trennzeichen oder den Inhalt, wodurch ein Komma ersetzt werden soll, auf 123 | % welches direkt danach eine Ziffer folgt. Normalerweise setzt \LaTeX{} nach 124 | % einem Komma im mathematischen Satz zusätzlich einen horizontalen Abstand. 125 | % Bei der Ersetzung durch \cs{commaswap} entfällt dieser. Die Voreinstellung 126 | % für \cs{commaswap} ist deshalb auf ein Komma (,) gesetzt. 127 | % 128 | % Mit dem Makro \cs{dotswap} kann definiert werden, wodurch der Punkt im 129 | % mathematischen Satz ersetzt werden soll, wenn auf diesen direkt anschließend 130 | % eine Ziffer folgt. Da der Punkt im deutschsprachigem Raum zur Gruppierung von 131 | % Ziffern genutzt wird, ist hierfür standardmäßig ein halbes geschütztes 132 | % Leerzeichen definiert (\cs{,}). 133 | % 134 | % Die mit \cs{commaswap}\marg{Trennzeichen} und \cs{dotswap}\marg{Trennzeichen} 135 | % definierten Trennzeichen werden in \cs{@commaswap} und \cs{@dotswap} 136 | % gesichert. 137 | % \begin{macrocode} 138 | \newcommand*\@commaswap{,} 139 | \newcommand*\commaswap[1]{\gdef\@commaswap{#1}\ignorespaces} 140 | \newcommand*\@dotswap{\,} 141 | \newcommand*\dotswap[1]{\gdef\@dotswap{#1}\ignorespaces} 142 | % \end{macrocode} 143 | % \end{macro}^^A \@dotswap 144 | % \end{macro}^^A \@commaswap 145 | % \end{macro}^^A \dotswap 146 | % \end{macro}^^A \commaswap 147 | % \begin{macro}{\ms@comma} 148 | % \begin{macro}{\ms@commachar} 149 | % \begin{macro}{\ms@dot} 150 | % \begin{macro}{\ms@dotchar} 151 | % In den Befehlen \cs{ms@commachar} und \cs{ms@dotchar} wird die originale 152 | % Definition von Komma und Punkt im Mathematikmodus gesichert, welche weiterhin 153 | % verwendet wird, falls nach diesen nicht direkt eine Ziffer folgt. Mit den 154 | % Makros \cs{ms@comma} und \cs{ms@dot} werden die Definitionen von Komma und 155 | % Punkt als normale Textzeichen für den mathematischen Satz bereitgehalten. 156 | % Anschließend werden beide als aktive Zeichen für den Mathematikmodus gesetzt. 157 | % \begin{macrocode} 158 | \newcommand*\ms@commachar{} 159 | \newcommand*\ms@dotchar{} 160 | \AtBeginDocument{% 161 | \DeclareMathSymbol{\ms@comma}{\mathord}{letters}{"3B}% 162 | \mathchardef\ms@commachar\mathcode\expandafter`,% 163 | \mathcode\expandafter`,="8000% 164 | \DeclareMathSymbol{\ms@dot}{\mathord}{letters}{"3A}% 165 | \mathchardef\ms@dotchar\mathcode\expandafter`.% 166 | \mathcode\expandafter`.="8000% 167 | \mathswapon% 168 | } 169 | % \end{macrocode} 170 | % \end{macro}^^A \ms@dotchar 171 | % \end{macro}^^A \ms@dot 172 | % \end{macro}^^A \ms@commachar 173 | % \end{macro}^^A \ms@comma 174 | % \begin{macro}{\mathswapon} 175 | % \changes{v2.02}{2014/08/18}{neu}^^A 176 | % \begin{macro}{\mathswapoff} 177 | % \changes{v2.02}{2014/08/18}{neu}^^A 178 | % \begin{macro}{\ms@commaswap} 179 | % \changes{v2.02}{2014/08/18}{neu}^^A 180 | % \begin{macro}{\ms@dotswap} 181 | % \changes{v2.02}{2014/08/18}{neu}^^A 182 | % Mit den Befehlen \cs{mathswapon} und \cs{mathswapoff} kann die Funktionalität 183 | % des Paketes innerhalb des Dokumentes aktiviert und deaktiviert werden. 184 | % \begin{macrocode} 185 | \newcommand*\ms@commaswap{} 186 | \newcommand*\ms@dotswap{} 187 | \newcommand*\mathswapon{% 188 | \def\ms@commaswap{\@commaswap}% 189 | \def\ms@dotswap{\@dotswap}% 190 | } 191 | \newcommand*\mathswapoff{% 192 | \def\ms@commaswap{\ms@commachar}% 193 | \def\ms@dotswap{\ms@dotchar}% 194 | } 195 | % \end{macrocode} 196 | % \end{macro}^^A \ms@dotswap 197 | % \end{macro}^^A \ms@commaswap 198 | % \end{macro}^^A \mathswapoff 199 | % \end{macro}^^A \mathswapon 200 | % \begin{macro}{\ms@ifnum} 201 | % \begin{macro}{\ms@@ifnum} 202 | % Der Befehl \cs{ms@ifnum} reicht das erste Argument an \cs{ms@@ifnum} weiter, 203 | % falls der Inhalt von \cs{ms@token} zu einer Ziffer expandiert. Andernfalls 204 | % wird das zweite Argument ausgeführt. 205 | % \begin{macrocode} 206 | \newcommand*\ms@ifnum[2]{% 207 | \ifx\ms@token0\ms@@ifnum{#1}\else% 208 | \ifx\ms@token1\ms@@ifnum{#1}\else% 209 | \ifx\ms@token2\ms@@ifnum{#1}\else% 210 | \ifx\ms@token3\ms@@ifnum{#1}\else% 211 | \ifx\ms@token4\ms@@ifnum{#1}\else% 212 | \ifx\ms@token5\ms@@ifnum{#1}\else% 213 | \ifx\ms@token6\ms@@ifnum{#1}\else% 214 | \ifx\ms@token7\ms@@ifnum{#1}\else% 215 | \ifx\ms@token8\ms@@ifnum{#1}\else% 216 | \ifx\ms@token9\ms@@ifnum{#1}\else% 217 | #2% 218 | \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% 219 | } 220 | % \end{macrocode} 221 | % Wurde eine nachfolgende Ziffer erkannt, so wird die Definition von Punkt und 222 | % Komma auf die eines normalen Textzeichens gesetzt und anschließend die mit 223 | % \cs{commaswap} bzw. \cs{dotswap} angegebene Ersetzung ausgegeben. 224 | % \begin{macrocode} 225 | \newcommand*\ms@@ifnum[1]{% 226 | \begingroup% 227 | \mathcode\expandafter`,=\the\ms@comma% 228 | \mathcode\expandafter`.=\the\ms@dot% 229 | #1% 230 | \endgroup% 231 | } 232 | % \end{macrocode} 233 | % \end{macro}^^A \ms@@ifnum 234 | % \end{macro}^^A \ms@ifnum 235 | % \begin{macro}{\ms@token} 236 | % \begin{macro}{\ms@smartcomma} 237 | % \begin{macro}{\ms@smartdot} 238 | % Mit \cs{futurelet} wird dem Makro \cs{ms@token} das nachfolgende Zeichen von 239 | % Komma bzw. Punkt zugewiesen. Anschließend wird mittels \cs{ms@smartcomma} bzw. 240 | % \cs{ms@smartdot} geprüft, ob es sich beim Inhalt von \cs{ms@token} um eine 241 | % Ziffer handelt. Dazu wird der Befehl \cs{ms@ifnum} verwendet. Sollte dies der 242 | % Fall sein, so wird ein Komma innerhalb einer Zahl durch \cs{@commaswap} und 243 | % ein Punkt entsprechend mit \cs{@dotswap} ersetzt. Sollte direkt nach dem 244 | % Trennzeichen keine Ziffer folgen, wird für Punkt und Komma die originale 245 | % Definition aus \cs{ms@commachar} bzw. \cs{ms@dotchar} verwendet. 246 | % \begin{macrocode} 247 | \newcommand*\ms@token{} 248 | \begingroup 249 | \catcode`,=\active% 250 | \gdef,{\futurelet\ms@token\ms@smartcomma}% 251 | \catcode`.=\active% 252 | \gdef.{\futurelet\ms@token\ms@smartdot}% 253 | \endgroup 254 | \newcommand*\ms@smartcomma{\ms@ifnum{\ms@commaswap}{\ms@commachar}} 255 | \newcommand*\ms@smartdot{\ms@ifnum{\ms@dotswap}{\ms@dotchar}} 256 | % \end{macrocode} 257 | % \end{macro}^^A \ms@smartdot 258 | % \end{macro}^^A \ms@smartcomma 259 | % \end{macro}^^A \ms@token 260 | % 261 | % \iffalse 262 | % 263 | % \fi 264 | % 265 | % \PrintBackMatter 266 | % 267 | \endinput 268 | -------------------------------------------------------------------------------- /source/tudscr-twocolfix.dtx: -------------------------------------------------------------------------------- 1 | % \iffalse meta-comment 2 | %/GitFileInfo=tudscr-twocolfix.dtx 3 | % 4 | % TUD-Script -- Corporate Design of Technische Universität Dresden 5 | % ---------------------------------------------------------------------------- 6 | % 7 | % Copyright (C) Falk Hanisch , 2012-2022 8 | % 9 | % ---------------------------------------------------------------------------- 10 | % 11 | % This work may be distributed and/or modified under the conditions of the 12 | % LaTeX Project Public License, either version 1.3c of this license or 13 | % any later version. The latest version of this license is in 14 | % http://www.latex-project.org/lppl.txt 15 | % and version 1.3c or later is part of all distributions of 16 | % LaTeX version 2008-05-04 or later. 17 | % 18 | % This work has the LPPL maintenance status "maintained". 19 | % 20 | % The current maintainer and author of this work is Falk Hanisch. 21 | % 22 | % ---------------------------------------------------------------------------- 23 | % 24 | % \fi 25 | % 26 | % \iffalse ins:batch + dtx:driver 27 | %<*ins> 28 | \ifx\documentclass\undefined 29 | \input docstrip.tex 30 | \ifToplevel{\batchinput{tudscr.ins}} 31 | \else 32 | \let\endbatchfile\relax 33 | \fi 34 | \endbatchfile 35 | % 36 | %<*dtx> 37 | \ProvidesFile{tudscr-twocolfix.dtx}[2022/08/09] 38 | \RequirePackage{tudscr-gitinfo} 39 | \documentclass[english,ngerman,xindy]{tudscrdoc} 40 | \iftutex 41 | \usepackage{fontspec} 42 | \else 43 | \usepackage[T1]{fontenc} 44 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 45 | \fi 46 | \usepackage{babel} 47 | \usepackage{tudscrfonts} 48 | \usepackage[babel]{microtype} 49 | 50 | \GitHubBase{\TUDScriptRepository} 51 | \begin{document} 52 | \author{Falk Hanisch\TUDScriptContactTitle} 53 | \maketitle 54 | \tableofcontents 55 | \DocInput{\filename} 56 | \end{document} 57 | % 58 | % \fi 59 | % 60 | % \selectlanguage{ngerman} 61 | % 62 | % \changes{v2.05}{2016/04/25}{Überprüfen der Definition von \cs{@topnewpage} 63 | % des \LaTeXe"~Kernels}^^A 64 | % 65 | % \ToDo{Als eingenständiges Paket herauslösen}[v2.08] 66 | % \ToDo{CheckCommand verwenden?}[v2.08] 67 | % 68 | % 69 | % 70 | % \section{Das Paket \pkg{twocolfix} -- Bugfix für den zweispaltigen Satz} 71 | % 72 | % Der \LaTeXe"~Kernel enthält einen 73 | % \href{http://latex-project.org/cgi-bin/ltxbugs2html?pr=latex/3126}{Fehler}, 74 | % wodurch im zweispaltigen Satz Kapitelüberschriften höher als im 75 | % einspaltigen Layout gesetzt werden. Zwar ist dieser schon länger bekannt, 76 | % jedoch bisher noch nicht behoben (\GitHubRepo(latex3/latex2e)<509>). 77 | % 78 | % Das Paket \pkg{twocolfix} soll dies beheben. Eine Integration des Bugfixes 79 | % in \KOMAScript{} wurde bereits bei Markus Kohm angefragt, jedoch 80 | % \href{http://www.komascript.de/node/1681}{von ihm nicht weiter verfolgt}. 81 | % 82 | % \begin{macrocode} 83 | %<*package> 84 | \NeedsTeXFormat{LaTeX2e} 85 | \ProvidesPackage{twocolfix}[% 86 | %!TUD@Version 87 | package (twocolumn layout bugfix)% 88 | ] 89 | % 90 | % \end{macrocode} 91 | % 92 | % \iffalse 93 | %<*package> 94 | % \fi 95 | % 96 | % Es wird der fehlerhafte Befehl aus dem \LaTeXe"~Kernel neu definiert. 97 | % Allerdings definieren die \KOMAScript-Klassen das Makro \cs{@topnewpage} 98 | % um und sichern vorher das Original in \cs{scr@topnewpage}. Daher wird der 99 | % neue Befehl erst temporär definiert. 100 | % \begin{macrocode} 101 | \long\def \@tempa [#1]{% 102 | \@nodocument% 103 | \@next\@currbox\@freelist{}{}% 104 | \global \setbox\@currbox% 105 | \vbox {% 106 | \break% 107 | \prevdepth\z@% 108 | \begingroup% 109 | \normalcolor% 110 | \hsize\textwidth% 111 | % \end{macrocode} 112 | % Damit der Inhalt des optionale Argumentes mit den gleichen Absatzeinstellungen 113 | % gesetzt wird, werden diese nach \cs{@parboxrestore} für \KOMAScript-Klassen 114 | % wiederhergestellt. 115 | % \begin{macrocode} 116 | \@parboxrestore% 117 | \ifcsname KOMAClassName\endcsname% 118 | \KOMAoptionOf[\KOMAoption{parskip}]{\KOMAClassFileName}{parskip}% 119 | \fi% 120 | \col@number \@ne% 121 | \ignorespaces #1\par% 122 | \ifdim\parskip>\z@\null\fi% 123 | \vskip -\dbltextfloatsep% 124 | \endgroup% 125 | \ifdim\parskip>\z@\vskip\parskip\else\null\fi% 126 | \vskip -\topskip% 127 | }% 128 | \begingroup% 129 | \splitmaxdepth\maxdepth \splittopskip\topskip% 130 | \setbox\@tempboxa \vsplit\@currbox to\z@% 131 | \endgroup% 132 | \ifdim \ht\@currbox>\textheight% 133 | \ht\@currbox \textheight% 134 | \fi% 135 | \global \count\@currbox \tw@% 136 | \@tempdima -\ht\@currbox% 137 | \advance \@tempdima -\dbltextfloatsep% 138 | \global \advance \@colht \@tempdima% 139 | \ifx \@dbltoplist \@empty% 140 | \else% 141 | \@latexerr{Float(s) lost}\@ehb% 142 | \let \@dbltoplist \@empty% 143 | \fi% 144 | \@cons \@dbltoplist \@currbox% 145 | \global \@dbltopnum \m@ne% 146 | \ifdim \@colht<2.5\baselineskip% 147 | \@latex@warning@no@line {Optional argument of \noexpand\twocolumn 148 | too tall on page \thepage}% 149 | \@emptycol% 150 | \if@firstcolumn% 151 | \else% 152 | \@emptycol% 153 | \fi% 154 | \else% 155 | \global \vsize \@colht% 156 | \global \@colroom \@colht% 157 | \@floatplacement% 158 | \fi% 159 | } 160 | % \end{macrocode} 161 | % Um eine Änderung am \LaTeXe-Kernel feststellen zu können, wird auf die zum 162 | % Zeitpunkt des Paketes aktuelle Definition von \cs{@topnewpage} geprüft. 163 | % \begin{macrocode} 164 | \long\def\@tempb[#1]{% 165 | \@nodocument 166 | \@next\@currbox\@freelist{}{}% 167 | \global \setbox\@currbox 168 | \color@vbox 169 | \normalcolor 170 | \vbox {% 171 | \hsize\textwidth 172 | \@parboxrestore 173 | \col@number \@ne 174 | #1% 175 | \vskip -\dbltextfloatsep 176 | }% 177 | \color@endbox 178 | \ifdim \ht\@currbox>\textheight 179 | \ht\@currbox \textheight 180 | \fi 181 | \global \count\@currbox \tw@ 182 | \@tempdima -\ht\@currbox 183 | \advance \@tempdima -\dbltextfloatsep 184 | \global \advance \@colht \@tempdima 185 | \ifx \@dbltoplist \@empty 186 | \else 187 | \@latexerr{Float(s) lost}\@ehb 188 | \let \@dbltoplist \@empty 189 | \fi 190 | \@cons \@dbltoplist \@currbox 191 | \global \@dbltopnum \m@ne 192 | \ifdim \@colht<2.5\baselineskip 193 | \@latex@warning@no@line {Optional argument of \noexpand\twocolumn 194 | too tall on page \thepage}% 195 | \@emptycol 196 | \if@firstcolumn 197 | \else 198 | \@emptycol 199 | \fi 200 | \else 201 | \global \vsize \@colht 202 | \global \@colroom \@colht 203 | \@floatplacement 204 | \fi 205 | } 206 | % \end{macrocode} 207 | % \begin{macro}{\@topnewpage} 208 | % \begin{macro}{\scr@topnewpage} 209 | % Nachdem der neue Befehl sowie die Definition aus dem \LaTeXe-Kernel zuerst 210 | % temporär definiert wurden, wird nun abhängig von der aktiven Klasse der 211 | % notwendige Befehl mit der neuen Definition überschrieben. 212 | % \begin{macrocode} 213 | \ifx\scr@topnewpage\@undefined 214 | \@check@eq\@topnewpage\@tempb% 215 | \let\@topnewpage\@tempa% 216 | \else 217 | \@check@eq\scr@topnewpage\@tempb% 218 | \let\scr@topnewpage\@tempa% 219 | \fi 220 | % \end{macrocode} 221 | % \end{macro}^^A \scr@topnewpage 222 | % \end{macro}^^A \@topnewpage 223 | % 224 | % \iffalse 225 | % 226 | % \fi 227 | % 228 | % \PrintBackMatter 229 | % 230 | \endinput 231 | -------------------------------------------------------------------------------- /source/tudscr-version.dtx: -------------------------------------------------------------------------------- 1 | % \iffalse meta-comment 2 | %/GitFileInfo=tudscr-version.dtx 3 | % 4 | % TUD-Script -- Corporate Design of Technische Universität Dresden 5 | % ---------------------------------------------------------------------------- 6 | % 7 | % Copyright (C) Falk Hanisch , 2012-2022 8 | % 9 | % ---------------------------------------------------------------------------- 10 | % 11 | % This work may be distributed and/or modified under the conditions of the 12 | % LaTeX Project Public License, either version 1.3c of this license or 13 | % any later version. The latest version of this license is in 14 | % http://www.latex-project.org/lppl.txt 15 | % and version 1.3c or later is part of all distributions of 16 | % LaTeX version 2008-05-04 or later. 17 | % 18 | % This work has the LPPL maintenance status "maintained". 19 | % 20 | % The current maintainer and author of this work is Falk Hanisch. 21 | % 22 | % ---------------------------------------------------------------------------- 23 | % 24 | % \fi 25 | % 26 | % \iffalse comment 27 | % Nicht verwirren lassen! In dieser Datei steht ein Teil der Dokumentation und 28 | % des Codes vor dem Treiber. Das ist notwendig, weil der Teil des Codes bereits 29 | % am Anfang des Treibers selbst benötigt wird. Genauer gesagt handelt es sich 30 | % dabei um den Teil zur Versionsangbabe. 31 | % \fi 32 | % 33 | % \selectlanguage{ngerman} 34 | % 35 | % \changes{v1.0}{2012/10/31}{\TUDScript-Bundle erstmalig veröffentlicht}^^A 36 | % \changes{v2.00}{2014/04/21}{\TUDScript-Bundle auf \pkg{docstrip} umgestellt 37 | % und stark erweitert}^^A 38 | % \changes{v2.01}{2014/04/24}{Anpassungen in Dokumentation und 39 | % Schriftinstallation, Fehlerkorrekturen}^^A 40 | % \changes{v2.02}{2014/05/14}{Problem globaler Längenänderungen behoben}^^A 41 | % \changes{v2.02}{2014/05/16}{Umbennenung mehrerer Befehle zur Kompatibilität 42 | % mit anderen Paketen}^^A 43 | % 44 | % 45 | % 46 | % \section{Die Version des \TUDScript-Bundles} 47 | % 48 | % Für das \TUDScript-Bundle wird die aktuelle Version sowie \LaTeXe{} als 49 | % benötigtes Format festgelegt. 50 | % 51 | % \subsection{Definition und Validierung der Version} 52 | % 53 | % \begin{macro}{\TUD@Version} 54 | % \begin{macro}{\TUD@@Version} 55 | % \changes{v2.02}{2014/07/22}{Expandieren der Versionsangabe bei der Verwendung 56 | % von \pkg{docstrip} ermöglicht}^^A 57 | % \begin{macro}{\TUDScriptVersion} 58 | % \begin{macro}{\TUDScriptVersionNumber} 59 | % \begin{macro}{\TUD@KOMAVersion} 60 | % \begin{macro}{\TUD@KOMAVersionNumber} 61 | % Die Klassen und Pakete des \TUDScript-Bundles verwenden \cs{TUD@Version} 62 | % zur Versionsangabe. Je nachdem, ob \cs{TUD@Version} bereits definiert ist 63 | % oder nicht, wird mit \cs{TUD@@Version} die Definition überprüft oder eine 64 | % globale Definition vorgenommen. In \cs{TUD@KOMAVersion} wird die mindestens 65 | % notwendige Version von \KOMAScript{} definiert. 66 | % \begin{macrocode} 67 | %<*identify> 68 | %\NeedsTeXFormat{LaTeX2e}[2022-06-01] 69 | \begingroup 70 | \catcode`\@11\relax% 71 | %<*!(class|package)> 72 | \ifx\documentclass\undefined% 73 | \gdef\TUD@@Version#1#2{% 74 | \gdef\TUD@Version{\space\space#1}% 75 | \gdef\TUD@KOMAVersion{\space\space#2}% 76 | }% 77 | \else% 78 | % 79 | \ifx\TUD@Version\@undefined% 80 | \newcommand*\TUD@@Version[2]{% 81 | \gdef\TUD@Version{#1}% 82 | \gdef\TUD@KOMAVersion{#2}% 83 | }% 84 | \else% 85 | \newcommand*\TUD@@Version[2]{% 86 | \def\@tempa{#1}% 87 | \ifx\TUD@Version\@tempa\else% 88 | \@latex@warning@no@line{% 89 | \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak% 90 | but `#1' was expected!\MessageBreak% 91 | You should not use classes, packages or files from\MessageBreak% 92 | different TUD-Script bundle versions% 93 | }% 94 | \fi% 95 | }% 96 | \fi% 97 | %<*!(class|package)> 98 | \fi% 99 | % 100 | \TUD@@Version{2022/08/09 v2.06o TUD-Script}{2022/05/01 v3.36 KOMA-Script}% 101 | \ifx\TUDScriptVersion\@undefined% 102 | \xdef\TUDScriptVersion{\TUD@Version}% 103 | \def\@tempa#1 v#2 #3\relax#4\relax#5{\gdef#5{#2}}% 104 | \expandafter\@tempa\TUD@Version ? ?\relax\relax{\TUDScriptVersionNumber}% 105 | \expandafter\@tempa\TUD@KOMAVersion ? ?\relax\relax{\TUD@KOMAVersionNumber}% 106 | \fi% 107 | \endgroup 108 | % 109 | % \end{macrocode} 110 | % \end{macro}^^A \TUD@KOMAVersionNumber 111 | % \end{macro}^^A \TUD@KOMAVersion 112 | % \end{macro}^^A \TUDScriptVersionNumber 113 | % \end{macro}^^A \TUDScriptVersion 114 | % \end{macro}^^A \TUD@@Version 115 | % \end{macro}^^A \TUD@Version 116 | % 117 | % \iffalse ins:batch + dtx:driver 118 | %<*ins> 119 | \ifx\documentclass\undefined 120 | \input docstrip.tex 121 | \ifToplevel{\batchinput{tudscr.ins}} 122 | \else 123 | \let\endbatchfile\relax 124 | \fi 125 | \endbatchfile 126 | % 127 | %<*dtx> 128 | \ProvidesFile{tudscr-version.dtx}[2022/08/09] 129 | \RequirePackage{tudscr-gitinfo} 130 | \documentclass[english,ngerman,xindy]{tudscrdoc} 131 | \iftutex 132 | \usepackage{fontspec} 133 | \else 134 | \usepackage[T1]{fontenc} 135 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 136 | \fi 137 | \usepackage{babel} 138 | \usepackage{tudscrfonts} 139 | \usepackage[babel]{microtype} 140 | 141 | \GitHubBase{\TUDScriptRepository} 142 | \begin{document} 143 | \author{Falk Hanisch\TUDScriptContactTitle} 144 | \maketitle 145 | \tableofcontents 146 | \DocInput{\filename} 147 | \end{document} 148 | % 149 | % \fi 150 | % 151 | % \iffalse comment 152 | % Der Rest wird nicht mehr vom Treiber benötigt. 153 | % \fi 154 | % 155 | % \iffalse 156 | %<*identify> 157 | % \fi 158 | % 159 | % \subsection{Das \TUDScript-Logo und Anlaufstellen} 160 | % \begin{macro}{\TUDScript} 161 | % Der Schriftzug von \TUDScript. 162 | % \begin{macrocode} 163 | \@ifundefined{TUDScript}{% 164 | \DeclareRobustCommand\TUDScript{% 165 | \mbox{% 166 | \textsf{% 167 | T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script% 168 | }% 169 | }\ifcsname xspace\endcsname\xspace\fi% 170 | }% 171 | }{} 172 | % \end{macrocode} 173 | % \end{macro}^^A \TUDScript 174 | % 175 | % \begin{macro}{\TUDScriptContact} 176 | % \begin{macro}{\TUDScriptRepository} 177 | % \begin{macro}{\TUDScriptForum} 178 | % Die E"~Mail-Adresse, Repository und Forum für Supportanfragen. 179 | % \begin{macrocode} 180 | \providecommand*\TUDScriptContact{hanisch.latex@outlook.com} 181 | \providecommand*\TUDScriptRepository{https://github.com/tud-cd/tudscr} 182 | \providecommand*\TUDScriptForum{https://latex.wcms-file3.tu-dresden.de/phpBB3/} 183 | % \end{macrocode} 184 | % \end{macro}^^A \TUDScriptForum 185 | % \end{macro}^^A \TUDScriptRepository 186 | % \end{macro}^^A \TUDScriptContact 187 | % 188 | % \iffalse 189 | %<*class> 190 | % \fi 191 | % 192 | % \subsection{Laden von Klassen und Paketen} 193 | % 194 | % \begin{macro}{\TUD@ProvidesClass} 195 | % \changes{v2.04}{2015/06/13}{neu}^^A 196 | % \begin{macro}{\TUD@ProvidesWrapperClass} 197 | % \changes{v2.04}{2015/06/13}{neu}^^A 198 | % \begin{macro}{\TUD@Class@Name} 199 | % \changes{v2.04}{2015/06/12}{neu}^^A 200 | % \begin{macro}{\TUD@Class@Parent} 201 | % \changes{v2.04}{2015/06/12}{neu}^^A 202 | % \begin{macro}{\TUD@Class@KOMA} 203 | % \changes{v2.04}{2015/06/12}{neu}^^A 204 | % \begin{macro}{\TUDScriptClassName} 205 | % \begin{macro}{\TUDClassName} 206 | % Mit diesen Befehlen erfolgt die Versionsangabe der \TUDScript-Klassen beim 207 | % Laden. Dabei werden hier einmalig die Namen der jeweiligen Klassen definiert. 208 | % Hierfür werden die Befehle \cs{TUD@ProvidesClass} für die Hauptklassen und 209 | % \cs{TUD@ProvidesWrapperClass} für auf diesen aufbauende Wrapper-Klassen 210 | % genutzt. Das erste Argument ist die zu definierende Klasse, das zweite 211 | % Argument entspricht der Basis-Klasse. Das dritte Argument enthält eine kurze 212 | % Beschreibung. 213 | % \begin{macrocode} 214 | %\newcommand*\TUD@ProvidesClass[3] 215 | %\newcommand*\TUD@ProvidesWrapperClass[3] 216 | {% 217 | \ProvidesClass{#1}[% 218 | %!TUD@Version 219 | #3 (#2)% 220 | ]% 221 | % \newcommand*\TUD@Class@KOMA{#2}% 222 | % \newcommand*\TUD@Class@Parent{#2}% 223 | % \ifx\TUD@Class@Parent\@undefined% 224 | \newcommand*\TUD@Class@Name{#1}% 225 | % \end{macrocode} 226 | % Die Benutzermakros für den Namen der verwendeten \TUDScript-Klasse. 227 | % \begin{macrocode} 228 | \newcommand*\TUDScriptClassName{#1}% 229 | \providecommand*\TUDClassName{\TUDScriptClassName}% 230 | \TUD@Class@Info% 231 | % \fi% 232 | } 233 | % \end{macrocode} 234 | % \end{macro}^^A \TUDClassName 235 | % \end{macro}^^A \TUDScriptClassName 236 | % \end{macro}^^A \TUD@Class@KOMA 237 | % \end{macro}^^A \TUD@Class@Parent 238 | % \end{macro}^^A \TUD@Class@Name 239 | % \end{macro}^^A \TUD@ProvidesWrapperClass 240 | % \end{macro}^^A \TUD@ProvidesClass 241 | % \begin{macro}{\TUD@Class@Info} 242 | % \changes{v2.04}{2015/06/13}{neu}^^A 243 | % Beim Verwenden der Klassen wird in der log-Datei ein Vermerk mit \cs{typeout} 244 | % erstellt. 245 | % \begin{macrocode} 246 | \providecommand*\TUD@Class@Info{% 247 | \typeout{+------------------------------------------------------------------}% 248 | \typeout{| Corporate Design of Technische Universitaet Dresden}% 249 | \typeout{| Class: \TUDScriptClassName}% 250 | \typeout{| Version: \TUDScriptVersion}% 251 | \typeout{| Author: Falk Hanisch (\TUDScriptContact)}% 252 | \typeout{| Repository: \TUDScriptRepository}% 253 | \typeout{| Forum: \TUDScriptForum}% 254 | \typeout{+------------------------------------------------------------------}% 255 | } 256 | % \end{macrocode} 257 | % \end{macro}^^A \TUD@Class@Info 258 | % Hier erfolgt nun die Indentifizierung und die Zuweisung der Klassennamen. 259 | % \begin{macrocode} 260 | %\TUD@ProvidesClass{tudscrbook}{scrbook}{document class} 261 | %\TUD@ProvidesClass{tudscrreprt}{scrreprt}{document class} 262 | %
\TUD@ProvidesClass{tudscrartcl}{scrartcl}{document class} 263 | %\TUD@ProvidesClass{tudscrposter}{scrartcl}{poster class} 264 | %\TUD@ProvidesClass{tudscrdoc}{scrartcl}{source code documentation class} 265 | %\TUD@ProvidesWrapperClass{tudscrmanual}{tudscrreprt}{manual class} 266 | % \end{macrocode} 267 | % 268 | % \iffalse 269 | % 270 | %<*package> 271 | %<*supervisor|comp|manual> 272 | % \fi 273 | % 274 | % \begin{macro}{\TUD@Class@Check} 275 | % \changes{v2.06o}{2022/08/09}{neu}^^A 276 | % Einige Pakete sind nur mit den \TUDScript-Klassen verwendbar. Diese erzeugen 277 | % einen Fehler, wenn sie nicht mit einer dieser verwendet werden. 278 | % \begin{macrocode} 279 | \providecommand*\TUD@Class@Check[1]{% 280 | \ifx\TUD@Class@Name\@undefined% 281 | \PackageError{#1}{TUD-Script class not loaded}{% 282 | This package requires a class of the TUD-Script bundle\MessageBreak% 283 | (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).% 284 | }% 285 | \DeclareOption*{}% 286 | \ProcessOptions\relax% 287 | \expandafter\endinput% 288 | \fi% 289 | }% 290 | % \end{macrocode} 291 | % \end{macro}^^A \TUD@Class@Check 292 | % 293 | % \iffalse 294 | % 295 | % 296 | % 297 | % \fi 298 | % 299 | % \PrintBackMatter 300 | % 301 | \endinput 302 | -------------------------------------------------------------------------------- /source/tudscr.ins: -------------------------------------------------------------------------------- 1 | % 2 | % TUD-Script -- Corporate Design of Technische Universität Dresden 3 | % ---------------------------------------------------------------------------- 4 | % 5 | % Copyright (C) Falk Hanisch , 2012-2022 6 | % 7 | % ---------------------------------------------------------------------------- 8 | % 9 | % This work may be distributed and/or modified under the conditions of the 10 | % LaTeX Project Public License, either version 1.3c of this license or 11 | % any later version. The latest version of this license is in 12 | % http://www.latex-project.org/lppl.txt 13 | % and version 1.3c or later is part of all distributions of 14 | % LaTeX version 2008-05-04 or later. 15 | % 16 | % This work has the LPPL maintenance status "maintained". 17 | % 18 | % The current maintainer and author of this work is Falk Hanisch. 19 | % 20 | % ---------------------------------------------------------------------------- 21 | \input docstrip.tex 22 | \begingroup 23 | \catcode`\%=12 \catcode`\*=14 24 | \gdef\processLineX%#1{* 25 | \ifcase\ifx%#10\else 26 | \ifx<#11\else 27 | \ifx!#12\else 28 | \ifx/#13\else 4\fi\fi\fi\fi\relax 29 | \expandafter\putMetaComment\or 30 | \expandafter\checkOption\or 31 | \expandafter\TUDexpandVariable\or 32 | \expandafter\TUDexpandCommand\or 33 | \expandafter\removeComment\fi 34 | #1} 35 | \endgroup 36 | \def\TUDexpandVariable!#1\endLine{% 37 | \expandafter\ifx\csname#1\endcsname\relax 38 | \errmessage{% 39 | You've tried to expand the undefined command^^J% 40 | \expandafter\string\csname#1\endcsname% 41 | }% 42 | \else 43 | \advance\codeLinesPassed\@ne 44 | \maybeMsg{x}% 45 | \edef\inLine{\csname#1\endcsname}% 46 | \let\do\putline@do 47 | \activefiles 48 | \fi 49 | } 50 | \def\TUDexpandCommand/#1=#2\endLine{% 51 | \expandafter\ifx\csname#1\endcsname\relax 52 | \errmessage{% 53 | You've tried to expand the undefined command^^J% 54 | \expandafter\string\csname#1\endcsname% 55 | }% 56 | \else 57 | \advance\codeLinesPassed\@ne 58 | \maybeMsg{x}% 59 | \expandafter\edef\expandafter\inLine\expandafter{\csname#1\endcsname{#2}}% 60 | \let\do\putline@do 61 | \activefiles 62 | \fi 63 | } 64 | \@@input tudscr-version.dtx 65 | \@@input tudscr-gitinfo.dtx 66 | \keepsilent 67 | \preamble 68 | 69 | TUD-Script -- Corporate Design of Technische Universitaet Dresden 70 | \TUD@Version 71 | 72 | Copyright (C) Falk Hanisch , 2012-2022 73 | https://github.com/tud-cd/tudscr 74 | https://latex.wcms-file3.tu-dresden.de/phpBB3/ 75 | 76 | This file was generated from file(s) of the TUD-Script bundle. 77 | ---------------------------------------------------------------------------- 78 | 79 | This work may be distributed and/or modified under the conditions of the 80 | LaTeX Project Public License, either version 1.3c of this license or 81 | any later version. The latest version of this license is in 82 | http://www.latex-project.org/lppl.txt 83 | and version 1.3c or later is part of all distributions of 84 | LaTeX version 2008-05-04 or later. 85 | 86 | This work has the LPPL maintenance status "maintained". 87 | 88 | The current maintainer and author of this work is Falk Hanisch. 89 | 90 | \endpreamble 91 | \askforoverwritefalse 92 | \usedir{tex/latex/tudscr} 93 | \generate{% 94 | \usepreamble\defaultpreamble% 95 | \file{tudscrbook.cls}{% 96 | \from{tudscr-version.dtx}{class,book,identify}% 97 | \needed{tudscr-fonts.dtx}% 98 | \needed{tudscr-supervisor.dtx}% 99 | \needed{tudscr-comp.dtx}% 100 | \from{tudscr-base.dtx}{class,book,load}% 101 | \from{tudscr-base.dtx}{class,book,option}% 102 | \from{tudscr-fonts.dtx}{class,book,option}% 103 | \from{tudscr-area.dtx}{class,book,option}% 104 | \from{tudscr-pagestyle.dtx}{class,book,option}% 105 | \from{tudscr-layout.dtx}{class,book,option}% 106 | \from{tudscr-title.dtx}{class,book,option}% 107 | \from{tudscr-frontmatter.dtx}{class,book,option}% 108 | \from{tudscr-misc.dtx}{class,book,option}% 109 | \from{tudscr-comp.dtx}{class,book,option}% 110 | \from{tudscr-misc.dtx}{class,book,execute}% 111 | \from{tudscr-base.dtx}{class,book,body}% 112 | \from{tudscr-fonts.dtx}{class,book,body}% 113 | \from{tudscr-fields.dtx}{class,book,body}% 114 | \from{tudscr-localization.dtx}{class,book,body}% 115 | \from{tudscr-area.dtx}{class,book,body}% 116 | \from{tudscr-pagestyle.dtx}{class,book,body}% 117 | \from{tudscr-layout.dtx}{class,book,body}% 118 | \from{tudscr-title.dtx}{class,book,body}% 119 | \from{tudscr-frontmatter.dtx}{class,book,body}% 120 | \from{tudscr-misc.dtx}{class,book,body}% 121 | \from{tudscr-comp.dtx}{class,book,body}% 122 | } 123 | \file{tudscrreprt.cls}{% 124 | \from{tudscr-version.dtx}{class,report,identify}% 125 | \needed{tudscr-fonts.dtx}% 126 | \needed{tudscr-supervisor.dtx}% 127 | \needed{tudscr-comp.dtx}% 128 | \from{tudscr-base.dtx}{class,report,load}% 129 | \from{tudscr-base.dtx}{class,report,option}% 130 | \from{tudscr-fonts.dtx}{class,report,option}% 131 | \from{tudscr-area.dtx}{class,report,option}% 132 | \from{tudscr-pagestyle.dtx}{class,report,option}% 133 | \from{tudscr-layout.dtx}{class,report,option}% 134 | \from{tudscr-title.dtx}{class,report,option}% 135 | \from{tudscr-frontmatter.dtx}{class,report,option}% 136 | \from{tudscr-misc.dtx}{class,report,option}% 137 | \from{tudscr-comp.dtx}{class,report,option}% 138 | \from{tudscr-misc.dtx}{class,report,execute}% 139 | \from{tudscr-base.dtx}{class,report,body}% 140 | \from{tudscr-fonts.dtx}{class,report,body}% 141 | \from{tudscr-fields.dtx}{class,report,body}% 142 | \from{tudscr-localization.dtx}{class,report,body}% 143 | \from{tudscr-area.dtx}{class,report,body}% 144 | \from{tudscr-pagestyle.dtx}{class,report,body}% 145 | \from{tudscr-layout.dtx}{class,report,body}% 146 | \from{tudscr-title.dtx}{class,report,body}% 147 | \from{tudscr-frontmatter.dtx}{class,report,body}% 148 | \from{tudscr-misc.dtx}{class,report,body}% 149 | \from{tudscr-comp.dtx}{class,report,body}% 150 | } 151 | \file{tudscrartcl.cls}{% 152 | \from{tudscr-version.dtx}{class,article,identify}% 153 | \needed{tudscr-fonts.dtx}% 154 | \needed{tudscr-supervisor.dtx}% 155 | \needed{tudscr-comp.dtx}% 156 | \from{tudscr-base.dtx}{class,article,load}% 157 | \from{tudscr-base.dtx}{class,article,option}% 158 | \from{tudscr-fonts.dtx}{class,article,option}% 159 | \from{tudscr-area.dtx}{class,article,option}% 160 | \from{tudscr-pagestyle.dtx}{class,article,option}% 161 | \from{tudscr-layout.dtx}{class,article,option}% 162 | \from{tudscr-title.dtx}{class,article,option}% 163 | \from{tudscr-frontmatter.dtx}{class,article,option}% 164 | \from{tudscr-misc.dtx}{class,article,option}% 165 | \from{tudscr-comp.dtx}{class,article,option}% 166 | \from{tudscr-misc.dtx}{class,article,execute}% 167 | \from{tudscr-base.dtx}{class,article,body}% 168 | \from{tudscr-fonts.dtx}{class,article,body}% 169 | \from{tudscr-fields.dtx}{class,article,body}% 170 | \from{tudscr-localization.dtx}{class,article,body}% 171 | \from{tudscr-area.dtx}{class,article,body}% 172 | \from{tudscr-pagestyle.dtx}{class,article,body}% 173 | \from{tudscr-layout.dtx}{class,article,body}% 174 | \from{tudscr-title.dtx}{class,article,body}% 175 | \from{tudscr-frontmatter.dtx}{class,article,body}% 176 | \from{tudscr-misc.dtx}{class,article,body}% 177 | \from{tudscr-comp.dtx}{class,article,body}% 178 | } 179 | \file{tudscrposter.cls}{% 180 | \from{tudscr-version.dtx}{class,poster,identify}% 181 | \needed{tudscr-fonts.dtx}% 182 | \needed{tudscr-supervisor.dtx}% 183 | \needed{tudscr-comp.dtx}% 184 | \from{tudscr-base.dtx}{class,poster,load}% 185 | \from{tudscr-base.dtx}{class,poster,option}% 186 | \from{tudscr-fonts.dtx}{class,poster,option}% 187 | \from{tudscr-area.dtx}{class,poster,option}% 188 | \from{tudscr-pagestyle.dtx}{class,poster,option}% 189 | \from{tudscr-layout.dtx}{class,poster,option}% 190 | \from{tudscr-title.dtx}{class,poster,option}% 191 | \from{tudscr-frontmatter.dtx}{class,poster,option}% 192 | \from{tudscr-misc.dtx}{class,poster,option}% 193 | \from{tudscr-comp.dtx}{class,poster,option}% 194 | \from{tudscr-misc.dtx}{class,poster,execute}% 195 | \from{tudscr-base.dtx}{class,poster,body}% 196 | \from{tudscr-fonts.dtx}{class,poster,body}% 197 | \from{tudscr-fields.dtx}{class,poster,body}% 198 | \from{tudscr-localization.dtx}{class,poster,body}% 199 | \from{tudscr-area.dtx}{class,poster,body}% 200 | \from{tudscr-pagestyle.dtx}{class,poster,body}% 201 | \from{tudscr-layout.dtx}{class,poster,body}% 202 | \from{tudscr-title.dtx}{class,poster,body}% 203 | \from{tudscr-frontmatter.dtx}{class,poster,body}% 204 | \from{tudscr-misc.dtx}{class,poster,body}% 205 | \from{tudscr-comp.dtx}{class,poster,body}% 206 | } 207 | \file{tudscrbase.sty}{% 208 | \from{tudscr-version.dtx}{package,base,identify}% 209 | \from{tudscr-base.dtx}{package,base}% 210 | } 211 | \file{tudscrcolor.sty}{% 212 | \from{tudscr-version.dtx}{package,color,identify}% 213 | \from{tudscr-color.dtx}{package,color}% 214 | } 215 | \file{tudscrsupervisor.sty}{% 216 | \from{tudscr-version.dtx}{package,supervisor,identify}% 217 | \from{tudscr-supervisor.dtx}{package,supervisor,identify}% 218 | \from{tudscr-fields.dtx}{package,supervisor,body}% 219 | \from{tudscr-localization.dtx}{package,supervisor,body}% 220 | \from{tudscr-supervisor.dtx}{package,supervisor,body}% 221 | } 222 | \file{tudscrcomp.sty}{% 223 | \from{tudscr-version.dtx}{package,comp,identify}% 224 | \from{tudscr-comp.dtx}{package,comp,identify}% 225 | \needed{tudscr-misc.dtx}% 226 | \from{tudscr-comp.dtx}{package,comp,option}% 227 | \from{tudscr-misc.dtx}{package,comp,execute}% 228 | \from{tudscr-comp.dtx}{package,comp,body}% 229 | } 230 | \file{tudscrfonts.sty}{% 231 | \from{tudscr-version.dtx}{package,fonts,identify}% 232 | \from{tudscr-fonts.dtx}{package,fonts,identify}% 233 | \needed{tudscr-comp.dtx}% 234 | \from{tudscr-base.dtx}{package,fonts,load}% 235 | \from{tudscr-fonts.dtx}{package,fonts,option}% 236 | \from{tudscr-misc.dtx}{package,fonts,option}% 237 | \from{tudscr-comp.dtx}{package,fonts,option}% 238 | \from{tudscr-misc.dtx}{package,fonts,execute}% 239 | \from{tudscr-fonts.dtx}{package,fonts,body}% 240 | \from{tudscr-misc.dtx}{package,fonts,body}% 241 | \from{tudscr-comp.dtx}{package,fonts,body}% 242 | } 243 | \file{fix-tudscrfonts.sty}{% 244 | \from{tudscr-version.dtx}{package,fixfonts,identify}% 245 | \from{tudscr-comp.dtx}{package,fixfonts,identify}% 246 | \from{tudscr-base.dtx}{package,fixfonts,load}% 247 | \from{tudscr-layout.dtx}{package,fixfonts,option}% 248 | \needed{tudscr-misc.dtx}% 249 | \needed{tudscr-comp.dtx}% 250 | \from{tudscr-misc.dtx}{package,fixfonts,execute}% 251 | \from{tudscr-layout.dtx}{package,fixfonts,body}% 252 | \from{tudscr-comp.dtx}{package,fixfonts,body}% 253 | } 254 | } 255 | \generate{% 256 | \usepreamble\defaultpreamble% 257 | \file{tudscrmanual.cls}{% 258 | \from{tudscr-version.dtx}{class,manual,identify,inherit}% 259 | \needed{tudscr-manual.dtx}% 260 | \from{tudscr-base.dtx}{class,manual,inherit,load}% 261 | \from{tudscr-misc.dtx}{class,manual,option}% 262 | \from{tudscr-manual.dtx}{class,manual,option}% 263 | \from{tudscr-misc.dtx}{class,manual,inherit,execute}% 264 | \from{tudscr-misc.dtx}{class,manual,body}% 265 | \from{tudscr-manual.dtx}{class,manual,body}% 266 | \from{tudscr-fields.dtx}{class,manual,body}% 267 | \from{tudscr-localization.dtx}{class,manual,body}% 268 | \from{tudscr-texindy.dtx}{class,manual}% 269 | } 270 | \file{tudscrmanual.sty}{% 271 | \from{tudscr-version.dtx}{package,manual,identify}% 272 | \from{tudscr-manual.dtx}{package,manual,identify}% 273 | \from{tudscr-base.dtx}{package,manual,load}% 274 | \from{tudscr-misc.dtx}{package,manual,option}% 275 | \from{tudscr-manual.dtx}{package,manual,option}% 276 | \from{tudscr-misc.dtx}{package,manual,execute}% 277 | \from{tudscr-misc.dtx}{package,manual,body}% 278 | \from{tudscr-manual.dtx}{package,manual,body}% 279 | \from{tudscr-texindy.dtx}{package,manual}% 280 | } 281 | } 282 | \generate{% 283 | \usepreamble\defaultpreamble% 284 | \file{tudscrdoc.cls}{% 285 | \from{tudscr-version.dtx}{class,doc,identify}% 286 | \from{tudscr-base.dtx}{class,doc,load}% 287 | \from{tudscr-misc.dtx}{class,doc,option}% 288 | \from{tudscr-doc.dtx}{class,doc,option}% 289 | \from{tudscr-localization.dtx}{class,doc}% 290 | \from{tudscr-misc.dtx}{class,doc,body}% 291 | \from{tudscr-doc.dtx}{class,doc,body}% 292 | \from{tudscr-texindy.dtx}{class,doc}% 293 | } 294 | } 295 | \generate{% 296 | \usepreamble\defaultpreamble% 297 | \file{tudscr-gitinfo.sty}{% 298 | \from{tudscr-version.dtx}{package,git,identify}% 299 | \from{tudscr-gitinfo.dtx}{identify,package}% 300 | } 301 | \file{twocolfix.sty}{% 302 | \from{tudscr-twocolfix.dtx}{package}% 303 | } 304 | \file{mathswap.sty}{% 305 | \from{tudscr-mathswap.dtx}{package}% 306 | } 307 | } 308 | \endbatchfile 309 | -------------------------------------------------------------------------------- /source/tudscrsource.tex: -------------------------------------------------------------------------------- 1 | \ifx\documentclass\undefined 2 | \input docstrip.tex 3 | \ifToplevel{\batchinput{tudscr.ins}} 4 | \else 5 | \let\endbatchfile\relax 6 | \fi 7 | \endbatchfile 8 | 9 | \RequirePackage{tudscr-gitinfo} 10 | \documentclass[english,ngerman,xindy]{tudscrdoc} 11 | \iftutex 12 | \usepackage{fontspec} 13 | \else 14 | \usepackage[T1]{fontenc} 15 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 16 | \fi 17 | \usepackage{babel} 18 | \usepackage{tudscrfonts} 19 | \usepackage[babel]{microtype} 20 | 21 | \GitHubBase{\TUDScriptRepository} 22 | \begin{document} 23 | \addtokomafont{subject}{\sffamily} 24 | \subject{\TUDScript basierend auf \KOMAScript} 25 | \title{Ein \LaTeX-Bundle für Dokumente \mbox{im \CD der} \mbox{\TnUD}} 26 | \subtitle{Quelltextdokumentation} 27 | \author{Falk Hanisch\TUDScriptContactTitle} 28 | \date{\TUDScriptVersion} 29 | 30 | \makeatletter 31 | \begingroup% 32 | \def\and{, }% 33 | \let\thanks\@gobble% 34 | \let\footnote\@gobble% 35 | \let\mailto\@gobble% 36 | \let\qquad\relax% 37 | \hypersetup{% 38 | pdfauthor = {\@author},% 39 | pdftitle = {\@title},% 40 | pdfsubject = {\@subtitle},% 41 | pdfkeywords = {LaTeX, \TUDScript, Quelltext},% 42 | }% 43 | \endgroup% 44 | \let\@maketitle\scr@maketitle% 45 | \makeatother 46 | 47 | 48 | \maketitle 49 | 50 | 51 | Das \TUDScript-Bundle setzt das \TUDCD für \LaTeX{} um. Die enthaltenen 52 | Klassen und Pakete basieren auf dem \KOMAScript-Bundle und sind sehr eng mit 53 | diesen verwoben. Momentan ergänzen sie das Vorlagenbundle von Klaus~Bergmann, 54 | das auf den \LaTeX"=Standardklassen basiert und als veraltet betrachtet werden 55 | kann. Die dazugehörigen Klassen sollen mittel- bis langfristig ersetzt werden.% 56 | \footnote{% 57 | aktuell ist dies \cls{tudbook}, geplant \cls{tudfax}, \cls{tudletter}, 58 | \cls{tudform}, \cls{tudhaus} und evtl. auch \cls{tudbeamer}% 59 | } 60 | Es handelt sich bei diesem Dokument \emph{nicht} um das Anwenderhandbuch 61 | sondern um den dokumentierten Quelltext der Implementierung von \TUDScript. 62 | Das Anwenderhandbuch kann via Kommandozeile/Terminal mit \texttt{texdoc tudscr} 63 | geöffnet werden. 64 | 65 | \tableofcontents 66 | \ToDo{Release-Prozess mit \app{make} und \file{Makefile}}[v2.07] 67 | \ToDo{^^A 68 | \cs{kernel@ifnextchar}, \cs{kernel@ifstar} mit \cs{NewDocumentCommand}^^A 69 | }[v2.07] 70 | \ToDo{\cs{IfArgIsEmpty} überprüfen/ersetzen}[v2.07] 71 | % renewcommand[^\{]*?\\[^\{\[]*?\{ 72 | \ToDo{\cs{renewcommand} mit \cs{def} ersetzen, wo sinnvoll}[v2.07] 73 | \clearpage 74 | 75 | \DocInclude{tudscr-version} 76 | \DocInclude{tudscr-base} 77 | \DocInclude{tudscr-fonts} 78 | \DocInclude{tudscr-fields} 79 | \DocInclude{tudscr-localization} 80 | \DocInclude{tudscr-area} 81 | \DocInclude{tudscr-pagestyle} 82 | \DocInclude{tudscr-layout} 83 | \DocInclude{tudscr-title} 84 | \DocInclude{tudscr-frontmatter} 85 | \DocInclude{tudscr-comp} 86 | \DocInclude{tudscr-misc} 87 | \DocInclude{tudscr-color} 88 | \DocInclude{tudscr-supervisor} 89 | 90 | \DocInclude{tudscr-twocolfix} 91 | \DocInclude{tudscr-mathswap} 92 | 93 | \ifdefined\tudfinalflag\else 94 | \DocInclude{tudscr-manual} 95 | \DocInclude{tudscr-doc} 96 | \DocInclude{tudscr-texindy} 97 | \DocInclude{install/tudscr-metrics} 98 | \DocInclude{install/tudscr-scripts} 99 | \fi 100 | 101 | \PrintBackMatter* 102 | \end{document} 103 | -------------------------------------------------------------------------------- /test/font/fonttest.tex: -------------------------------------------------------------------------------- 1 | \listfiles 2 | \RequirePackage{scrlfile} 3 | %\PreventPackageFromLoading{mathastext}% 4 | %\ReplaceClass{tudscrreprt}{tudscrreprtx} 5 | \documentclass[ 6 | ngerman,DIV=22, 7 | % ttfont=roboto, 8 | % cdoldfont, 9 | % cdfont=heavy, 10 | slantedgreek=true, 11 | % cdfont=false, 12 | cdmath=false, 13 | % cdmath=true, 14 | cdgeometry=false, 15 | % lgrgreeks 16 | ]{tudscrreprt} 17 | \ifpdftex{ 18 | \usepackage[T1]{fontenc} 19 | }{ 20 | \usepackage{fontspec} 21 | } 22 | \usepackage{etoolbox} 23 | \usepackage{fonttable} 24 | %\usepackage{babel} 25 | \usepackage[math]{blindtext} 26 | \usepackage{textcomp} 27 | \usepackage{array} 28 | 29 | %\usepackage[cdfont=false]{tudscrfonts} 30 | %\usepackage[default]{opensans} 31 | 32 | %\usepackage{amsmath} 33 | %\usepackage{amssymb} 34 | %\usepackage{stix2} 35 | %\usepackage{unicode-math} 36 | %\setmathfont{texgyrepagella-math.otf} 37 | \usepackage{mathtools} 38 | %\usepackage{mdsymbol} 39 | 40 | \makeatletter 41 | %\def\bmmax{20} 42 | %\usepackage{bm} 43 | 44 | \providecommand*{\bm}[1]{\boldsymbol{#1}} 45 | \providecommand*{\boldsymbol}[1]{{#1}} 46 | 47 | %\usepackage[math]{fontspec} 48 | %\usepackage[math-style=ISO]{unicode-math} 49 | 50 | \begin{document} 51 | bla -- blubbbb 52 | 53 | bla - blubb 54 | 55 | \textbullet 56 | 57 | \TUDoptions{cdmath=true} 58 | 59 | \end{document} 60 | 61 | %\meaning\mv@tudnormal 62 | 63 | $\mathnormal{text}$ 64 | 65 | $\mathcal{TEXT}$ 66 | 67 | $*$ 68 | 69 | 70 | \meaning\tud@cdfont@fam 71 | 72 | \meaning\familydefault 73 | 74 | \meaning\rmdefault 75 | 76 | \meaning\sfdefault 77 | 78 | %874 \expandafter\in@\csname sym#2\expandafter\endcsname 79 | %875 \expandafter{\group@list}% 80 | 81 | %\csmeaning{@@tud@mv@normal} 82 | % 83 | %\csmeaning{mv@normal} 84 | % 85 | %\csmeaning{mv@tudnormal} 86 | % 87 | \csmeaning{tud@cdmath@symbol@alpha} 88 | 89 | \csmeaning{tud@cdmath@symbol@upalpha} 90 | 91 | \csmeaning{tud@cdmath@symbol@italpha} 92 | 93 | %$\xRightarrow[below]{above}$ 94 | 95 | %$\itvarepsilon$ 96 | 97 | 98 | $\delta \left<\right> \bm{\delta \left<\right> <>}$ 99 | 100 | %\mathversion{bold} 101 | 102 | $\delta \bm{\delta}$ 103 | 104 | $!"\#\$\%\&'()*+,-./:;<=>?@[\backslash]\string^\_\string`\{|\}\sim$ 105 | %\@tfor\reserved@a:=!"'()*+,-./:;<=>?@[]^_|~\do{% 106 | % \par\expandafter\the\expandafter\mathcode\expandafter`\reserved@a% 107 | %} 108 | 109 | %\expandafter\the\expandafter\mathcode\expandafter`\csname 110 | %tud@cdmath@symbol@*\endcsname 111 | 112 | $\tud@math@loop@greeks@uc\csuse$ 113 | 114 | %\tud@math@loop@greeks@uc\csmeaning 115 | 116 | $\tud@math@loop@greeks@lc\csuse$ 117 | 118 | %\TUDoptions{cdmath=true} 119 | 120 | %$\delta \bm{\delta}$ 121 | 122 | $!"\#\$\%\&'()*+,-./:;<=>?@[\backslash]\string^\_\string`\{|\}\sim$ 123 | 124 | $\tud@math@loop@greeks@uc\csuse$ 125 | 126 | %\tud@math@loop@greeks@uc\csmeaning 127 | 128 | $\tud@math@loop@greeks@lc\csuse$ 129 | 130 | %\TUDoptions{slantedgreek=true} 131 | %\TUDoptions{cdmath=false} 132 | %\TUDoptions{cdfont=true} 133 | 134 | $\tud@math@loop@greeks@all\csuse$ 135 | 136 | %\blindmathpaper 137 | 138 | \meaning\tud@cdmath@symbol@alpha 139 | 140 | \meaning\tud@cdmath@symbol@alphaup 141 | 142 | \meaning\tud@cdmath@symbol@alphait 143 | 144 | \meaning\tud@cdmath@symbol@upalpha 145 | 146 | \meaning\tud@math@operators@enc% 147 | \meaning\tud@math@operators@fam% 148 | \meaning\tud@math@letters@enc% 149 | \meaning\tud@math@letters@fam% 150 | 151 | \meaning\tud@cdmath@symbol@alphaup 152 | 153 | \bigskip 154 | 155 | \newcommand*\testgreek[2][]{% 156 | #1#2: 157 | \ifcsdef{#1#2}{\expandafter\meaning\csname #1#2\endcsname}{undefined} 158 | $\csuse{#1#2}$ 159 | \hfill 160 | #2#1: 161 | \ifcsdef{#2#1}{\expandafter\meaning\csname #2#1\endcsname}{undefined} 162 | $\csuse{#2#1}$ 163 | } 164 | 165 | \testgreek[]{Gamma} 166 | 167 | \testgreek[up]{Gamma} 168 | 169 | \testgreek[it]{Gamma} 170 | 171 | \smallskip 172 | 173 | \testgreek[other]{Gamma} 174 | 175 | \smallskip 176 | 177 | \testgreek[Up]{gamma} 178 | 179 | \testgreek[sl]{Gamma} 180 | 181 | \testgreek[var]{Gamma} 182 | 183 | \bigskip 184 | 185 | \testgreek[]{alpha} 186 | 187 | \testgreek[up]{alpha} 188 | 189 | \testgreek[it]{alpha} 190 | 191 | \smallskip 192 | 193 | \testgreek[other]{alpha} 194 | 195 | \smallskip 196 | 197 | \testgreek[sl]{alpha} 198 | 199 | \testgreek[var]{alpha} 200 | 201 | \clearpage 202 | 203 | \newcommand*\mathtest{ 204 | 205 | $abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$ 206 | 207 | $0123456789!*+,-.:;=?<>/$ 208 | 209 | $\tud@math@loop@greeks@uc\csuse$ 210 | 211 | $\tud@math@loop@greeks@lc\csuse$ 212 | 213 | $\hbar$ 214 | 215 | $ 216 | \aleph 217 | \imath 218 | \jmath 219 | \ell 220 | \wp 221 | \Re 222 | \Im 223 | \partial 224 | \infty 225 | \prime 226 | \emptyset 227 | \nabla 228 | \surd 229 | \top 230 | \bot 231 | \angle 232 | \triangle 233 | \forall 234 | \exists 235 | \neg 236 | \lnot 237 | $ 238 | 239 | $ 240 | \flat 241 | \natural 242 | \sharp 243 | \clubsuit 244 | \diamondsuit 245 | \heartsuit 246 | \spadesuit 247 | $ 248 | 249 | $ 250 | \coprod 251 | \bigvee 252 | \bigwedge 253 | \biguplus 254 | \bigcap 255 | \bigcup 256 | \intop 257 | \int 258 | \prod 259 | \sum 260 | \bigotimes 261 | \bigoplus 262 | \bigodot 263 | \ointop 264 | \oint 265 | \bigsqcup 266 | \smallint 267 | $ 268 | 269 | $ 270 | \triangleleft 271 | \triangleright 272 | \bigtriangleup 273 | \bigtriangledown 274 | \wedge 275 | \land 276 | \vee 277 | \lor 278 | \cap 279 | \cup 280 | \ddagger 281 | \dagger 282 | \sqcap 283 | \sqcup 284 | \uplus 285 | \amalg 286 | \diamond 287 | \bullet 288 | \wr 289 | $ 290 | 291 | $ 292 | \div 293 | \odot 294 | \oslash 295 | \otimes 296 | \ominus 297 | \oplus 298 | \mp 299 | \pm 300 | \circ 301 | \bigcirc 302 | \setminus 303 | \cdot 304 | \ast 305 | \times 306 | \star 307 | \propto 308 | \sqsubseteq 309 | \sqsupseteq 310 | \parallel 311 | \mid 312 | \dashv 313 | \vdash 314 | $ 315 | 316 | $ 317 | \nearrow 318 | \searrow 319 | \nwarrow 320 | \swarrow 321 | \Leftrightarrow 322 | \Leftarrow 323 | \Rightarrow 324 | \leftrightarrow 325 | \leftarrow 326 | \gets 327 | \rightarrow 328 | \to 329 | \mapsto 330 | %\mapstochar 331 | \leftharpoonup 332 | \leftharpoondown 333 | \rightharpoonup 334 | \rightharpoondown 335 | %\lhook 336 | \hookrightarrow 337 | %\rhook 338 | \hookleftarrow 339 | $ 340 | 341 | $ 342 | \neq 343 | \ne 344 | \leq 345 | \le 346 | \geq 347 | \ge 348 | \succ 349 | \prec 350 | \approx 351 | \succeq 352 | \preceq 353 | \supset 354 | \subset 355 | \supseteq 356 | \subseteq 357 | \in 358 | \ni 359 | \owns 360 | \gg 361 | \ll 362 | \not\alpha 363 | $ 364 | 365 | $ 366 | \sim 367 | \simeq 368 | \perp 369 | \equiv 370 | \asymp 371 | \smile 372 | \frown 373 | \ldotp 374 | \cdotp 375 | \colon 376 | \braceld 377 | \bracerd 378 | \bracelu 379 | \braceru 380 | \mathparagraph 381 | \mathsection 382 | \mathdollar 383 | $ 384 | } 385 | 386 | %\TUDoptions{cdmath=true} 387 | %\tud@mathversion{tudnormal} 388 | %\mathtest 389 | 390 | \bigskip 391 | 392 | %\TUDoptions{cdmath=false} 393 | \mathtest 394 | 395 | %\unboldmath 396 | 397 | %\createxfonttable{Symb}{cmr}{OT1}{m}{it} 398 | %\createxfonttable{Symb}{cmr}{OML}{m}{it} 399 | %\createxfonttable{Symb}{zeur}{U}{m}{n} 400 | %\createxfonttable{Symb}{cmr}{OMS}{m}{n} 401 | %\createxfonttable{Symb}{zeus}{U}{m}{n} 402 | 403 | %\createxfonttable{Symb}{fos}{LGR}{l}{it} 404 | %\createxfonttable{Symb}{stix2}{LS1}{m}{n} 405 | %\createxfonttable{Symb}{iwona}{OML}{m}{n} 406 | %\createxfonttable{Symb}{iwona}{OMS}{m}{n} 407 | %\createxfonttable{Symb}{LinuxLibertineT-LF}{LGR}{m}{n} 408 | %\createxfonttable{Symb}{llcmss}{LGR}{m}{n} 409 | 410 | %\createxfonttable{Symb}{fos}{OT1}{m}{n} 411 | %%\createxfonttable{Symb}{eur}{U}{m}{n} 412 | 413 | %\createxfonttable{Symb}{fos}{LGR}{m}{n} 414 | %\createxfonttable{Symb}{fcm}{LGR}{m}{n} 415 | 416 | \clearpage\blindmathpaper 417 | 418 | 419 | $\tud@math@loop@greeks@uc\csuse$ 420 | 421 | $\tud@math@loop@greeks@lc\csuse$ 422 | 423 | \boldmath 424 | 425 | $\tud@math@loop@greeks@uc\csuse$ 426 | 427 | $\tud@math@loop@greeks@lc\csuse$ 428 | 429 | \unboldmath 430 | 431 | % 432 | %$\longleftarrow$ 433 | % 434 | %$\Longleftarrow$ 435 | % 436 | %\blindmathpaper 437 | % 438 | %$\surd {\scriptscriptstyle aaa}$ 439 | % 440 | %$\sqrt[M]{{\scriptstyle aaagggg}}\sqrt[M]{{\scriptstyle aaa}}$ 441 | % 442 | %$$\sqrt{aaa}$$ 443 | % 444 | %$\sqrt[x]{arg}$ 445 | % 446 | %$$\sqrt[x]{arg}$$ 447 | % 448 | %$\sum$ 449 | % 450 | %$\mathop\sum_1$ 451 | 452 | 453 | 454 | %\compareos[]{% 455 | %OT1,% 456 | %T1,% 457 | %%%LY1,% 458 | %OML,OMS,OMX,% 459 | %}% 460 | %%%{l,m,sb,b,eb}% 461 | %{m}% 462 | %{n} 463 | %% 464 | %%\createxfonttable{Symb}{fxxa}{U}{m}{n} 465 | %%\createxfonttable{Symb}{msa}{U}{m}{n} 466 | %%% 467 | %%\createxfonttable{Symb}{fxxb}{U}{m}{n} 468 | %%\createxfonttable{Symb}{msb}{U}{m}{n} 469 | %% 470 | %\compareos[]{% 471 | %%TS1,% 472 | %%OT2,% 473 | %%T2A,T2B,T2C,X2,% 474 | %LGR,% 475 | %OML% 476 | %}% 477 | %%%{l,m,sb,b,eb}% 478 | %{m}% 479 | %{n} 480 | 481 | %\compareos[j]{OT1}{l,m,sb,b,eb}{n,i} 482 | %\compareos[j]{T1}{l,m,sb,b,eb}{n,it} 483 | %\compareos[j]{LY1}{l,m,sb,b,eb}{n,it} 484 | %\compareos[j]{TS1}{l,m,sb,b,eb}{n,it} 485 | %\compareos[j]{OT2}{l,m,sb,b,eb}{n,it} 486 | %\compareos[j]{T2A}{l,m,sb,b,eb}{n,it} 487 | %\compareos[j]{T2B}{l,m,sb,b,eb}{n,it} 488 | %\compareos[j]{T2C}{l,m,sb,b,eb}{n,it} 489 | %\compareos[j]{X2}{l,m,sb,b,eb}{n,it} 490 | %\compareos[j]{LGR}{l,m,sb,b,eb}{n,it} 491 | 492 | 493 | 494 | % 495 | %\createxfonttable{Symb}{fos}{OT1}{m}{n} 496 | %\createxfonttable{Symb}{fxx}{OT1}{m}{n} 497 | %\createxfonttable{Symb}{fox}{OML}{m}{n} 498 | %\createxfonttable{Symb}{fosj}{LGR}{m}{n} 499 | %\createxfonttable{Symb}{iwona}{OML}{l}{it} 500 | %\createxfonttable{Symb}{fox}{OML}{m}{it} 501 | %\createxfonttable{Symb}{iwona}{OML}{m}{it} 502 | %\createxfonttable{Symb}{fox}{OML}{sb}{it} 503 | %\createxfonttable{Symb}{iwona}{OML}{sb}{it} 504 | %\createxfonttable{Symb}{fox}{OML}{b}{it} 505 | %\createxfonttable{Symb}{iwona}{OML}{b}{it} 506 | %\createxfonttable{Symb}{fox}{OML}{eb}{it} 507 | %\createxfonttable{Symb}{iwona}{OML}{eb}{it} 508 | %% 509 | %%\createxfonttable{Symb}{fxx}{OMX}{m}{n} 510 | %\createxfonttable{Symb}{fox}{OMX}{m}{n} 511 | %%\createxfonttable{Symb}{iwona}{OMX}{l}{n} 512 | %\createxfonttable{Symb}{iwona}{OMX}{m}{n} 513 | %%\createxfonttable{Symb}{iwona}{OMX}{sb}{n} 514 | %%\createxfonttable{Symb}{iwona}{OMX}{b}{n} 515 | %%\createxfonttable{Symb}{iwona}{OMX}{eb}{n} 516 | %\createxfonttable{Symb}{lmex}{OMX}{m}{n} 517 | % 518 | 519 | %\createxfonttable{Greek}{fos}{LGR}{m}{n} 520 | %\createxfonttable{Greek}{fox}{LGR}{m}{n} 521 | %\createxfonttable{Greek}{lmr}{LGR}{m}{n} 522 | %\createxfonttable{Greek}{lmr}{OML}{m}{n} 523 | %\createxfonttable{Greek}{fox}{OML}{m}{n} 524 | %\createxfonttable{Greek}{DejaVuSans-TLF}{LGR}{m}{n} 525 | 526 | 527 | 528 | %\createxfonttable{Symb}{pxsyb}{U}{m}{n} 529 | %\createxfonttable{Symb}{txsyb}{U}{m}{n} 530 | %\createxfonttable{Symb}{lmsb}{U}{m}{n} 531 | 532 | 533 | 534 | \makeatletter 535 | \newcommand*\acutelist{% 536 | \acute,\bar,\breve,\check,\dot,\ddot,\grave,%\overline,% 537 | \hat,\widehat,\tilde,\widetilde,\vec,\mathring% 538 | } 539 | \newcommand*\acutekerning[1]{% 540 | \def\writetabline##1{% 541 | \edef\tabline{$##1$ & }% 542 | \def\@tempa####1{% 543 | \edef\tabline{% 544 | \tabline% 545 | $####1{##1}$ & % 546 | }% 547 | }% 548 | \expandafter\forcsvlist\expandafter\@tempa\expandafter{\acutelist}% 549 | \edef\tabline{\tabline $##1^2$}% 550 | \tabline\tabularnewline% 551 | }% 552 | \begingroup% 553 | \clearpage% 554 | \noindent% 555 | \setlength\extrarowheight{4.2mm}% 556 | \newcolumntype{P}{>{\centering\arraybackslash}p{5.2mm}}% 557 | \begin{tabular}{*{16}P}% 558 | \forcsvlist{\writetabline}{#1}% 559 | \end{tabular}% 560 | \endgroup% 561 | } 562 | \newcommand*\testkerninguc{% 563 | \acutekerning{% 564 | A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z 565 | }% 566 | } 567 | \newcommand*\testkerninglc{% 568 | \acutekerning{% 569 | a,b,c,d,e,f,g,h,i,\imath,j,\jmath,% 570 | k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z% 571 | }% 572 | } 573 | \newcommand*\testkerningucg{% 574 | \acutekerning{% 575 | \Gamma,\Delta,\Theta,\Lambda,\Xi,\Pi,% 576 | \Sigma,\Upsilon,\Phi,\Psi,\Omega,% 577 | \partial,\wp,\ell,\varepsilon,\vartheta,\varpi,\varrho,\varsigma,\varphi% 578 | }% 579 | } 580 | \newcommand*\testkerninglcg{% 581 | \acutekerning{% 582 | \alpha,\beta,\gamma,\delta,\epsilon,\zeta,\eta,% 583 | \theta,\iota,\kappa,\lambda,\mu,\nu,\xi,% 584 | \pi,\rho,\sigma,\tau,\upsilon,\phi,\chi,\psi,\omega% 585 | }% 586 | } 587 | \newcommand*\testkerningucgsl{% 588 | \acutekerning{% 589 | \varGamma,\varDelta,\varTheta,\varLambda,\varXi,\varPi,% 590 | \varSigma,\varUpsilon,\varPhi,\varPsi,\varOmega% 591 | }% 592 | } 593 | \newcommand*\testkerninglcgup{% 594 | \acutekerning{% 595 | \upalpha,\upbeta,\upgamma,\updelta,\upepsilon,\upzeta,\upeta,% 596 | \uptheta,\upiota,\upkappa,\uplambda,\upmu,\upnu,\upxi,\upomicron,% 597 | \uppi,\uprho,\upsigma,\uptau,\upupsilon,\upphi,\upchi,\upomega% 598 | }% 599 | } 600 | \newcommand*\testkerning[1]{% 601 | \csuse{testkerning#1}% 602 | \begingroup 603 | \clearpage 604 | \let\mv@normal\mv@nm% 605 | \let\mv@bold\mv@bm% 606 | \mathversion{normal}\selectfont% 607 | \csuse{testkerning#1}% 608 | \mathversion{bold}\selectfont% 609 | \csuse{testkerning#1}% 610 | \endgroup 611 | } 612 | \makeatother 613 | 614 | %\testkerning{uc} 615 | %\testkerning{lc} 616 | 617 | %\testkerning{ucg} 618 | % 619 | %\testkerning{lcg} 620 | 621 | %\end{document} 622 | 623 | 624 | $\xleftrightarrow[below]{above}$ 625 | $\xRightarrow[below]{above}$ 626 | $\xLeftarrow[below]{above}$ 627 | $\xLeftrightarrow[below]{above}$ 628 | %$\xhookleftarrow[below]{above}$ 629 | %$\xhookrightarrow[below]{above}$ 630 | %$\xmapsto[below]{above}$ 631 | $\xrightharpoondown[below]{above}$ 632 | $\xrightharpoonup[below]{above}$ 633 | $\xleftharpoondown[below]{above}$ 634 | $\xleftharpoonup[below]{above}$ 635 | $\xrightleftharpoons[below]{above}$ 636 | $\xleftrightharpoons[below]{above}$ 637 | 638 | $\hbar$ 639 | 640 | $\hookrightarrow$ 641 | 642 | $\hookleftarrow$ 643 | 644 | $\models$ 645 | 646 | $\Longrightarrow$ 647 | 648 | $\longrightarrow$ 649 | 650 | $\mapsto$ 651 | 652 | $\angle$ 653 | 654 | $\int$ 655 | 656 | $\oint$ 657 | 658 | $\neq$ 659 | 660 | $\cong$ 661 | 662 | $\notin$ 663 | 664 | $\rightleftharpoons$ 665 | 666 | $\doteq$ 667 | 668 | $\cdots$ 669 | 670 | $\vdots$ 671 | 672 | $\ddots$ 673 | 674 | %\def\leftarrowfill{$\m@th\mathord\leftarrow\mkern-7mu% 675 | %\cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill 676 | %\mkern-7mu\smash-$} 677 | 678 | $\overrightarrow{abcdefghijkl}$ 679 | 680 | $\overleftarrow{abcdefghijkl}$ 681 | 682 | $\overbrace{abcdefghijkl}$ 683 | 684 | $\underbrace{abcdefghijkl}$ 685 | 686 | $\big{(}$ 687 | 688 | $\Big{(}$ 689 | 690 | \newcommand*\mathfonttest{% 691 | \clearpage 692 | \blindtext 693 | 694 | $\bar{a}$ M\=aori\=E 695 | 696 | $\sqrt[x]{abc} \Big(aaa\Big)$ 697 | 698 | $[\big[\Big[\bigg[\Bigg[sbgss\Bigg]\bigg]\Big]\big]]$ 699 | 700 | $\big[sbgss\Big]$ 701 | 702 | $\sqrt[x]{agaa]}$ 703 | 704 | $\sqrt[x]{aaa]}$ 705 | 706 | $\sqrt[x]{\Big[aaa]}$ 707 | 708 | $\sqrt[x]{\bigg[aaa]}$ 709 | 710 | $\sqrt[x]{\Bigg[aaa]}$ 711 | 712 | $\int_{a}^{b}{\displaystyle \int_{a}^{b}}$ 713 | 714 | 715 | 716 | \[ 717 | \sqrt[x]{ 718 | %\left< 719 | \left[ 720 | \left( 721 | \left\{ 722 | \begin{tabular}{ccc} 723 | 1 & 5 & 8 \\ 724 | 0 & 2 & 4 \\ 725 | 3 & 3 & -8 \\ 726 | 3 & 3 & -8 727 | \end{tabular} 728 | \right\} 729 | \right) 730 | \right] 731 | %\right> 732 | } 733 | \] 734 | 735 | $\sqrt[x]{deg}$ 736 | } 737 | 738 | \mathfonttest 739 | 740 | %\DeclareRobustCommand\relbar{\mathrel{\smash-}} 741 | 742 | \[ \sqrt{n+\sqrt{(n-1)+\sqrt{(n-2)+\dotsb+\sqrt{2+\sqrt{1}}}}}<\sqrt{n}+1. \] 743 | 744 | $\longrightarrow$ 745 | 746 | $\Longrightarrow$ 747 | 748 | $\Bigg\uparrow$ 749 | 750 | $\sqrt{aaaaaa}$ 751 | 752 | $\sqrt[bbb]{aaaaaa}$ 753 | 754 | $\sqrt{\frac{d}{aaaae}}$ 755 | 756 | $\sqrt[bbb]{\frac{d}{aaaae}}$ 757 | 758 | 759 | %\meaning\braceld 760 | 761 | %$\overbrace{abcdefghijkl}$ 762 | % 763 | %$\overbracket{abcdefghijkl}$ 764 | 765 | %$\Bigg\updownarrow$ 766 | % 767 | %$\Bigg\uparrow$ 768 | 769 | %\fontfamily{fxx}\selectfont 770 | % 771 | %\meaning\textperthousand 772 | % 773 | %\textperthousand 774 | % 775 | %\meaning\textpertenthousand 776 | 777 | %\createxfonttable{Math}{stix2sf}{LS1}{m}{n} 778 | %\createxfonttable{Math}{stix2sf}{LS1}{m}{it} 779 | %\createxfonttable{Math}{stix2tt}{LS2}{m}{n} 780 | 781 | 782 | 783 | % 784 | %\[ 785 | %a+b=c 786 | %\left(\frac{a}{b\left(\frac{\frac{d}{e}}{b}\right)}\right)\left(z\right) 787 | %\] 788 | %\blindmathpaper 789 | 790 | %\createstixfonttable{letters} {LS1}{stix2} {m}{it} 791 | %\createstixfonttable{lettersbold} {LS1}{stix2} {b}{it} 792 | %\createstixfonttable{operators} {LS1}{stix2} {m} {n} 793 | %\createstixfonttable{operatorsbold} {LS1}{stix2} {b} {n} 794 | %\createstixfonttable{symbols} {LS1}{stix2scr} {m} {n} 795 | %\createstixfonttable{symbolsbold} {LS1}{stix2scr} {b} {n} 796 | %\createstixfonttable{symbols2} {LS1}{stix2frak} {m} {n} 797 | %\createstixfonttable{symbols2bold} {LS1}{stix2frak} {b} {n} 798 | %\createstixfonttable{symbols3} {LS1}{stix2bb} {m} {n} 799 | %\createstixfonttable{symbols3bold} {LS1}{stix2bb} {b} {n} 800 | %\createstixfonttable{symbols4} {LS1}{stix2bb} {m}{it} 801 | %\createstixfonttable{symbols4bold} {LS1}{stix2bb} {b}{it} 802 | %\createstixfonttable{integrals} {LS2}{stix2cal} {m} {n} 803 | %\createstixfonttable{integralsbold} {LS2}{stix2cal} {b} {n} 804 | %\createstixfonttable{largesymbols} {LS2}{stix2ex} {m} {n} 805 | %\createstixfonttable{largesymbolsbold}{LS2}{stix2ex} {b} {n} 806 | %\createstixfonttable{arrows1} {LS1}{stix2sf} {m} {n} 807 | %\createstixfonttable{arrows1bold} {LS1}{stix2sf} {b} {n} 808 | %\createstixfonttable{arrows2} {LS1}{stix2sf} {m}{it} 809 | %\createstixfonttable{arrows2bold} {LS1}{stix2sf} {b}{it} 810 | %\createstixfonttable{arrows3} {LS2}{stix2tt} {m} {n} 811 | %\createstixfonttable{arrows3bold} {LS2}{stix2tt} {b} {n} 812 | 813 | \meaning\Relbar 814 | 815 | \end{document} 816 | -------------------------------------------------------------------------------- /test/glossaries/document.tex: -------------------------------------------------------------------------------- 1 | 2 | \documentclass[ngerman,cdfont=false]{tudscrreprt} 3 | \usepackage[T1]{fontenc} 4 | \ifpdftex{\usepackage[ngerman=ngerman-x-latest]{hyphsubst}}{} 5 | \usepackage{babel} 6 | \usepackage[math]{blindtext} 7 | % bessere Schrifen 8 | \usepackage{lmodern} 9 | \begin{document} 10 | \faculty{Juristische Fakultät} 11 | \department{Fachrichtung Strafrecht} 12 | \institute{Institut für Kriminologie} 13 | \chair{Lehrstuhl für Kriminalprognose} 14 | \date{18.02.2015} 15 | \author{Mickey Mouse} 16 | \title{Der Geldspeicher in Entenhausen} 17 | \maketitle 18 | \blinddocument 19 | \end{document} 20 | 21 | 22 | \documentclass[english]{tudscrreprt} 23 | \usepackage[english]{babel} 24 | \usepackage[T1]{fontenc} 25 | \usepackage{tudscrsupervisor} 26 | \AfterPackage*{hyperref}{% 27 | \usepackage[% 28 | acronym,% Abkürzungen 29 | symbols,% Formelzeichen 30 | nomain,% kein Glossar 31 | nogroupskip,% 32 | toc,% 33 | section=chapter,% 34 | nostyles,% 35 | translate=babel,% 36 | % mit Tex Live einfach verwendbar 37 | xindy={language=english}, 38 | ]{glossaries} 39 | \makeglossaries 40 | } % Ende von AfterPackage 41 | 42 | \AfterPackage*{glossaries}{% 43 | \newglossarystyle{acrotabu}{% 44 | \renewenvironment{theglossary}{% 45 | \begin{tabu}{@{}lX<{\strut}l@{}}% 46 | }{% 47 | \end{tabu}\par\bigskip% 48 | }% 49 | \renewcommand*{\glossaryheader}{}% 50 | \renewcommand*{\glsgroupheading}[1]{}% 51 | \renewcommand*{\glsgroupskip}{}% 52 | \renewcommand*{\glossentry}[2]{% 53 | \glsentryitem{##1}% Entry number if required 54 | \glstarget{##1}{\sffamily\bfseries\glossentryname{##1}} & 55 | \glsentrydesc{##1} & 56 | ##2\tabularnewline 57 | } 58 | } 59 | 60 | \newcommand*{\newsymbol}[5][]{% 61 | \newglossaryentry{#2}{% 62 | type=symbols,% 63 | name={#3},% 64 | description={\nopostdesc},% 65 | symbol={\ensuremath{#4}},% 66 | user1={\ensuremath{\mathrm{#5}}},% 67 | sort={#2},% 68 | #1% 69 | }% 70 | } 71 | 72 | \defglsentryfmt[symbols]{% 73 | \ifmmode% 74 | \glssymbol{\glslabel}% 75 | \else% 76 | \glsgenentryfmt~\glsentrysymbol{\glslabel}% 77 | \fi% 78 | } 79 | 80 | \newglossarystyle{symblongtabu}{% 81 | \renewenvironment{theglossary}{% 82 | \begin{longtabu}[l]{ccX<{\strut}l}% 83 | }{% 84 | \end{longtabu}% 85 | }% 86 | \renewcommand*{\glsgroupheading}[1]{}% 87 | \renewcommand*{\glsgroupskip}{}% 88 | \renewcommand*{\glossaryheader}{% 89 | \toprule 90 | \bfseries Formelzeichen & \bfseries Einheit & 91 | \bfseries Bezeichnung 92 | \tabularnewline\midrule\endhead% 93 | \bottomrule\endfoot% 94 | }% 95 | \renewcommand*{\glossentry}[2]{% 96 | \glsentryitem{##1}% Entry number if required 97 | \glstarget{##1}{\glossentrysymbol{##1}} & 98 | \glsentryuseri{##1} & 99 | \glossentryname{##1} 100 | \tabularnewline% 101 | }% 102 | } 103 | } % Ende von AfterPackage 104 | 105 | \usepackage{array} 106 | \usepackage{tabularx} 107 | \usepackage{tabulary} 108 | \usepackage{tabu} 109 | \usepackage{longtable} 110 | \usepackage{booktabs} 111 | \usepackage[babel]{microtype} 112 | \usepackage{xfrac} 113 | \usepackage{ellipsis} 114 | \let\ellipsispunctuation\relax 115 | \usepackage[colorlinks,linkcolor=blue]{hyperref} 116 | \begin{document} 117 | % Kompilieren läuft problemlos durch 118 | \printacronyms[style=acrotabu] % Ausgabe 119 | %Abkürzungsverz. 120 | 121 | % Sobald ich den selbst definierten Stil nicht verwende, funktioniert alles. 122 | \printsymbols[style=symblongtabu] % Ausgabe Symbolverzeichnis 123 | 124 | \tableofcontents 125 | 126 | \newacronym{apsp}{APSP}{All-Pairs Shortest Path} 127 | \newacronym{spsp}{SPSP}{Single-Pair Shortest Path} 128 | \newacronym{sssp}{SSSP}{Single-Source Shortest Path} 129 | 130 | \newsymbol{m}{Masse}{m}{kg} 131 | 132 | \chapter{Einleitung} 133 | 134 | \section{Die Verwendung von Akronymen und Symbolen} 135 | 136 | 137 | \section{Textteil} 138 | In der Graphentheorie wird häufig die Lösung des Problems des kürzesten 139 | Pfades zwischen zwei Knoten gesucht. Dieses Problem wird häufig auch 140 | mit \gls{spsp} bezeichnet. Es lässt sich auf die Variationen \gls{sssp} 141 | und \gls{apsp} erweitern. Für die Lösung von \gls{spsp}, \gls{sssp} 142 | oder \gls{apsp} kommen unterschiedliche Algorithmen zum Einsatz. 143 | 144 | Die \gls{m} ist eine SI-Einheit. 145 | 146 | \end{document} 147 | -------------------------------------------------------------------------------- /test/glossaries/example.tex: -------------------------------------------------------------------------------- 1 | \documentclass[english,ngerman]{tudscrreprt} 2 | \usepackage[T1]{fontenc} 3 | \ifpdftex{\usepackage[ngerman=ngerman-x-latest]{hyphsubst}}{} 4 | \usepackage{babel} 5 | 6 | \usepackage{xfrac} 7 | 8 | \usepackage{tudscr-glossaries} 9 | \usepackage[colorlinks,linkcolor=blue]{hyperref} 10 | \usepackage[% 11 | acronym,% Abkürzungen 12 | symbols,% Formelzeichen 13 | nomain,% kein Glossar 14 | nogroupskip,% 15 | toc,% 16 | section=chapter,% 17 | nostyles,% 18 | translate=babel,% 19 | % mit Tex Live einfach verwendbar 20 | xindy={language=german-din}, 21 | ]{glossaries} 22 | \makeglossaries 23 | 24 | \defcaptionname{ngerman}{\acronymname}{Abkürzungen} 25 | 26 | \begin{document} 27 | 28 | 29 | \printacronyms[style=acrotabu] 30 | \printsymbols[style=symbsplitlongtabu] 31 | 32 | \clearpage 33 | 34 | \section*{Die Verwendung von Akronymen und Symbolen} 35 | \newacronym{apsp}{APSP}{All-Pairs Shortest Path} 36 | \newacronym{spsp}{SPSP}{Single-Pair Shortest Path} 37 | \newacronym{sssp}{SSSP}{Single-Source Shortest Path} 38 | 39 | In der Graphentheorie wird häufig die Lösung des Problems des kürzesten 40 | Pfades zwischen zwei Knoten gesucht. Dieses Problem wird häufig auch 41 | mit \gls{spsp} bezeichnet. Es lässt sich auf die Variationen \gls{sssp} 42 | und \gls{apsp} erweitern. Für die Lösung von \gls{spsp}, \gls{sssp} 43 | oder \gls{apsp} kommen unterschiedliche Algorithmen zum Einsatz. 44 | 45 | \newformulasymbol{l}{Länge}{l}{m} 46 | \newformulasymbol{m}{Masse}{m}{kg} 47 | \newformulasymbol{a}{Beschleunigung}{a}{\sfrac{m}{s^2}} 48 | \newformulasymbol{t}{Zeit}{t}{s} 49 | \newformulasymbol{f}{Frequenz}{f}{s^{-1}} 50 | \newformulasymbol{F}{Kraft}{F}{m \cdot kg \cdot s^{-2} = \sfrac{J}{m}} 51 | 52 | \newformulasymbol{omega}{Winkelgeschwindigkeit}{\omega}{\sfrac{1}{s}} 53 | 54 | Die Einheiten für die \gls{f} sowie die \gls{F} werden aus den 55 | SI"=Einheiten der Basisgrößen \gls{l}, \gls{m} und \gls{t} abgeleitet. 56 | Und dann gibt es noch die Grundgleichung der Mechanik, welche für den 57 | Fall einer konstanten Kraftwirkung in die Bewegungsrichtung einer 58 | Punktmasse lautet: 59 | \[\gls{F} = \gls{m} \cdot \gls{a}\] 60 | 61 | Und noch ein Test für griechische Buchstaben: \gls{omega} 62 | \end{document} 63 | -------------------------------------------------------------------------------- /test/glossaries/gloss-test.tex: -------------------------------------------------------------------------------- 1 | \documentclass[english,ngerman]{tudscrreprt} 2 | \usepackage[T1]{fontenc} 3 | \ifpdftex{\usepackage[ngerman=ngerman-x-latest]{hyphsubst}}{} 4 | \usepackage{babel} 5 | \usepackage{scrhack} 6 | \usepackage{tudscrsupervisor} 7 | 8 | \AfterPackage*{hyperref}{% 9 | \usepackage[% 10 | acronym,% Abkürzungen 11 | symbols,% Formelzeichen 12 | nomain,% kein Glossar 13 | nogroupskip,% 14 | toc,% 15 | section=chapter,% 16 | nostyles,% 17 | translate=babel,% 18 | % mit Tex Live einfach verwendbar 19 | xindy={language=german-din}, 20 | ]{glossaries} 21 | \makeglossaries 22 | }% Ende von AfterPackage 23 | 24 | \AfterPackage*{glossaries}{% 25 | \newglossarystyle{acrotabu}{% 26 | \renewenvironment{theglossary}{% 27 | \begin{tabu}spread 0pt{@{}lX<{\strut}l@{}}% 28 | }{% 29 | \end{tabu}\par\bigskip% 30 | }% 31 | \renewcommand*{\glossaryheader}{}% 32 | \renewcommand*{\glsgroupheading}[1]{}% 33 | \renewcommand*{\glsgroupskip}{}% 34 | \renewcommand*{\glossentry}[2]{% 35 | \glsentryitem{##1}% Entry number if required 36 | \glstarget{##1}{\sffamily\bfseries\glossentryname{##1}} & 37 | \glsentrydesc{##1} & 38 | ##2\tabularnewline 39 | } 40 | } 41 | 42 | \newcommand*{\newformulasymbol}[5][]{% 43 | \newglossaryentry{#2}{% 44 | type=symbols,% 45 | name={#3},% 46 | description={\nopostdesc},% 47 | symbol={\ensuremath{#4}},% 48 | user1={\ensuremath{\mathrm{#5}}},% 49 | sort={#2},% 50 | #1% 51 | }% 52 | } 53 | 54 | \defglsentryfmt[symbols]{% 55 | \ifmmode% 56 | \glssymbol{\glslabel}% 57 | \else% 58 | \glsgenentryfmt~\glsentrysymbol{\glslabel}% 59 | \fi% 60 | } 61 | \newglossarystyle{symblongtabu}{% 62 | \renewenvironment{theglossary}{% 63 | \begin{longtabu}spread 0pt[l]{ccX<{\strut}l}% 64 | }{% 65 | \end{longtabu}% 66 | }% 67 | \renewcommand*{\glsgroupheading}[1]{}% 68 | \renewcommand*{\glsgroupskip}{}% 69 | \renewcommand*{\glossaryheader}{% 70 | \toprule 71 | \bfseries Formelzeichen & \bfseries Einheit & 72 | \bfseries Bezeichnung & \bfseries Seite(n) 73 | \tabularnewline\midrule\endhead% 74 | \bottomrule\endfoot% 75 | }% 76 | \renewcommand*{\glossentry}[2]{% 77 | \glsentryitem{##1}% Entry number if required 78 | \glstarget{##1}{\glossentrysymbol{##1}} & 79 | \glsentryuseri{##1} & 80 | \glossentryname{##1} & 81 | ##2\tabularnewline% 82 | }% 83 | } 84 | 85 | \providecommand*\greeklettersname{Greek letters} 86 | \providecommand*\romanlettersname{Roman letters} 87 | \newglossaryentry{greekletters}{% 88 | type=symbols,% 89 | name={\greeklettersname},% 90 | description={\nopostdesc},% 91 | sort={a}% 92 | } 93 | \newglossaryentry{romanletters}{% 94 | type=symbols,% 95 | name={\romanlettersname},% 96 | description={\nopostdesc},% 97 | sort={b}% 98 | } 99 | \providecaptionname{% 100 | american,australian,british,canadian,english,newzealand% 101 | }{\greeklettersname}{Greek letters} 102 | \providecaptionname{% 103 | german,ngerman,austrian,naustrian,swissgerman,nswissgerman% 104 | }{\greeklettersname}{Griechische Symbole} 105 | \providecaptionname{% 106 | american,australian,british,canadian,english,newzealand% 107 | }{\romanlettersname}{Roman letters} 108 | \providecaptionname{% 109 | german,ngerman,austrian,naustrian,swissgerman,nswissgerman% 110 | }{\romanlettersname}{Lateinische Symbole} 111 | 112 | \newglossarystyle{symbsplitlongtabu}{% 113 | \newcommand*\symbollevel{-1}% 114 | \renewenvironment{theglossary}{% 115 | \begin{longtabu}spread 0pt[l]{ccX<{\strut}l}% 116 | }{% 117 | \end{longtabu}% 118 | }% 119 | \renewcommand*{\glsgroupheading}[1]{}% 120 | \renewcommand*{\glsgroupskip}{}% 121 | \newcommand*\symbolhead{% 122 | \toprule 123 | \bfseries Formelzeichen & \bfseries Einheit & 124 | \bfseries Bezeichnung & \bfseries Seite(n) 125 | \tabularnewline\midrule 126 | }% 127 | \renewcommand*{\glossaryheader}{% 128 | \endfirsthead% 129 | \symbolhead\endhead% 130 | \bottomrule\endfoot% 131 | \gdef\symbollevel{-1}% 132 | }% 133 | \renewcommand*{\glossentry}[2]{% 134 | \ifglshaschildren{##1}{% 135 | \ifnum\symbollevel>0\relax% 136 | \tabularnewline\bottomrule\tabularnewline[\smallskipamount]% 137 | \fi 138 | \gdef\symbollevel{0}% 139 | \tabularnewline[% 140 | \arraystretch\dimexpr-\ht\strutbox-\dp\strutbox\relax% 141 | ]% 142 | \multicolumn{4}{@{}l@{}}{\minisec{\glsentryname{##1}}}% 143 | }{% 144 | \GlossariesWarning{% 145 | There are no childrens for entry ##1.\MessageBreak 146 | Nothing will be printed. Maybe you should\MessageBreak 147 | specify ##1 as a child entry. 148 | }% 149 | }% 150 | }% 151 | \renewcommand*{\subglossentry}[3]{% 152 | \ifnum\symbollevel=0\relax% 153 | \tabularnewline[\medskipamount]\symbolhead% 154 | \else% 155 | \tabularnewline 156 | \fi% 157 | \gdef\symbollevel{##1}% 158 | \glsentryitem{##2}% Entry number if required 159 | \glstarget{##2}{\glossentrysymbol{##2}} & 160 | \glsentryuseri{##2} & 161 | \glossentryname{##2} & 162 | ##3% 163 | }% 164 | } 165 | 166 | \providecommand*\Ggroupname{\greeklettersname} 167 | \providecommand*\Rgroupname{\romanlettersname} 168 | % new glossary style for symbols based on longtabu 169 | \newglossarystyle{symbslongtabu}{% 170 | \renewenvironment{theglossary}{% 171 | \begin{longtabu}spread 0pt[l]{ccX<{\strut}l}% 172 | }{% 173 | \end{longtabu}% 174 | }% 175 | \renewcommand*{\glsgroupskip}{ 176 | \tabularnewline\bottomrule 177 | }% 178 | \renewcommand*{\glsgroupheading}[1]{% 179 | %##1: grouplabel 180 | \tabularnewline\tabularnewline\tabularnewline% 181 | \multicolumn{4}{@{}l@{}}{\minisec{\glsgetgrouptitle{##1}}}\tabularnewline% 182 | \tabularnewline% 183 | \toprule% 184 | \bfseries Symbol&% 185 | \bfseries Einheit&% 186 | \bfseries Beschreibung&% 187 | \bfseries Seite(n)\tabularnewline% 188 | \midrule 189 | }% 190 | \renewcommand*{\glossarypreamble}{% 191 | \tabulinesep=1pt% 192 | \vspace*{-3\baselineskip}% 193 | }% 194 | \renewcommand*{\glossaryheader}{% 195 | \endfirsthead% 196 | \toprule% 197 | \bfseries Symbol&% 198 | \bfseries Einheit&% 199 | \bfseries Beschreibung&% 200 | \bfseries Seite(n)\tabularnewline% 201 | \midrule\endhead% 202 | \bottomrule\endfoot% 203 | }% 204 | \renewcommand*{\glossentry}[2]{% 205 | %##1: glslabel, ##2: pages 206 | \glsentryitem{##1}\glstarget{##1}{\glossentrysymbol{##1}}&% 207 | \glsentryuseri{##1}&% 208 | \glossentryname{##1}&% 209 | ##2\tabularnewline% 210 | }% 211 | \renewcommand*{\glossarypostamble}{}% 212 | } 213 | 214 | 215 | }% Ende von AfterPackage 216 | \usepackage{xfrac,longtable,tabu,booktabs} 217 | \usepackage[colorlinks,linkcolor=blue]{hyperref} 218 | 219 | \makeatletter 220 | \newcommand*\greeksymbollist{} 221 | \def\@tempa#1{\ifdefvoid{#1}{}{\listadd\greeksymbollist{#1}}} 222 | \forcsvlist{\@tempa}{% 223 | \alpha,\beta,\varbeta,\gamma,\delta,\epsilon,\varepsilon,\zeta,% 224 | \eta,\theta,\vartheta,\iota,\kappa,\varkappa,\lambda,\mu,\nu,% 225 | \xi,\omicron,\pi,\varpi,\rho,\varrho,\sigma,\varsigma,\tau,% 226 | \upsilon,\phi,\varphi,\chi,\psi,\omega,% 227 | \Alpha,\Beta,\Gamma,\Delta,\Epsilon,\Zeta,\Eta,\Theta,\Iota,% 228 | \Kappa,\Lambda,\Mu,\Nu,\Xi,\Omicron,\Pi,\Rho,\Sigma,\Tau,\Upsilon,% 229 | \Phi,\Chi,\Psi,\Omega% 230 | } 231 | \newcommand*\ifisgreeksymbol[1]{% 232 | \begingroup% 233 | \def\@tempa##1{\let##1\@firstofone}% 234 | \forcsvlist{\@tempa}{% 235 | \acute,\bar,\breve,\check,\dot,\ddot,\dddot,\ddddot,% 236 | \hat,\widehat,\grave,\tilde,\widetilde,\vec,% 237 | \Acute,\Bar,\Breve,\Check,\Dot,\Ddot,\Hat,\Grave,\Tilde,\Vec% 238 | }% 239 | \def\boldsymbol{}% 240 | \protected@edef\@tempa{#1}% 241 | \def\@tempb##1_##2\relax{\def\@tempa{##1}}% 242 | \expandafter\@tempb\@tempa_\relax\relax% 243 | \def\@tempb##1^##2\relax{\def\@tempa{##1}}% 244 | \expandafter\@tempb\@tempa^\relax\relax% 245 | \expandafter\ifinlist\expandafter{\@tempa}{\greeksymbollist}{% 246 | \aftergroup\@firstoftwo% 247 | }{% 248 | \aftergroup\@secondoftwo% 249 | }% 250 | \endgroup% 251 | } 252 | \makeatother 253 | 254 | %\newcommand*\symbollettergroup{} 255 | %\renewcommand*{\newformulasymbol}[5][]{% 256 | % \ifisgreeksymbol{#4}{% 257 | % \renewcommand*{\symbollettergroup}{greekletters}% 258 | % }{% 259 | % \renewcommand*{\symbollettergroup}{romanletters}% 260 | % }% 261 | % \symbollettergroup 262 | % \newglossaryentry{#2}{% 263 | % type=symbols,% 264 | % name={#3},% 265 | % description={\nopostdesc},% 266 | % symbol={\ensuremath{#4}},% 267 | % user1={\ensuremath{\mathrm{#5}}},% 268 | % sort={#2},% 269 | % parent={\symbollettergroup},% 270 | % #1% 271 | % }% 272 | %} 273 | 274 | \begin{document} 275 | 276 | %\printsymbols[style=symbsplitlongtabu] 277 | \printsymbols[style=symbslongtabu] 278 | 279 | 280 | \newformulasymbol{alpha}{Test}{\alpha}{nothing} 281 | \newformulasymbol[parent=romanletters]{l}{Länge}{l}{m} 282 | \newformulasymbol{m}{Masse}{m}{kg} 283 | \newformulasymbol{a}{Beschleunigung}{a}{\sfrac{m}{s^2}} 284 | \newformulasymbol{t}{Zeit}{t}{s} 285 | \newformulasymbol{f}{Frequenz}{f}{s^{-1}} 286 | \newformulasymbol{F}{Kraft}{F}{m \cdot kg \cdot s^{-2} = \sfrac{J}{m}} 287 | 288 | Die Einheiten für die \gls{f} sowie die \gls{F} werden aus den 289 | SI"=Einheiten der Basisgrößen \gls{l}, \gls{m} und \gls{t} abgeleitet. 290 | Und dann gibt es noch die Grundgleichung der Mechanik, welche für den 291 | Fall einer konstanten Kraftwirkung in die Bewegungsrichtung einer 292 | Punktmasse lautet: 293 | \[\gls{F} = \gls{m} \cdot \gls{a} \cdot \gls{alpha}\] 294 | 295 | 296 | \end{document} 297 | 298 | 299 | 300 | %\providecommand*\Ggroupname{Griechische Symbole} 301 | %\providecommand*\Rgroupname{Lateinische Symbole} 302 | % 303 | \newglossarystyle{symbslongtabu}{% 304 | \renewenvironment{theglossary}{% 305 | \begin{longtabu}spread 0pt[l]{ccX<{\strut}l}% 306 | }{% 307 | \end{longtabu}% 308 | }% 309 | \renewcommand*{\glsgroupskip}{ 310 | \bottomrule 311 | }% 312 | \renewcommand*{\glsgroupheading}[1]{% 313 | %##1: grouplabel 314 | \tabularnewline\tabularnewline\tabularnewline% 315 | 316 | \multicolumn{4}{@{}l@{}}{\minisec{\Large\glsgetgrouptitle{##1}}}\tabularnewline% 317 | \tabularnewline% 318 | \toprule% 319 | \bfseries Formelzeichen&% 320 | \bfseries Einheit&% 321 | \bfseries Bezeichnung&% 322 | \bfseries Seite(n)\tabularnewline% 323 | \midrule 324 | }% 325 | \renewcommand*{\glossarypreamble}{% 326 | \tabulinesep=1pt% 327 | \vspace*{-3\baselineskip}% 328 | }% 329 | \renewcommand*{\glossaryheader}{% 330 | \endfirsthead% 331 | \toprule% 332 | \bfseries Formelzeichen&% 333 | \bfseries Einheit&% 334 | \bfseries Bezeichnung&% 335 | \bfseries Seite(n)\tabularnewline% 336 | \midrule\endhead% 337 | \bottomrule\endfoot% 338 | }% 339 | \renewcommand*{\glossentry}[2]{% 340 | %##1: glslabel, ##2: pages 341 | \glsentryitem{##1}\glstarget{##1}{\glossentrysymbol{##1}}&% 342 | \glsentryuseri{##1}&% 343 | \glossentryname{##1}&% 344 | ##2\tabularnewline% 345 | }% 346 | \renewcommand*{\glossarypostamble}{}% 347 | } 348 | 349 | -------------------------------------------------------------------------------- /test/glossaries/tudscr-glossaries.sty: -------------------------------------------------------------------------------- 1 | \RequirePackage{booktabs,tabu,longtable} 2 | \PassOptionsToPackage{acronym,symbols}{glossaries} 3 | 4 | \AfterPackage*{glossaries}{% 5 | \newglossarystyle{acrotabu}{% 6 | \renewenvironment{theglossary}{% 7 | % \begin{tabu}spread 0pt{@{}lX<{\strut}l@{}}% mit Seitenangabe 8 | \begin{tabu}{@{}lX<{\strut}@{}}% ohne Seitenangabe 9 | }{% 10 | \end{tabu}\par\bigskip% 11 | }% 12 | \renewcommand*{\glossaryheader}{}% 13 | \renewcommand*{\glsgroupheading}[1]{}% 14 | \renewcommand*{\glsgroupskip}{}% 15 | \renewcommand*{\glossentry}[2]{% 16 | \glsentryitem{##1}% Entry number if required 17 | \glstarget{##1}{\sffamily\bfseries\glossentryname{##1}} & 18 | \glsentrydesc{##1}% 19 | % & ##2% mit Seitenangabe 20 | \tabularnewline% 21 | } 22 | } 23 | \newcommand*\symbollettergroup{} 24 | \newcommand*{\newformulasymbol}[5][]{% 25 | \ifisgreeksymbol{#4}{% 26 | \renewcommand*{\symbollettergroup}{greekletters}% 27 | }{% 28 | \renewcommand*{\symbollettergroup}{romanletters}% 29 | }% 30 | \newglossaryentry{#2}{% 31 | type=symbols,% 32 | name={#3},% 33 | description={\nopostdesc},% 34 | symbol={\ensuremath{#4}},% 35 | user1={\ensuremath{\mathrm{#5}}},% 36 | sort={#2},% 37 | parent={\symbollettergroup},% 38 | #1% 39 | }% 40 | } 41 | \defglsentryfmt[symbols]{% 42 | \ifmmode% 43 | \glssymbol{\glslabel}% 44 | \else% 45 | \glsgenentryfmt~\glsentrysymbol{\glslabel}% 46 | \fi% 47 | } 48 | \providecommand*\greeklettersname{Greek letters} 49 | \providecommand*\romanlettersname{Roman letters} 50 | \providecaptionname{% 51 | american,australian,british,canadian,english,newzealand% 52 | }{\greeklettersname}{Greek letters} 53 | \providecaptionname{% 54 | german,ngerman,austrian,naustrian,swissgerman,nswissgerman% 55 | }{\greeklettersname}{Griechische Symbole} 56 | \providecaptionname{% 57 | american,australian,british,canadian,english,newzealand% 58 | }{\romanlettersname}{Roman letters} 59 | \providecaptionname{% 60 | german,ngerman,austrian,naustrian,swissgerman,nswissgerman% 61 | }{\romanlettersname}{Lateinische Symbole} 62 | \newglossaryentry{greekletters}{% 63 | type=symbols,% 64 | name={\greeklettersname},% 65 | description={\nopostdesc},% 66 | sort={a}% 67 | } 68 | \newglossaryentry{romanletters}{% 69 | type=symbols,% 70 | name={\romanlettersname},% 71 | description={\nopostdesc},% 72 | sort={b}% 73 | } 74 | 75 | \newglossarystyle{symbsplitlongtabu}{% 76 | \newcommand*\symbollevel{-1}% 77 | \renewenvironment{theglossary}{% 78 | % \begin{longtabu}spread 0pt[l]{ccX<{\strut}l}% mit Seitenangabe 79 | \begin{longtabu}[l]{ccX<{\strut}}% ohne Seitenangabe 80 | }{% 81 | \end{longtabu}% 82 | }% 83 | \renewcommand*{\glsgroupheading}[1]{}% 84 | \renewcommand*{\glsgroupskip}{}% 85 | \newcommand*\symbolhead{% 86 | \toprule 87 | \bfseries Formelzeichen & \bfseries Einheit & 88 | \bfseries Bezeichnung %& \bfseries Seite(n) 89 | \tabularnewline\midrule 90 | }% 91 | \renewcommand*{\glossaryheader}{% 92 | \endfirsthead% 93 | \symbolhead\endhead% 94 | \bottomrule\endfoot% 95 | \gdef\symbollevel{-1}% 96 | }% 97 | \renewcommand*{\glossentry}[2]{% 98 | \ifglshaschildren{##1}{% 99 | \ifnum\symbollevel>0\relax% 100 | \tabularnewline\bottomrule\tabularnewline[\smallskipamount]% 101 | \fi 102 | \gdef\symbollevel{0}% 103 | \tabularnewline[% 104 | \arraystretch\dimexpr-\ht\strutbox-\dp\strutbox\relax% 105 | ]% 106 | % \multicolumn{4}{@{}l@{}}{\minisec{\glsentryname{##1}}}%mit Seitenangabe 107 | \multicolumn{3}{@{}l@{}}{\minisec{\glsentryname{##1}}}%ohne Seitenangabe 108 | }{% 109 | \GlossariesWarning{% 110 | There are no childrens for entry ##1.\MessageBreak 111 | Nothing will be printed. Maybe you should\MessageBreak 112 | specify ##1 as a child entry. 113 | }% 114 | }% 115 | }% 116 | \renewcommand*{\subglossentry}[3]{% 117 | \ifnum\symbollevel=0\relax% 118 | \tabularnewline[\medskipamount]\symbolhead% 119 | \else% 120 | \tabularnewline 121 | \fi% 122 | \gdef\symbollevel{##1}% 123 | \glsentryitem{##2}% Entry number if required 124 | \glstarget{##2}{\glossentrysymbol{##2}} & 125 | \glsentryuseri{##2} & 126 | \glossentryname{##2}% 127 | %& ##3% mit Seitenangabe 128 | }% 129 | } 130 | }% Ende von AfterPackage 131 | \makeatletter 132 | \newcommand*\greeksymbollist{} 133 | \def\@tempa#1{\ifdefvoid{#1}{}{\listadd\greeksymbollist{#1}}} 134 | \forcsvlist{\@tempa}{% 135 | \alpha,\beta,\varbeta,\gamma,\delta,\epsilon,\varepsilon,\zeta,% 136 | \eta,\theta,\vartheta,\iota,\kappa,\varkappa,\lambda,\mu,\nu,% 137 | \xi,\omicron,\pi,\varpi,\rho,\varrho,\sigma,\varsigma,\tau,% 138 | \upsilon,\phi,\varphi,\chi,\psi,\omega,% 139 | \Alpha,\Beta,\Gamma,\Delta,\Epsilon,\Zeta,\Eta,\Theta,\Iota,% 140 | \Kappa,\Lambda,\Mu,\Nu,\Xi,\Omicron,\Pi,\Rho,\Sigma,\Tau,\Upsilon,% 141 | \Phi,\Chi,\Psi,\Omega% 142 | } 143 | \newcommand*\ifisgreeksymbol[1]{% 144 | \begingroup% 145 | \def\@tempa##1{\let##1\@firstofone}% 146 | \forcsvlist{\@tempa}{% 147 | \acute,\bar,\breve,\check,\dot,\ddot,\dddot,\ddddot,% 148 | \hat,\widehat,\grave,\tilde,\widetilde,\vec,% 149 | \Acute,\Bar,\Breve,\Check,\Dot,\Ddot,\Hat,\Grave,\Tilde,\Vec% 150 | }% 151 | \def\boldsymbol{}% 152 | \protected@edef\@tempa{#1}% 153 | \def\@tempb##1_##2\relax{\def\@tempa{##1}}% 154 | \expandafter\@tempb\@tempa_\relax\relax% 155 | \def\@tempb##1^##2\relax{\def\@tempa{##1}}% 156 | \expandafter\@tempb\@tempa^\relax\relax% 157 | \expandafter\ifinlist\expandafter{\@tempa}{\greeksymbollist}{% 158 | \aftergroup\@firstoftwo% 159 | }{% 160 | \aftergroup\@secondoftwo% 161 | }% 162 | \endgroup% 163 | } 164 | \makeatother -------------------------------------------------------------------------------- /test/test.tex: -------------------------------------------------------------------------------- 1 | \documentclass[ 2 | ngerman, 3 | %cdoldfont, 4 | %lgrgreeks, 5 | %cdfont=false, 6 | %cdfont=heavy, 7 | %cdfont=ultrabold 8 | %cdmath=false, 9 | ]{tudscrreprt} 10 | \usepackage{iftex} 11 | \iftutex 12 | \usepackage{fontspec} 13 | \else 14 | \usepackage[T1]{fontenc} 15 | \usepackage[ngerman=ngerman-x-latest]{hyphsubst} 16 | \fi 17 | \usepackage{babel} 18 | \usepackage[math]{blindtext} 19 | 20 | \begin{document} 21 | \blinddocument 22 | \end{document} 23 | -------------------------------------------------------------------------------- /update_classes.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | cd /d %~dp0 3 | net session >nul 2>&1 4 | if not %errorlevel%==0 goto :abort 5 | if exist temp rmdir /s /q temp> nul 6 | mkdir temp\tex\latex\tudscr\logo 7 | xcopy source temp\ 8 | xcopy source\logo temp\tex\latex\tudscr\logo 9 | cd temp 10 | echo \BaseDirectory{.}> docstrip.cfg 11 | echo \UseTDS>> docstrip.cfg 12 | tex tudscr.ins 13 | kpsewhich --var-value=TEXMFLOCAL> texmfpath.tmp 14 | set /p texmfpath=< texmfpath.tmp 15 | xcopy tex "%texmfpath%\tex\" /s /y 16 | cd %~dp0 17 | if exist temp rmdir /s /q temp> nul 18 | texhash 19 | exit /b 0 20 | :abort 21 | echo. 22 | echo ===================================================================== 23 | echo. 24 | echo Installation muss als Admin erfolgen 25 | echo. 26 | echo ===================================================================== 27 | echo. 28 | pause 29 | exit /b 0 30 | -------------------------------------------------------------------------------- /update_classes.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | topdir=`dirname $0` 3 | cd "$topdir" 4 | if [ -d temp ] 5 | then 6 | rm -rf temp 7 | fi 8 | cp -r source temp 9 | mkdir -p temp/tex/latex/tudscr 10 | cp -r source/logo temp/tex/latex/tudscr 11 | cd temp 12 | cat > docstrip.cfg <