diff options
author | Karl Berry <karl@freefriends.org> | 2015-06-16 21:20:42 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-06-16 21:20:42 +0000 |
commit | b696b3cd80138c324d7c5c914c406334cf2fc49f (patch) | |
tree | b9abf79cd417eb9b8f410500463e20fddbbf9ae0 /Master/texmf-dist | |
parent | 442f1512f0e014d65451740c97c82c1373fc67d4 (diff) |
semproc (16jun15)
git-svn-id: svn://tug.org/texlive/trunk@37568 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/semproc/README.txt | 14 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/semproc/example.bib | 61 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/semproc/example.tex | 95 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/semproc/semproc.hd | 0 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/semproc/semproc.pdf | bin | 0 -> 363791 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/semproc/semproc.dtx | 740 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/semproc/semproc.ins | 77 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/semproc/semproc.cls | 274 |
8 files changed, 1261 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/semproc/README.txt b/Master/texmf-dist/doc/latex/semproc/README.txt new file mode 100644 index 00000000000..ed7b4722f9a --- /dev/null +++ b/Master/texmf-dist/doc/latex/semproc/README.txt @@ -0,0 +1,14 @@ +---------------------------------------------------------------- +semproc --- LaTeX class for seminar proceedings +E-mail: tobias.columbus@kit.edu +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt +---------------------------------------------------------------- + +This class provides some means for typesetting seminar proceedings based on +KOMA-Script's scrreprt class and etoc: It offers an alternative to \chapter that +typesets the speaker and if necessary the typist of the notes for the talk in +question. Moreover, the class provides two types of table of contents. A global +table of contents showing only the talks of the seminar and the respective +speakers and a local table of contents for each talk showing the sections and +subsections of the respective talk. diff --git a/Master/texmf-dist/doc/latex/semproc/example.bib b/Master/texmf-dist/doc/latex/semproc/example.bib new file mode 100644 index 00000000000..5f849c671f1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/semproc/example.bib @@ -0,0 +1,61 @@ +%% +%% This is file `example.bib', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% semproc.dtx (with options: `examplebib') +%% ---------------------------------------------------------------- +%% semproc --- LaTeX class for seminar proceedings +%% E-mail: tobias.columbus@kit.edu +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% +@article{onfrege, + AUTHOR = {Green, J. J. and Rossberg, Marcus and Ebert, Philip A.}, + TITLE = {The convenience of the typesetter; notation and typography in + {F}rege's {\itshape {G}rundgesetze der {A}rithmetik}}, + JOURNAL = {Bull. Symb. Log.}, + VOLUME = {21}, + YEAR = {2015}, + NUMBER = {1}, + PAGES = {15--30}, + ISSN = {1079-8986}, + DOI = {10.1017/bsl.2015.5}, +} +@book {frege, + AUTHOR = {Frege, G.}, + TITLE = {Grundgesetze der {A}rithmetik. {B}and {I}, {II}}, + PUBLISHER = {Georg Olms Verlagsbuchhandlung, Hildesheim}, + YEAR = {1962}, + PAGES = {Vol. I, xxxii+254 pp.; Vol. II, xvi+266}, +} +@misc {video, + AUTHOR = {Donald Knuth}, + TITLE = {Notation}, + URL = {https://goo.gl/f122V5} +} +%% +%% Copyright (C) 2015 by Tobias Columbus <tobias.columbus@kit.edu> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License (LPPL), either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in the file: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This work is "maintained" (as per LPPL maintenance status) by +%% Tobias Columbus. +%% +%% This work consists of the files semproc.dtx +%% and the derived files semproc.ins, +%% semproc.pdf, +%% semproc.cls, +%% example.tex, +%% example.bib, +%% example.pdf +%% +%% +%% End of file `example.bib'. diff --git a/Master/texmf-dist/doc/latex/semproc/example.tex b/Master/texmf-dist/doc/latex/semproc/example.tex new file mode 100644 index 00000000000..925c89ace66 --- /dev/null +++ b/Master/texmf-dist/doc/latex/semproc/example.tex @@ -0,0 +1,95 @@ +%% +%% This is file `example.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% semproc.dtx (with options: `exampletex') +%% ---------------------------------------------------------------- +%% semproc --- LaTeX class for seminar proceedings +%% E-mail: tobias.columbus@kit.edu +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% +\documentclass[a4paper,openright,parskip=half-]{semproc} +\addglobalbib{example.bib} +\usepackage[ngerman,english]{babel} +\begin{document} +\author{Max Mustermann} +\title{Example} +\maketitle +\globaltoc +\chapter{Introduction} +This document serves as an example for the \verb|semproc| class. + +The reader should note that this introduction, which is typeset as a +\verb|\chapter| shows up in the table of contents. However, the numbering scheme +of talks and chapters is confusing at best. \verb|semproc| therefore offers a +macro \verb|\nonumchapter| for unnumbered chapters that show up in the table of +contents and may be used e.\,g.\ for introductions as in the following second +introduction. + +\nonumchapter{Second Introduction} +This is a second introduction with no number but still showing up in the table +of contents. + +\talk[speaker={Donald Knuth}]{Notation} +\begin{summary} + This could be a manuscript for a talk entitled ``Notation'' given by + Donald Knuth at Stanford university. A video recording is available at + \cite{video}. +\end{summary} +\localtoc +\section{Introduction} +An introduction could go here. +\section{Examples of Notation} +\subsection{Notation for integrals} +One could compare Leibniz' and Newton's notation for integrals as Knuth does in +his talk. +\subsection{Frege's Grundgesetze} +Even if Knuth does not talk about the notation in \citeauthor{frege}'s +\cite{frege}, there is even a paper~\cite{onfrege} on it. +\section{Outlook} +A final section with final words. +\localbib + +\talk[speaker={Somebody},notes={Somebody else}]{On Something} +\begin{summary} + Some Summary +\end{summary} +\localtoc +\section{Section A} +\section{Section B} + +\selectlanguage{ngerman} +\talk[speaker={Hans}]{\"Uber etwas Wichtiges} +\begin{summary} + Hier sieht man, dass \verb|semproc| an andere Sprachen, wie zum Beispiel + \verb|ngerman| angepasst werden kann. Momentan werden aber nur \verb|english| + und \verb|ngerman| unterstützt. +\end{summary} +\end{document} +%% +%% Copyright (C) 2015 by Tobias Columbus <tobias.columbus@kit.edu> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License (LPPL), either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in the file: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This work is "maintained" (as per LPPL maintenance status) by +%% Tobias Columbus. +%% +%% This work consists of the files semproc.dtx +%% and the derived files semproc.ins, +%% semproc.pdf, +%% semproc.cls, +%% example.tex, +%% example.bib, +%% example.pdf +%% +%% +%% End of file `example.tex'. diff --git a/Master/texmf-dist/doc/latex/semproc/semproc.hd b/Master/texmf-dist/doc/latex/semproc/semproc.hd new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/texmf-dist/doc/latex/semproc/semproc.hd diff --git a/Master/texmf-dist/doc/latex/semproc/semproc.pdf b/Master/texmf-dist/doc/latex/semproc/semproc.pdf Binary files differnew file mode 100644 index 00000000000..1c5690046a7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/semproc/semproc.pdf diff --git a/Master/texmf-dist/source/latex/semproc/semproc.dtx b/Master/texmf-dist/source/latex/semproc/semproc.dtx new file mode 100644 index 00000000000..073eb0768ec --- /dev/null +++ b/Master/texmf-dist/source/latex/semproc/semproc.dtx @@ -0,0 +1,740 @@ +% \iffalse meta-comment +% !TEX program = pdfLaTeX +% +%<*internal> +\iffalse +%</internal> +% +%<*exampletex> +\documentclass[a4paper,openright,parskip=half-]{semproc} +\addglobalbib{example.bib} +\usepackage[ngerman,english]{babel} +\begin{document} +\author{Max Mustermann} +\title{Example} +\maketitle +\globaltoc +\chapter{Introduction} +This document serves as an example for the \verb|semproc| class. + +The reader should note that this introduction, which is typeset as a +\verb|\chapter| shows up in the table of contents. However, the numbering scheme +of talks and chapters is confusing at best. \verb|semproc| therefore offers a +macro \verb|\nonumchapter| for unnumbered chapters that show up in the table of +contents and may be used e.\,g.\ for introductions as in the following second +introduction. + +\nonumchapter{Second Introduction} +This is a second introduction with no number but still showing up in the table +of contents. + +\talk[speaker={Donald Knuth}]{Notation} +\begin{summary} + This could be a manuscript for a talk entitled ``Notation'' given by + Donald Knuth at Stanford university. A video recording is available at + \cite{video}. +\end{summary} +\localtoc +\section{Introduction} +An introduction could go here. +\section{Examples of Notation} +\subsection{Notation for integrals} +One could compare Leibniz' and Newton's notation for integrals as Knuth does in +his talk. +\subsection{Frege's Grundgesetze} +Even if Knuth does not talk about the notation in \citeauthor{frege}'s +\cite{frege}, there is even a paper~\cite{onfrege} on it. +\section{Outlook} +A final section with final words. +\localbib + +\talk[speaker={Somebody},notes={Somebody else}]{On Something} +\begin{summary} + Some Summary +\end{summary} +\localtoc +\section{Section A} +\section{Section B} + +\selectlanguage{ngerman} +\talk[speaker={Hans}]{\"Uber etwas Wichtiges} +\begin{summary} + Hier sieht man, dass \verb|semproc| an andere Sprachen, wie zum Beispiel + \verb|ngerman| angepasst werden kann. Momentan werden aber nur \verb|english| + und \verb|ngerman| unterstützt. +\end{summary} +\end{document} +%</exampletex> +%<*examplebib> +@article{onfrege, + AUTHOR = {Green, J. J. and Rossberg, Marcus and Ebert, Philip A.}, + TITLE = {The convenience of the typesetter; notation and typography in + {F}rege's {\itshape {G}rundgesetze der {A}rithmetik}}, + JOURNAL = {Bull. Symb. Log.}, + VOLUME = {21}, + YEAR = {2015}, + NUMBER = {1}, + PAGES = {15--30}, + ISSN = {1079-8986}, + DOI = {10.1017/bsl.2015.5}, +} +@book {frege, + AUTHOR = {Frege, G.}, + TITLE = {Grundgesetze der {A}rithmetik. {B}and {I}, {II}}, + PUBLISHER = {Georg Olms Verlagsbuchhandlung, Hildesheim}, + YEAR = {1962}, + PAGES = {Vol. I, xxxii+254 pp.; Vol. II, xvi+266}, +} +@misc {video, + AUTHOR = {Donald Knuth}, + TITLE = {Notation}, + URL = {https://goo.gl/f122V5} +} +%</examplebib> +%<*readme> +---------------------------------------------------------------- +semproc --- LaTeX class for seminar proceedings +E-mail: tobias.columbus@kit.edu +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt +---------------------------------------------------------------- + +This class provides some means for typesetting seminar proceedings based on +KOMA-Script's scrreprt class and etoc: It offers an alternative to \chapter that +typesets the speaker and if necessary the typist of the notes for the talk in +question. Moreover, the class provides two types of table of contents. A global +table of contents showing only the talks of the seminar and the respective +speakers and a local table of contents for each talk showing the sections and +subsections of the respective talk. +%</readme> +% +%<*internal> +\fi +\def\nameofplainTeX{plain} +\ifx\fmtname\nameofplainTeX\else + \expandafter\begingroup +\fi +%</internal> +% +%<*install> +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +---------------------------------------------------------------- +semproc --- LaTeX class for seminar proceedings +E-mail: tobias.columbus@kit.edu +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt +---------------------------------------------------------------- + +\endpreamble +\postamble + +Copyright (C) 2015 by Tobias Columbus <tobias.columbus@kit.edu> + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License (LPPL), either +version 1.3c of this license or (at your option) any later +version. The latest version of this license is in the file: + +http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by +Tobias Columbus. + +This work consists of the files semproc.dtx +and the derived files semproc.ins, + semproc.pdf, + semproc.cls, + example.tex, + example.bib, + example.pdf + +\endpostamble +\usedir{tex/latex/semproc} +\generate{ + \file{\jobname.cls}{\from{\jobname.dtx}{class}} +} +%</install> +%<install>\endbatchfile +% +%<*internal> +\usedir{source/latex/semproc} +\generate{ + \file{\jobname.ins}{\from{\jobname.dtx}{install}} +} +\generate{ + \file{example.tex}{\from{\jobname.dtx}{exampletex}} +} +\generate{ + \file{example.bib}{\from{\jobname.dtx}{examplebib}} +} +\nopreamble\nopostamble +\usedir{doc/latex/semproc} +\generate{ + \file{README.txt}{\from{\jobname.dtx}{readme}} +} +\ifx\fmtname\nameofplainTeX + \expandafter\endbatchfile +\else + \expandafter\endgroup +\fi +%</internal> +% +%<*driver> +\ProvidesFile{\jobname.dtx} +%</driver> +%<class>\NeedsTeXFormat{LaTeX2e} +%<class>\ProvidesClass{semproc} +%<*class> + [2015/06/15 v0.1 LaTeX class for seminar proceedings] +%</class> +% +%<*driver> +\documentclass{ltxdoc} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage[numbered]{hypdoc} +\usepackage{listings} +\usepackage{xcolor} +\usepackage{tabularx} +\parindent=0em +\parskip=0.5ex +\lstset{ + basicstyle=\small\ttfamily, + language=[LaTeX]TeX, +} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{\jobname.dtx} +\end{document} +%</driver> +% \fi +% +%\GetFileInfo{\jobname.dtx} +% +%\title{ +% \textsf{semproc} --- LaTeX class for seminar proceedings\thanks{ +% This file describes version \fileversion, last revised \filedate. +% } +%} +%\author{ +% Tobias Columbus\thanks{E-mail: tobias.columbus@kit.edu} +%} +%\date{Released \filedate} +% +%\maketitle +% +%\changes{v0.1}{2015/06/15}{First public release} +% +% \section{Documentation} +% The class |semproc| is derived from KOMA-Script's class |scrreprt|. In +% addition to |scrreprt|'s many features, it provides |\talk| as an alternative +% to the |\chapter| command and some means to have a table of contents and a +% bibliography for each such |\talk|. Currently, |semproc| supports German and +% English. +% +% \subsection{Macros} +% +% \DescribeMacro{\talk} |\talk| \oarg{speaker=\{Speaker\},notes=\{Typist\}} +% \marg{title} starts a new talk with title \meta{title}, speaker \meta{Speaker} +% and typist \meta{Typist}. The |\talk| macro also starts a new +% |biblatex|-refsection. +% +% \DescribeMacro{\globaltoc} |\globaltoc| typesets a global table of contents +% consisting of the various talks and its speakers. +% +% \DescribeMacro{\localtoc} |\localtoc| typesets a local table of contents +% consisting of the sections and subsections in the current talk. +% +% +% \DescribeMacro{\localbib} |\localbib| typesets a bibliography for the current +% talk. +% +% \DescribeMacro{\nonumchapter} |\nonumchapter| \marg{title} starts a new +% unnumbered |\chapter*| with \meta{title} but makes sure the chapter occurs in +% the global table of contents. More precisely, |\nonumchapter| is just a +% wrapper around |\chapter*| and |\etoctoccontentsline*|. +% +% \subsection{Environments} +% +% \DescribeEnv{summary} The |summary| environment is a drop-in +% replacement for the |abstract| environment. +% +% \subsection{Customization} +% |semproc| allows for customization of the fonts used in the heading of a talk +% and in the local and global table of contents. The fonts may be customized +% with |\setkomafont| or |\addtokomafont| as described in the documentation of +% KOMA-Script. All fonts are shown in table~\ref{table:fonts}. +% \begin{table} +% \begin{tabularx}{\textwidth}{lXX} +% Font & Usage & Default \\\hline +% talkhead & Font of the head of a talk heading, i.\,e.\ the line +% ``Talk~3''. & |\usekomafont{disposition}| |\usekomafont{section}| \\ +% talktitle & Font of the title of a talk & +% |\usekomafont{disposition}| |\usekomafont{chapter}| \\ +% talkspeakers & Font of the speaker and typist of a talk & +% |\usekomafont{disposition}| \\\\ +% globaltocspeaker & Speaker in an entry in the global table of contents & +% |\sffamily| \\ +% globaltocnumber& Number of an entry in the global table of contents & +% |\usekomafont{disposition}| \\ +% globaltoctitle& Title of an entry in the global table of contents & +% |\usekomafont{disposition}| \\ +% globaltocpage& Page number of an entry in the global table of contents & +% |\usekomafont{disposition}| \\\\ +% localtocheading & Heading of the local table of contents +% typeset with |\localtoc| & |\usekomafont{disposition}| \\ +% localtocnumber & Number of an entry in the local table of contents & +% |\sffamily| \\ +% localtoctitle& Title of an entry in the local table of contents & +% |\sffamily| \\ +% localtocpage & Page number of an entry in the local table of contents & +% |\sffamily| \\\\ +% summaryheading & Font for the heading of a |summary| environment & +% |\usekomafont{disposition}| +% \end{tabularx} +% \caption{Fonts that can be customized.}\label{table:fonts} +% \end{table} +% +% \subsection{Packages} +% |semproc| loads the following packages: |xkeyval|, |xcolor| |etoc|, +% |hyperref|, |bookmark|, |etoolbox|, |biblatex| and |csquotes|. Moreover, it +% passes the option |dvipsnames| to the package |xcolor|, which is loaded +% automatically by hyperref. For the precise arguments to these packages, the +% reader is referred to the implementation. +% +% Note however, that bibliographies should be typeset using |biblatex| as +% opposed to |bibtex|. +% +% \subsection{Example} +% An example can be found in the file |example.tex|. +% +%\StopEventually{ +% \PrintChanges +% \PrintIndex +%} +% +% +% \section{Implementation} +% \begin{macrocode} +%<*class> +% \end{macrocode} +% +%\begin{macro}{scrreprt} +% Load |scrreprt| and pass all options to |scrreprt|. +% \begin{macrocode} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrreprt}} +\ProcessOptions\relax +\LoadClass{scrreprt} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{Packages} +% We load |xkeyval| for processing the names of the speaker/typist of each talk. +% \begin{macrocode} +\RequirePackage{xkeyval} +% \end{macrocode} +% We load |xcolor| and pass option |dvipsnames| as we set |RoyalBlue| as default +% colour for all links. +% \begin{macrocode} +\PassOptionsToPackage{dvipsnames}{xcolor} +\RequirePackage{xcolor} +% \end{macrocode} +% We load |etoc| for creating the macros for the local table of contents per +% talk and the global table of contents. +% \begin{macrocode} +\RequirePackage{etoc} +% \end{macrocode} +% We load |hyperref| for references. Option |hypertexnames| must be set to +% |false|, otherwise referencing the talks is buggy -- at least the last time I +% tried. +% \begin{macrocode} +\RequirePackage% + [unicode=true,colorlinks=true,hypertexnames=false] + {hyperref} +\RequirePackage{bookmark} +\hypersetup{allcolors={RoyalBlue}} +% \end{macrocode} +% We load |etoolbox| for |\ifdefvoid| used in |\semproc@talk@head|. +% \begin{macrocode} +\RequirePackage{etoolbox} +% \end{macrocode} +% We load |biblatex| for managing bibliographies per talk via refsections and +% |csquotes| as it is recommended by |biblatex|. +% \begin{macrocode} +\RequirePackage{biblatex} +\RequirePackage{csquotes} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{Internationalization} +% Using |\providecaptionname| of KOMA-Script, we define language dependent +% strings. Currently only German and English are supported. +% +% We first define the german variants: +% \begin{macrocode} +\providecaptionname{german,ngerman}% + {\talkname}{Vortrag} +\providecaptionname{german,ngerman}% + {\notesname}{Notizen von} +\providecaptionname{german,ngerman}% + {\nospeakername}{Kein Vortragender} +\providecaptionname{german,ngerman}% + {\localtocheadingname}{Inhalt} +\providecaptionname{german,ngerman}% + {\summaryname}{Zusammenfassung} +% \end{macrocode} +% Next, we define the english variants: +% \begin{macrocode} +\providecaptionname{USenglish,UKenglish,english}% + {\talkname}{Talk} +\providecaptionname{USenglish,UKenglish,english}% + {\notesname}{Notes by} +\providecaptionname{USenglish,UKenglish,english}% + {\nospeakername}{No speaker} +\providecaptionname{USenglish,UKenglish,english}% + {\localtocheadingname}{Contents} +\providecaptionname{USenglish,UKenglish,english}% + {\summaryname}{Abstract} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{Fonts} +% Using KOMA-Script's |\newkomafont|, we define various fonts that we use in +% this class. First, we define the fonts |talkhead|, |talktitle| and +% |talkspeakers|, which are used for the heading, i.e.\ the line ``Talk 1'', +% title and speakers/typists of the respective talk. +% \begin{macrocode} +\newkomafont{talkhead} + {\usekomafont{disposition}\usekomafont{section}} +\newkomafont{talktitle} + {\usekomafont{disposition}\usekomafont{chapter}} +\newkomafont{talkspeakers} + {\usekomafont{disposition}} +% \end{macrocode} +% Next, we define the fonts |globaltocspeaker|, |globaltocnumber|, +% |globaltocpage| and |globaltoctitle|, which are used for the speaker, number, +% page and title of the talk in the global table of contents. +% \begin{macrocode} +\newkomafont{globaltocspeaker} + {\sffamily} +\newkomafont{globaltocnumber} + {\usekomafont{disposition}} +\newkomafont{globaltocpage} + {\usekomafont{disposition}} +\newkomafont{globaltoctitle} + {\usekomafont{disposition}} +% \end{macrocode} +% Similarly, we define the fonts |localtocnumber|, |localtocpage|, +% |localtoctitle| for the local table of contents. Additionally, we define +% |localtocheading|, which is the font of the heading of the local table of +% contents. +% \begin{macrocode} +\newkomafont{localtocheading} + {\usekomafont{disposition}} +\newkomafont{localtocnumber} + {\sffamily} +\newkomafont{localtocpage} + {\sffamily} +\newkomafont{localtoctitle} + {\sffamily} +% \end{macrocode} +% Finally, we define the font |summaryheading|, which is the font of the heading +% of the |summary| environment also defined in this class. +% \begin{macrocode} +\newkomafont{summaryheading} + {\usekomafont{disposition}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\nonumchapter} +% |\nonumchapter|\marg{title} is a thin wrapper around |\chapter*| and +% |\etoctoccontentsline*|. +% \begin{macrocode} +\newcommand{\nonumchapter}[1]{% + \chapter*{#1}% + \etoctoccontentsline*{chapter}{#1}{0}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{Talk counter} +% A new counter for the talks. +% \begin{macrocode} +\newcounter{talk} +\setcounter{talk}{0} +% \end{macrocode} +% Compatibility with autoref. +% \begin{macrocode} +\def\talkautorefname{\talkname} +% \end{macrocode} +% We let sections be numbered within the talk, equations within the section and +% without referring to the chapter. The latter is achieved by redefining +% |\thesection| and |\theHsection| for hyperref. +% \begin{macrocode} +\@addtoreset{section}{talk} +\@addtoreset{equation}{section} +\renewcommand\thesection{\arabic{section}} +\renewcommand\theHsection{\arabic{section}} +\renewcommand\theequation{\thesection.\arabic{equation}} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\semproc@talk@head} +% The macro |\semproc@talk@head|\marg{title} typesets the heading of the talk +% with the given title. The counter |talk| has to be incremented and the values +% of |\semproc@talk@speaker| and |\semproc@talk@notes| have to be set before +% calling |\semproc@talk@head|. +% \begin{macrocode} +\newcommand{\semproc@talk@head}[1]{% + {\noindent\usekomafont{talkhead}\talkname~\thetalk}% + {\par\nobreak\vskip2ex}% + {\usekomafont{talktitle}\noindent#1} + \vskip1ex\noindent\hrulefill\vskip1ex + { + \usekomafont{talkspeakers} + \noindent\semproc@talk@speaker% + \ifdefvoid{\semproc@talk@notes}{}{% + \hfill{\notesname~\semproc@talk@notes}% + } + \par\nobreak% + }% + \vskip 3.5ex +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\talk} +% The main macro of this class is |\talk| \oarg{speaker={Speaker}, +% notes={Notes}} \marg{title} intended to replace |\chapter|. We first prepare +% the optional key/value options. +% \begin{macrocode} +\define@key{talk}{speaker}% + [\nospeakername]% + {\def\semproc@talk@speaker{#1}} +\define@key{talk}{notes}% + []% + {\def\semproc@talk@notes{#1}} +% \end{macrocode} +% The macro |\talk| parses the key/value options, increments the counter |talk| +% and calls |\semproc@talk@head| for typesetting the heading. Finally, it starts +% a new |biblatex| refsection and writes all the data to the |.aux| file via +% |etoc|'s |\etoccontentsline| macro. The |\@currentlabelname| is set for +% correct references. +% \begin{macrocode} +\newcommand*\talk[2][\empty]{% + \presetkeys{talk}{speaker,notes}{}% + \setkeys{talk}{#1}% + \refstepcounter{talk}% + \cleardoubleoddplainpage% + \thispagestyle{\chapterpagestyle}% + \semproc@talk@head{#2} + \renewcommand\@currentlabelname{#2} + \newrefsection% + \etoctoccontentsline*{talk}% + {\protect\numberline{\thetalk}#2}{0} + \etoctoccontentsline{speaker}% + {\protect\numberline{}\semproc@talk@speaker} + \renewcommand\@currentlabelname{#2} +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{Various lengths and a box} +% Lengths for typesetting the local and global tables of contents. +% \begin{macrocode} +\newlength{\semproc@toc@skip} +\setlength{\semproc@toc@skip}{4em} +\newlength{\semproc@toc@calc} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\semproc@toc@skipafter} +% |\semproc@toc@skipafter| \marg{style} typesets |\etocnumber| with the chosen +% \meta{style} and then skips the difference of |\semproc@toc@skip| and the +% width of |\etocnumber|. +% \begin{macrocode} +\newcommand\semproc@toc@skipafter[1]{% + \settowidth{\semproc@toc@calc}% + {#1\etocthenumber}% + \addtolength{\semproc@toc@calc}% + {-\semproc@toc@skip}% + \setlength{\semproc@toc@calc}% + {-\semproc@toc@calc}% + \noindent{#1\etocnumber}% + \hskip\semproc@toc@calc% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\globaltoc} +% |\globaltoc| prints out a global table of contents showing only the talks and +% the respective speakers/typists. +% \begin{macrocode} +\newcommand{\globaltoc}{% + \begingroup + \etocsetnexttocdepth{1} + \etocsetlevel{speaker}{1} + \etocsetlevel{section}{2} + \etocsetlevel{talk}{0} + \etocsetlevel{chapter}{0} +% \end{macrocode} +% The speaker is written below the title of the talk with +% |\semproc@toc@skip| indentation and font |globaltocspeaker|. +% \begin{macrocode} + \etocsetstyle{speaker} + {} + {} + {% + \hskip\semproc@toc@skip% + {\usekomafont{globaltocspeaker}\etocthename}% + \nobreak\hfill\nobreak\par% + } + {} +% \end{macrocode} +% Before each talk entry in the global table of contents, we have a vertical +% skip of |1ex|. Then, the number of the talk is written left-aligned and the +% title of the talk is written on the same line with indentation +% |\semproc@toc@skip|. +% \begin{macrocode} + \etocsetstyle{talk} + {} + {\vskip1ex\leavevmode\relax} + {% + \semproc@toc@skipafter{\usekomafont{globaltocnumber}}% + {% + \usekomafont{globaltoctitle}% + \etocname% + }% + \nobreak% + \leaders\hbox to .3cm{\hss.}\hfill% + \nobreak% + \makebox[1cm][r]{% + \usekomafont{globaltocpage}% + \hss\etocpage% + }\par% + } + {} + \tableofcontents + \endgroup +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\localtoc} +% |\localtoc| prints out a local table of contents consisting only of the +% sections and subsections in the current talk. +% \begin{macrocode} +\newcommand{\localtoc}{% + \begingroup + \let\parskip@old% + \parskip\parskip0ex% + \etocsetnexttocdepth{2} + \etocsetlevel{section}{1} + \etocsetlevel{subsection}{2} + \etocsetlevel{talk}{-2} + \etocsetlevel{speaker}{-2} + \etocsetlevel{chapter}{-2} +% \end{macrocode} +% Every section except the first one has a |\vskip| of |1ex| before it is +% typeset. Then, sections are written with |\semproc@toc@skip| indentation. +% \begin{macrocode} + \etocsetstyle{section} + {} + {% + \ifthenelse{\equal{\etocthenumber}{1}}% + {}% + {\vskip1ex}% + } + {% + \semproc@toc@skipafter{% + \usekomafont{localtocnumber}% + }% + {% + \usekomafont{localtoctitle}% + \etocname% + }% + \nobreak% + \leaders\hbox to .3cm{\hss.}\hfill% + \nobreak% + \makebox[1cm][r]{% + \usekomafont{localtocpage}% + \hss\etocpage% + }\vskip0.5ex% + } + {} +% \end{macrocode} +% Subsections are written with |\semproc@toc@skip| indentation and no additional +% vertical space. +% \begin{macrocode} + \etocsetstyle{subsection} + {} + {} + {% + \semproc@toc@skipafter{% + \usekomafont{localtocnumber}% + }% + {% + \usekomafont{localtoctitle}% + \etocname + }% + \nobreak% + \leaders\hbox to .3cm{\hss.}\hfill% + \nobreak% + \makebox[1cm][r]{% + \usekomafont{localtocpage}% + \hss\etocpage% + }\vskip0.5ex% + } + {} +% \end{macrocode} +% Finally, we define the heading of the table of contents and typeset it. +% \begin{macrocode} + \etocsettocstyle{% + \centerline{% + \usekomafont{localtocheading}% + \localtocheadingname% + } + }{} + \localtableofcontents + \parskip\parskip@old + \endgroup +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{environment}{summary} +% Instead of using the |abstract| environment, we define a |summary| environment +% to be used for each talk. +% \begin{macrocode} +\newenvironment{summary} + {% + \centerline{% + \usekomafont{summaryheading}% + \summaryname% + }% + \let\parindent@old\parindent\parindent0em% + }{% + \parindent\parindent@old\vskip3.5ex% + } +% \end{macrocode} +%\end{environment} +% +%\begin{macro}{\localbib} +% \begin{macrocode} +\newcommand{\localbib}{% + \printbibliography[heading=subbibliography]% +} +% \end{macrocode} +%\end{macro} +% +% \begin{macrocode} +%</class> +% \end{macrocode} +%\Finale diff --git a/Master/texmf-dist/source/latex/semproc/semproc.ins b/Master/texmf-dist/source/latex/semproc/semproc.ins new file mode 100644 index 00000000000..a2c06e6f99b --- /dev/null +++ b/Master/texmf-dist/source/latex/semproc/semproc.ins @@ -0,0 +1,77 @@ +%% +%% This is file `semproc.ins', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% semproc.dtx (with options: `install') +%% ---------------------------------------------------------------- +%% semproc --- LaTeX class for seminar proceedings +%% E-mail: tobias.columbus@kit.edu +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +---------------------------------------------------------------- +semproc --- LaTeX class for seminar proceedings +E-mail: tobias.columbus@kit.edu +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt +---------------------------------------------------------------- + +\endpreamble +\postamble + +Copyright (C) 2015 by Tobias Columbus <tobias.columbus@kit.edu> + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License (LPPL), either +version 1.3c of this license or (at your option) any later +version. The latest version of this license is in the file: + +http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by +Tobias Columbus. + +This work consists of the files semproc.dtx +and the derived files semproc.ins, + semproc.pdf, + semproc.cls, + example.tex, + example.bib, + example.pdf + +\endpostamble +\usedir{tex/latex/semproc} +\generate{ + \file{\jobname.cls}{\from{\jobname.dtx}{class}} +} +\endbatchfile +%% +%% Copyright (C) 2015 by Tobias Columbus <tobias.columbus@kit.edu> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License (LPPL), either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in the file: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This work is "maintained" (as per LPPL maintenance status) by +%% Tobias Columbus. +%% +%% This work consists of the files semproc.dtx +%% and the derived files semproc.ins, +%% semproc.pdf, +%% semproc.cls, +%% example.tex, +%% example.bib, +%% example.pdf +%% +%% +%% End of file `semproc.ins'. diff --git a/Master/texmf-dist/tex/latex/semproc/semproc.cls b/Master/texmf-dist/tex/latex/semproc/semproc.cls new file mode 100644 index 00000000000..81eef1fb096 --- /dev/null +++ b/Master/texmf-dist/tex/latex/semproc/semproc.cls @@ -0,0 +1,274 @@ +%% +%% This is file `semproc.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% semproc.dtx (with options: `class') +%% ---------------------------------------------------------------- +%% semproc --- LaTeX class for seminar proceedings +%% E-mail: tobias.columbus@kit.edu +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{semproc} + [2015/06/15 v0.1 LaTeX class for seminar proceedings] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrreprt}} +\ProcessOptions\relax +\LoadClass{scrreprt} +\RequirePackage{xkeyval} +\PassOptionsToPackage{dvipsnames}{xcolor} +\RequirePackage{xcolor} +\RequirePackage{etoc} +\RequirePackage% + [unicode=true,colorlinks=true,hypertexnames=false] + {hyperref} +\RequirePackage{bookmark} +\hypersetup{allcolors={RoyalBlue}} +\RequirePackage{etoolbox} +\RequirePackage{biblatex} +\RequirePackage{csquotes} +\providecaptionname{german,ngerman}% + {\talkname}{Vortrag} +\providecaptionname{german,ngerman}% + {\notesname}{Notizen von} +\providecaptionname{german,ngerman}% + {\nospeakername}{Kein Vortragender} +\providecaptionname{german,ngerman}% + {\localtocheadingname}{Inhalt} +\providecaptionname{german,ngerman}% + {\summaryname}{Zusammenfassung} +\providecaptionname{USenglish,UKenglish,english}% + {\talkname}{Talk} +\providecaptionname{USenglish,UKenglish,english}% + {\notesname}{Notes by} +\providecaptionname{USenglish,UKenglish,english}% + {\nospeakername}{No speaker} +\providecaptionname{USenglish,UKenglish,english}% + {\localtocheadingname}{Contents} +\providecaptionname{USenglish,UKenglish,english}% + {\summaryname}{Abstract} +\newkomafont{talkhead} + {\usekomafont{disposition}\usekomafont{section}} +\newkomafont{talktitle} + {\usekomafont{disposition}\usekomafont{chapter}} +\newkomafont{talkspeakers} + {\usekomafont{disposition}} +\newkomafont{globaltocspeaker} + {\sffamily} +\newkomafont{globaltocnumber} + {\usekomafont{disposition}} +\newkomafont{globaltocpage} + {\usekomafont{disposition}} +\newkomafont{globaltoctitle} + {\usekomafont{disposition}} +\newkomafont{localtocheading} + {\usekomafont{disposition}} +\newkomafont{localtocnumber} + {\sffamily} +\newkomafont{localtocpage} + {\sffamily} +\newkomafont{localtoctitle} + {\sffamily} +\newkomafont{summaryheading} + {\usekomafont{disposition}} +\newcommand{\nonumchapter}[1]{% + \chapter*{#1}% + \etoctoccontentsline*{chapter}{#1}{0}% +} +\newcounter{talk} +\setcounter{talk}{0} +\def\talkautorefname{\talkname} +\@addtoreset{section}{talk} +\@addtoreset{equation}{section} +\renewcommand\thesection{\arabic{section}} +\renewcommand\theHsection{\arabic{section}} +\renewcommand\theequation{\thesection.\arabic{equation}} +\newcommand{\semproc@talk@head}[1]{% + {\noindent\usekomafont{talkhead}\talkname~\thetalk}% + {\par\nobreak\vskip2ex}% + {\usekomafont{talktitle}\noindent#1} + \vskip1ex\noindent\hrulefill\vskip1ex + { + \usekomafont{talkspeakers} + \noindent\semproc@talk@speaker% + \ifdefvoid{\semproc@talk@notes}{}{% + \hfill{\notesname~\semproc@talk@notes}% + } + \par\nobreak% + }% + \vskip 3.5ex +} +\define@key{talk}{speaker}% + [\nospeakername]% + {\def\semproc@talk@speaker{#1}} +\define@key{talk}{notes}% + []% + {\def\semproc@talk@notes{#1}} +\newcommand*\talk[2][\empty]{% + \presetkeys{talk}{speaker,notes}{}% + \setkeys{talk}{#1}% + \refstepcounter{talk}% + \cleardoubleoddplainpage% + \thispagestyle{\chapterpagestyle}% + \semproc@talk@head{#2} + \renewcommand\@currentlabelname{#2} + \newrefsection% + \etoctoccontentsline*{talk}% + {\protect\numberline{\thetalk}#2}{0} + \etoctoccontentsline{speaker}% + {\protect\numberline{}\semproc@talk@speaker} + \renewcommand\@currentlabelname{#2} +} +\newlength{\semproc@toc@skip} +\setlength{\semproc@toc@skip}{4em} +\newlength{\semproc@toc@calc} +\newcommand\semproc@toc@skipafter[1]{% + \settowidth{\semproc@toc@calc}% + {#1\etocthenumber}% + \addtolength{\semproc@toc@calc}% + {-\semproc@toc@skip}% + \setlength{\semproc@toc@calc}% + {-\semproc@toc@calc}% + \noindent{#1\etocnumber}% + \hskip\semproc@toc@calc% +} +\newcommand{\globaltoc}{% + \begingroup + \etocsetnexttocdepth{1} + \etocsetlevel{speaker}{1} + \etocsetlevel{section}{2} + \etocsetlevel{talk}{0} + \etocsetlevel{chapter}{0} + \etocsetstyle{speaker} + {} + {} + {% + \hskip\semproc@toc@skip% + {\usekomafont{globaltocspeaker}\etocthename}% + \nobreak\hfill\nobreak\par% + } + {} + \etocsetstyle{talk} + {} + {\vskip1ex\leavevmode\relax} + {% + \semproc@toc@skipafter{\usekomafont{globaltocnumber}}% + {% + \usekomafont{globaltoctitle}% + \etocname% + }% + \nobreak% + \leaders\hbox to .3cm{\hss.}\hfill% + \nobreak% + \makebox[1cm][r]{% + \usekomafont{globaltocpage}% + \hss\etocpage% + }\par% + } + {} + \tableofcontents + \endgroup +} +\newcommand{\localtoc}{% + \begingroup + \let\parskip@old% + \parskip\parskip0ex% + \etocsetnexttocdepth{2} + \etocsetlevel{section}{1} + \etocsetlevel{subsection}{2} + \etocsetlevel{talk}{-2} + \etocsetlevel{speaker}{-2} + \etocsetlevel{chapter}{-2} + \etocsetstyle{section} + {} + {% + \ifthenelse{\equal{\etocthenumber}{1}}% + {}% + {\vskip1ex}% + } + {% + \semproc@toc@skipafter{% + \usekomafont{localtocnumber}% + }% + {% + \usekomafont{localtoctitle}% + \etocname% + }% + \nobreak% + \leaders\hbox to .3cm{\hss.}\hfill% + \nobreak% + \makebox[1cm][r]{% + \usekomafont{localtocpage}% + \hss\etocpage% + }\vskip0.5ex% + } + {} + \etocsetstyle{subsection} + {} + {} + {% + \semproc@toc@skipafter{% + \usekomafont{localtocnumber}% + }% + {% + \usekomafont{localtoctitle}% + \etocname + }% + \nobreak% + \leaders\hbox to .3cm{\hss.}\hfill% + \nobreak% + \makebox[1cm][r]{% + \usekomafont{localtocpage}% + \hss\etocpage% + }\vskip0.5ex% + } + {} + \etocsettocstyle{% + \centerline{% + \usekomafont{localtocheading}% + \localtocheadingname% + } + }{} + \localtableofcontents + \parskip\parskip@old + \endgroup +} +\newenvironment{summary} + {% + \centerline{% + \usekomafont{summaryheading}% + \summaryname% + }% + \let\parindent@old\parindent\parindent0em% + }{% + \parindent\parindent@old\vskip3.5ex% + } +\newcommand{\localbib}{% + \printbibliography[heading=subbibliography]% +} +%% +%% Copyright (C) 2015 by Tobias Columbus <tobias.columbus@kit.edu> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License (LPPL), either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in the file: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This work is "maintained" (as per LPPL maintenance status) by +%% Tobias Columbus. +%% +%% This work consists of the files semproc.dtx +%% and the derived files semproc.ins, +%% semproc.pdf, +%% semproc.cls, +%% example.tex, +%% example.bib, +%% example.pdf +%% +%% +%% End of file `semproc.cls'. |