summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/stex/sty/mikoslides/mikoslides.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/stex/sty/mikoslides/mikoslides.dtx')
-rw-r--r--macros/latex/contrib/stex/sty/mikoslides/mikoslides.dtx810
1 files changed, 0 insertions, 810 deletions
diff --git a/macros/latex/contrib/stex/sty/mikoslides/mikoslides.dtx b/macros/latex/contrib/stex/sty/mikoslides/mikoslides.dtx
deleted file mode 100644
index 1fc76db644..0000000000
--- a/macros/latex/contrib/stex/sty/mikoslides/mikoslides.dtx
+++ /dev/null
@@ -1,810 +0,0 @@
-% \iffalse meta-comment
-% A LaTeX Class for Jacobs University Slides
-% Copyright (c) 2007 Michael Kohlhase, all rights reserved
-% this file is released under the
-% Gnu Library Public Licences (LGPL)
-%
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<cls|package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<cls>\ProvidesClass{mikoslides}[2019/03/20 v1.2 MiKo slides Class]
-%<package>\ProvidesPackage{mikoslides}[2019/03/20 v1.2 MiKo slides Package]
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{url,array,float,xspace}
-\usepackage[show]{ed}
-\usepackage{graphicx,paralist}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on},
-\hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
-\usepackage{hyperref}
-\begin{document}
-\RecordChanges
-\DocInput{mikoslides.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \CheckSum{469}
-%
-% \changes{v0.1}{2005/12/06}{Initial Version}
-% \changes{v0.2}{2006/01/11}{course notes back on seminar}
-% \changes{v0.3}{2007/05/16}{changing to Jacobs logo}
-% \changes{v0.4}{2007/10/16}{re-basing the whole thing on beamer}
-% \changes{v0.4}{2008/09/06}{moving line-end-comment to \texttt{omdoc.dtx}}
-% \changes{v0.5}{2009/06/17}{eliminating mytwocolumns, this is better done by \texttt{beamer.cls}}
-% \changes{v0.9}{2010/06/18}{this is almost done}
-% \changes{v0.9}{2012/09/17}{basic options handling for the \texttt{frame} environment in
-% notes mode}
-% \changes{v0.9}{2013/08/23}{numbered sectocframes}
-% \changes{v1.0}{2014/01/07}{adding \texttt{\textbackslash frameimage}}
-% \changes{v1.1}{2015/10/25}{Removing the old title macros (use the regular ones instead)}
-% \changes{v1.1}{2015/10/25}{reinterpreting omgroup}
-% \changes{v1.1}{2015/11/04}{moving MathHub support out to separate package}
-% \changes{v1.2}{2018/12/03}{changed to keyval class/package options, allowed arbitrary classes}
-%
-% \GetFileInfo{mikoslides.cls}
-% \MakeShortVerb{\|}
-%
-% \def\twin#1#2{\index{#1!#2}\index{#2!#1}}
-% \def\twintoo#1#2{{#1 #2}\twin{#1}{#2}}
-% \def\atwin#1#2#3{\index{#1!#2!#3}\index{#3!#2 (#1)}}
-% \def\atwintoo#1#2#3{{#1 #2 #3}\atwin{#1}{#2}{#3}}
-%
-% \def\scsys#1{{{\sc #1}}\index{#1@{\sc #1}}}
-% \def\stex{\hbox{\raisebox{-.5ex}S\kern-.5ex\TeX}}
-% \def\sTeX{\stex}
-% \def\cnxml{\scshape{CNXml}}
-% \def\connexions{\scshape{Connexions}}
-% \def\element#1{{\ttfamily{#1}}}
-% \def\snippet#1{{\ttfamily{#1}}}
-% \def\cnxlatex{CNX\LaTeX\xspace}
-% \def\mathml{{\scshape{MathML}}\xspace}
-% \def\omdoc{OMDoc\xspace}
-% \def\activemath{{\scshape{ActiveMath}}\xspace}
-% \def\textwarning{\includegraphics[width=1.2em]{dangerous-bend}\xspace}
-%
-% \title{Slides and Course Notes\thanks{Version {\fileversion}
-% (last revised {\filedate})}}
-% \author{Michael Kohlhase\\
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}}
-% \maketitle
-%
-% \begin{abstract}
-% We present a document class from which we can generate both course slides and course
-% notes in a transparent way.
-% \end{abstract}
-%
-% \tableofcontents\newpage
-%
-%\section{Introduction}
-%
-% The |mikoslides| document class is derived from |beamer.cls|~\cite{beamerclass:on}, it
-% adds a ``notes version'' for course notes derived from the |omdoc|
-% class~\cite{Kohlhase:smomdl} that is more suited to printing than the one supplied by
-% |beamer.cls|.
-%
-%
-%\section{The User Interface}\label{sec:user}
-%
-% The |mikoslides| class takes the notion of a slide frame from Till Tantau's excellent
-% |beamer| class and adapts its notion of frames for use in the \sTeX and \omdoc. To
-% support semantic course notes, it extends the notion of mixing frames and explanatory
-% text, but rather than treating the frames as images (or integrating their contents into
-% the flowing text), the |mikoslides| package displays the slides as such in the course
-% notes to give students a visual anchor into the slide presentation in the course (and to
-% distinguish the different writing styles in slides and course notes).
-%
-% In practice we want to generate two documents from the same source: the slides for
-% presentation in the lecture and the course notes as a narrative document for home
-% study. To achieve this, the |mikoslides| class has two modes: \emph{slides mode} and
-% \emph{notes mode} which are determined by the package option.
-%
-% \subsection{Package Options}\label{sec:user:options}
-%
-% The |mikoslides| class takes a variety of class options:\ednote{leaving out noproblems
-% for the moment until we decide what to do with it.}
-% \begin{itemize}
-% \item The options \DescribeMacro{slides}|slides|\DescribeMacro and {notes}|notes| switch
-% between slides mode and notes mode (see Section~\ref{sec:user:notesslides}).
-% \item If the option \DescribeMacro{sectocframes}|sectocframes| is given, then special
-% frames with section table of contents are produced headers \ednote{document the functionality}
-% \item \DescribeMacro{showmeta}|showmeta|. If this is set, then the metadata keys are
-% shown (see~\cite{Kohlhase:metakeys:ctan} for details and customization options).
-% \item If the option \DescribeMacro{frameimages}|frameimages| is set, then slide mode
-% also shows the |\frameimage|-generated frames.
-% \item \DescribeMacro{topsect}|topsect=|\meta{sect} can be used to specify the
-% top-level sectioning level; the default for \meta{setc} is |section|.
-% \end{itemize}
-%
-% \subsection{Notes and Slides}\label{sec:user:notesslides}
-%
-% Slides are represented with the \DescribeEnv{frame}|frame| just like in the |beamer|
-% class, see~\cite{Tantau:ugbc} for details. The |mikoslides| class adds the
-% \DescribeEnv{note}|note| environment for encapsulating the course note
-% fragments.\footnote{MK: it would be very nice, if we did not need this environment, and
-% this should be possible in principle, but not without intensive LaTeX trickery. Hints to
-% the author are welcome.}
-%
-% \textwarning Note that it is essential to start and end the |notes| environment at the
-% start of the line -- in particular, there may not be leading blanks -- else {\LaTeX}
-% becomes confused and throws error messages that are difficult to decipher.
-%
-% \begin{exfig}
-% \begin{verbatim}
-% \begin{note}
-% We start this course with ...
-% \end{note}
-%
-% \begin{frame}
-% \frametitle{The first slide}
-% ...
-% \end{frame}
-% \begin{note}
-% ... and more explanatory text
-% \end{note}
-%
-% \begin{frame}
-% \frametitle{The second slide}
-% ...
-% \end{frame}
-% ...
-% \end{verbatim}
-% \caption{A typical Course Notes File}\label{fig:notesfile}
-% \end{exfig}
-%
-% By interleaving the |frame| and |note| environments, we can build course notes as shown
-% in Figure~\ref{fig:notesfile}.
-%
-% Sometimes, we want to integrate slides as images after all -- e.g. because we already
-% have a PowerPoint presentation, to which we want to add \sTeX notes. In this case we can
-% use \DescribeMacro{\frameimage}|\frameimage[|\meta{opt}|]{|\meta{path}|}|, where
-% \meta{opt} are the options of |\includegraphics| from the |graphicx|
-% package~\cite{CarRah:tpp99} and \meta{path} is the file path (extension can be left off
-% like in |\includegraphics|).
-%
-% If we want to transclude a the contents of a file as a note, we can use the
-% \DescribeMacro{\ninputref}|\ninputref| macro. |\ninputref{foo}| is equivalent to
-%\begin{verbatim}
-% \begin{note}
-% \inputref{foo}
-% \end{note}
-% \end{verbatim}
-%
-% There are some environments that tend to occur at the top-level of |note|
-% environments. We make convenience versions of these: e.g. the
-% \DescribeEnv{nomtext}|nomtext| environment is just an |omtext| inside a |note|
-% environemnt (but looks nicer in the source, since it avoids one level of source
-% indenting). Similarly, we have the \DescribeEnv{nomgroup}|nomgroup| environment.
-%
-% \subsection{Header and Footer Lines}\label{sec:user:headfootlines}
-%
-% \subsection{Colors and Highlighting}\label{sec:user:highlighting}
-% The \DescribeMacro{\textwarning}|\textwarning| macro generates a warning
-% sign: \textwarning
-%
-% \subsection{Front Matter, Titles, etc}\label{sec:user:matter}
-%
-% \subsection{Miscellaneous}\label{sec:user:misc}
-%
-% \section{Limitations}\label{sec:limitations}
-%
-% In this section we document known limitations. If you want to help alleviate them,
-% please feel free to contact the package author. Some of them are currently discussed in
-% the \sTeX GitHub repository~\cite{sTeX:github:on}.
-% \begin{enumerate}
-% \item when option |book| which uses |\pagestyle{headings}| is given and semantic macros
-% are given in the |omgroup| titles, then they sometimes are not defined by the time the
-% heading is formatted. Need to look into how the headings are made. This is a problem
-% of the underlying |omdoc| package.
-% \end{enumerate}
-%
-% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\printbibliography}
-%
-%\section{The Implementation}\label{sec:impl}
-%
-%\subsection{Class and Package Options}\label{sec:impl:init}
-%
-% We define some Package Options and switches for the |mikoslides| class and activate them
-% by passing them on to |beamer.cls| and |omdoc.cls| and the |mikoslides| package. We pass
-% the |nontheorem| option to the |statements| package when we are not in notes mode, since
-% the |beamer| package has its own (overlay-aware) theorem environments.
-%
-% \begin{macrocode}
-%<*cls>
-\RequirePackage{kvoptions}
-\RequirePackage{etoolbox}
-\SetupKeyvalOptions{family=mks@cls,prefix=mks@cls@}
-\DeclareStringOption[article]{class}
-\AddToKeyvalOption*{class}{\PassOptionsToClass{class=\mks@cls@class}{omdoc}
- \ifdefstring{\mks@cls@class}{book}{\PassOptionsToPackage{topsect=part}{mikoslides}}{}
- \ifdefstring{\mks@cls@class}{report}{\PassOptionsToPackage{topsect=part}{mikoslides}}}{}
-\DeclareBoolOption{notes}
-\DeclareComplementaryOption{slides}{notes}
-\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{omdoc}
- \PassOptionsToClass{\CurrentOption}{beamer}
- \PassOptionsToPackage{\CurrentOption}{mikoslides}}
-\ProcessKeyvalOptions{mks@cls}
-%</cls>
-% \end{macrocode}
-% now we do the same for the |mikoslides| package.
-% \begin{macrocode}
-%<*package>
-\RequirePackage{kvoptions}
-\SetupKeyvalOptions{family=mks@sty,prefix=mks@sty@}
-\DeclareStringOption[section]{topsect}
-\DeclareBoolOption{mh}
-\AddToKeyvalOption*{mh}{
- \PassOptionsToPackage{mh}{stex}
- \PassOptionsToPackage{mh}{smglom}
- \PassOptionsToPackage{mh}{tikzinput}}
-\newif\ifnotes\notestrue
-\DeclareBoolOption{notes}
-\AddToKeyvalOption*{notes}{\notestrue\PassOptionsToPackage{notes}{statements}}
-\DeclareComplementaryOption{slides}{notes}
-\AddToKeyvalOption*{slides}{\notesfalse\PassOptionsToPackage{nontheorem}{statements}}
-\DeclareBoolOption{sectocframes}
-\AddToKeyvalOption*{sectocframes}{\PassOptionsToPackage{msection}{statements}}
-\DeclareBoolOption{frameimages}
-\DeclareBoolOption{noproblems}
-\DeclareDefaultOption{\PassOptionsToPackage{\CurrentOption}{stex}
- \PassOptionsToPackage{\CurrentOption}{smglom}
- \PassOptionsToPackage{\CurrentOption}{tikzinput}}
-\ProcessKeyvalOptions{mks@sty}
-%</package>
-% \end{macrocode}
-%
-% Depending on the options, we either load the |article|-based |omdoc| or the |beamer|
-% class (and set some counters).
-% \begin{macrocode}
-%<*cls>
-\ifmks@cls@notes
- \LoadClass{omdoc}
-\else
- \LoadClass[10pt,notheorems]{beamer}
- \newcounter{Item}
- \newcounter{paragraph}
- \newcounter{subparagraph}
- \newcounter{Hfootnote}
-\fi
-% \end{macrocode}
-% now it only remains to load the |mikoslides| package that does all the rest.
-% \begin{macrocode}
-\RequirePackage{mikoslides}
-%</cls>
-% \end{macrocode}
-%
-% In |notes| mode, we also have to make the |beamer|-specific things available to
-% |article| via the |beamerarticle| package. We use options to avoid loading theorem-like
-% environments, since we want to use our own from the $\sTeX$ packages. The first batch
-% of packages we want are loaded on |mikoslides.sty|. These are the general ones, we will
-% load the \sTeX-specific ones after we have done some work (e.g. defined the counters
-% |m*|). Only the |stex-logo| package is already needed now for the default theme.
-%
-% \begin{macrocode}
-%<*package>
-\ifmks@sty@notes
-\RequirePackage{a4wide}
-\RequirePackage{marginnote}
-\RequirePackage{xcolor}
-\RequirePackage{mdframed}
-\RequirePackage[noxcolor,noamsthm]{beamerarticle}
-\fi
-\ifmks@sty@mh\RequirePackage{mikoslides-mh}\fi
-\RequirePackage{etoolbox}
-\RequirePackage{amssymb}
-\RequirePackage{amsmath}
-\RequirePackage{comment}
-\RequirePackage{textcomp}
-\RequirePackage{url}
-\RequirePackage{graphicx}
-\RequirePackage{stex-logo}
-\RequirePackage{pgf}
-\ifmks@sty@notes
-\RequirePackage[bookmarks,bookmarksopen,bookmarksnumbered,breaklinks,
-linkcolor=black,citecolor=black,urlcolor=cyan,filecolor=cyan,colorlinks]{hyperref}
-\fi
-% \end{macrocode}
-%
-% finally, we require the |metakeys| package from \sTeX, so that we can use the
-% |\addmetakey| mechanism.
-%
-% \begin{macrocode}
-\RequirePackage{metakeys}
-% \end{macrocode}
-%
-% \subsection{Notes and Slides}\label{sec:impl:noteslides}
-%
-% For the lecture notes cases, we also provide the |\usetheme| macro that would otherwise
-% from the the |beamer| class. While the latter loads |beamertheme|\meta{theme}{.sty}, the
-% notes version loads |beamernotestheme|\meta{theme}|.sty|.\ednote{MK: This is not ideal, but
-% I am not sure that I want to be able to provide the full theme functionality there.}
-% \begin{macrocode}
-\ifmks@sty@notes
-\renewcommand\usetheme[2][]{\usepackage[#1]{beamernotestheme#2}}
-\fi
-% \end{macrocode}
-% We define the sizes of slides in the notes. Somehow, we cannot get by with the same
-% here.
-%
-% \begin{macrocode}
-\newcounter{slide}
-\newlength{\slidewidth}\setlength{\slidewidth}{12.8cm}
-\newlength{\slideheight}\setlength{\slideheight}{9cm}
-% \end{macrocode}
-%
-% \begin{environment}{note}
-% The |note| environment is used to leave out text in the |slides| mode. It does not have
-% a counterpart in OMDoc. So for course notes, we define the |note| environment to be a
-% no-operation otherwise we declare the |note| environment as a comment via the |comment|
-% package.
-% \begin{macrocode}
-\ifmks@sty@notes%
- \renewenvironment{note}{\ignorespaces}{}%
-\else%
- \excludecomment{note}%
-\fi%
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{macro}{\ninputref}
-% \begin{macrocode}
-\newcommand\ninputref[2][]{\ifmks@sty@notes\inputref[#1]{#2}\fi}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% We first set up the slide boxes in |article| mode. We set up sizes and provide a
-% box register for the frames and a counter for the slides.
-%
-% \begin{macrocode}
-\ifmks@sty@notes
- \newlength{\slideframewidth}
- \setlength{\slideframewidth}{1.5pt}
-% \end{macrocode}
-%
-% \begin{environment}{frame}
-% We first define the keys.
-% \begin{macrocode}
- \addmetakey{frame}{label}
- \addmetakey[yes]{frame}{allowframebreaks}
- \addmetakey{frame}{allowdisplaybreaks}
- \addmetakey[yes]{frame}{fragile}
- \addmetakey[yes]{frame}{shrink}
- \addmetakey[yes]{frame}{squeeze}
- \addmetakey[yes]{frame}{t}
-% \end{macrocode}
-% We define the environment, read them, and construct the slide number and label.
-% \begin{macrocode}
- \renewenvironment{frame}[1][]{%
- \metasetkeys{frame}{#1}%
- \stepcounter{slide}%
- \def\@currentlabel{\theslide}%
- \ifx\frame@label\@empty%
- \else%
- \label{\frame@label}%
- \fi%
-% \end{macrocode}
-% We redefine the |itemize| environment so that it looks more like the one in |beamer|.
-% \begin{macrocode}
- \def\itemize@level{outer}%
- \def\itemize@outer{outer}%
- \def\itemize@inner{inner}%
- \renewcommand\newpage{}%
- \renewcommand\metakeys@show@keys[2]{\marginnote{{\scriptsize ##2}}}%
- \renewenvironment{itemize}{%
- \ifx\itemize@level\itemize@outer%
- \def\itemize@label{$\rhd$}%
- \fi%
- \ifx\itemize@level\itemize@inner%
- \def\itemize@label{$\scriptstyle\rhd$}%
- \fi%
- \begin{list}%
- {\itemize@label}%
- {\setlength{\labelsep}{.3em}%
- \setlength{\labelwidth}{.5em}%
- \setlength{\leftmargin}{1.5em}%
- }%
- \edef\itemize@level{\itemize@inner}%
- }{%
- \end{list}%
- }%
-% \end{macrocode}
-% We create the box with the |mdframed| environment from the equinymous package.
-% \begin{macrocode}
- \begin{mdframed}[linewidth=\slideframewidth,skipabove=1ex,skipbelow=1ex,userdefinedwidth=\slidewidth,align=center]\sf%
- }{%
- \medskip\miko@slidelabel\end{mdframed}%
- }%
-% \end{macrocode}
-% \end{environment}
-%
-% Now, we need to redefine the frametitle (we are still in course notes mode).
-% \begin{macro}{\frametitle}
-% \begin{macrocode}
- \renewcommand{\frametitle}[1]{{\Large\bf\sf\color{blue}{#1}}\medskip}%
-\fi %ifnotes
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frameimage}
-% We have to make sure that the width is overwritten, for that we check the
-% |\Gin@ewidth| macro from the |graphicx| package\ednote{MK@DG; we need to do that in
-% the LaTeXML binding as well!}
-% \begin{macrocode}
-\newrobustcmd\frameimage[2][]{%
- \stepcounter{slide}%
- \ifmks@sty@frameimages%
- \def\Gin@ewidth{}\setkeys{Gin}{#1}%
- \ifmks@sty@notes\else\vfill\fi%
- \ifx\Gin@ewidth\@empty%
- \mycgraphics[width=\slidewidth,#1]{#2}\else\mycgraphics[#1]{#2}%
- \fi%
- \par\strut\hfill{\footnotesize Slide \arabic{slide}}%
- \ifmks@sty@notes\else\vfill\fi%
- \fi%
-}% ifframeimages
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\pause}
-% \ednote{MK: fake it in notes mode for now}
-% \begin{macrocode}
-\ifmks@sty@notes\newcommand\pause{}\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{environment}{nomtext}
-% \begin{macrocode}
-\ifmks@sty@notes\newenvironment{nomtext}[1][]{\begin{omtext}[#1]}{\end{omtext}}%
-\else\excludecomment{nomtext}\fi%
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{nomgroup}
-% \begin{macrocode}
-\ifmks@sty@notes\newenvironment{nomgroup}[2][]{\begin{omgroup}[#1]{#2}}{\end{omgroup}}%
-\else\excludecomment{nomgroup}\fi%
-% \end{macrocode}
-% \end{environment}
-% \subsection{Header and Footer Lines}\label{sec:impl:headfootlines}
-%
-% Now, we set up the infrastructure for the footer line of the slides, we use boxes for
-% the logos, so that they are only loaded once, that considerably speeds up processing.
-%
-% \begin{macro}{\setslidelogo}
-% The default logo is the logo of Jacobs University. Customization can be done by |\setslidelogo{|\meta{logo name}|}|.
-% \begin{macrocode}
-\newlength{\slidelogoheight}
-\ifmks@sty@notes%
- \setlength{\slidelogoheight}{.4cm}%
-\else%
- \setlength{\slidelogoheight}{1cm}%
-\fi%
-\newsavebox{\slidelogo}%
-\sbox{\slidelogo}{\sTeX}%
-\newrobustcmd{\setslidelogo}[1]{%
- \sbox{\slidelogo}{\includegraphics[height=\slidelogoheight]{#1}}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\setsource}
-% |\source| stores the writer's name. By default it is {\it Michael Kohlhase} since he is the main user and designer of this package. |\setsource{|\meta{name}|}| can change the writer's name.
-% \begin{macrocode}
-\def\source{Michael Kohlhase}% customize locally
-\newrobustcmd{\setsource}[1]{\def\source{#1}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\setlicensing}
-% Now, we set up the copyright and licensing. By default we use the Creative Commons
-% Attribuition-ShareAlike license to strengthen the public domain. If package |hyperref|
-% is loaded, then we can attach a hyperlink to the license
-% logo. |\setlicensing[|\meta{url}|]{|\meta{logo name}|}| is used for customization,
-% where ||\meta{url}|| is optional.
-% \begin{macrocode}
-\def\copyrightnotice{\footnotesize\copyright:\hspace{.3ex}{\source}}%
-\newsavebox{\cclogo}%
-\sbox{\cclogo}{\includegraphics[height=\slidelogoheight]{cc_somerights}}%
-\newif\ifcchref\cchreffalse%
-\AtBeginDocument{%
- \@ifpackageloaded{hyperref}{\cchreftrue}{\cchreffalse}
-}%
-\def\licensing{%
- \ifcchref%
- \href{http://creativecommons.org/licenses/by-sa/2.5/}{\usebox{\cclogo}}%
- \else%
- {\usebox{\cclogo}}%
- \fi%
-}%
-\newrobustcmd{\setlicensing}[2][]{%
- \def\@url{#1}%
- \sbox{\cclogo}{\includegraphics[height=\slidelogoheight]{#2}}%
- \ifx\@url\@empty%
- \def\licensing{{\usebox{\cclogo}}}%
- \else%
- \def\licensing{%
- \ifcchref%
- \href{#1}{\usebox{\cclogo}}%
- \else%
- {\usebox{\cclogo}}%
- \fi%
- }%
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\slidelabel}
-% Now, we set up the slide label for the |article| mode.\ednote{see that we can use the themes for the slides some day. This is all fake.}
-% \begin{macrocode}
-\newrobustcmd\miko@slidelabel{%
- \vbox to \slidelogoheight{%
- \vss\hbox to \slidewidth%
- {\licensing\hfill\copyrightnotice\hfill\arabic{slide}\hfill\usebox{\slidelogo}}%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Colors and Highlighting}\label{sec:impl:highlighting}
-%
-% We first specify sans serif fonts as the default.
-%
-% \begin{macrocode}
-\sffamily
-% \end{macrocode}
-%
-% Now, we set up an infrastructure for highlighting phrases in slides. Note that we use
-% content-oriented macros for highlighting rather than directly using color markup.
-% The first thing to to is to adapt the green so that it is dark enough for most beamers
-% \begin{macrocode}
-\AtBeginDocument{%
-\definecolor{green}{rgb}{0,.5,0}%
-\definecolor{purple}{cmyk}{.3,1,0,.17}%
-}%
-% \end{macrocode}
-%
-% We customize the |\defemph|, |\notemph|, and |\stDMemph| macros with colors for the use
-% in the |statements| package. Furthermore we customize the |\@@lec| macro for the
-% appearance of line end comments in |\lec|.
-%
-% \begin{macrocode}
-% \def\STpresent#1{\textcolor{blue}{#1}}
-\def\defemph#1{{\textcolor{magenta}{#1}}}
-\def\notemph#1{{\textcolor{magenta}{#1}}}
-\def\stDMemph#1{{\textcolor{blue}{#1}}}
-\def\@@lec#1{(\textcolor{green}{#1})}
-% \end{macrocode}
-%
-% I like to use the dangerous bend symbol for warnings, so we provide it here.
-% \begin{macro}{\textwarning}
-% as the macro can be used quite often we put it into a box register, so that it is only
-% loaded once.
-% \begin{macrocode}
-\pgfdeclareimage[width=.8em]{miko@small@dbend}{dangerous-bend}
-\def\smalltextwarning{%
- \pgfuseimage{miko@small@dbend}%
- \xspace%
-}%
-\pgfdeclareimage[width=1.2em]{miko@dbend}{dangerous-bend}
-\newrobustcmd\textwarning{%
- \raisebox{-.05cm}{\pgfuseimage{miko@dbend}}%
- \xspace%
-}%
-\pgfdeclareimage[width=2.5em]{miko@big@dbend}{dangerous-bend}%
-\newrobustcmd\bigtextwarning{%
- \raisebox{-.05cm}{\pgfuseimage{miko@big@dbend}}%
- \xspace%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\newrobustcmd\putgraphicsat[3]{%
- \begin{picture}(0,0)\put(#1){\includegraphics[#2]{#3}}\end{picture}%
-}%
-\newrobustcmd\putat[2]{%
- \begin{picture}(0,0)\put(#1){#2}\end{picture}%
-}%
-% \end{macrocode}
-%
-% \subsection{Sectioning}
-%
-% If the |sectocframes| option is set, then we make section frames. We first define a set
-% of counters\ednote{I forget: why not use the counters from beamer/article? --> document
-% this.}
-% \begin{macrocode}
-\ifmks@sty@sectocframes%
-\ifdefstring\mks@sty@topsect{part}{%
- \newcounter{mpart}\newcounter{mchapter}\newcounter{msection}[mchapter]}
-{\ifdefstring\mks@sty@topsect{chapter}{%
- \newcounter{mchapter}\newcounter{msection}[mchapter]}
- {\newcounter{msection}}}
-\newcounter{msubsection}[msection]%
-\newcounter{msubsubsection}[msubsection]%
-\newcounter{msubsubsubsection}[msubsubsection]%
-\fi% ifsectocframes
-% \end{macrocode}
-%
-% Now that we have defined the counters, we can load the \sTeX-specific packages (in
-% particular |statements| that needs these counters).
-%
-% \begin{macrocode}
-\RequirePackage{stex}
-\RequirePackage{smglom}
-\RequirePackage{tikzinput}
-% \end{macrocode}
-%
-% Finally, we set the \DescribeMacro{\section@level}|\section@level| macro that governs
-% sectioning.
-%
-% \begin{macrocode}
-\section@level=2
-\ifdefstring{\mks@sty@topsect}{part}{\section@level=0}{}
-\ifdefstring{\mks@sty@topsect}{chapter}{\section@level=1}{}
-% \end{macrocode}
-%
-% Now \sTeX is loaded, we redefine the |omgroup| environment to produce section toc frames
-% (if the option |sectocframes| is specified.)\ednote{MK: we should probably just redefine
-% omgroup@num and omgroup@nonum, since they do the actual work so that we can add the
-% sectocframes behavior here without having to copy the internals. Then there is less
-% material that can get out of sync. Additionally, we should have a hook in the original
-% code of those so that we can increment the slides counter in notes node (to keep slides
-% in sync)}
-%
-% \begin{macrocode}
-\ifmks@sty@notes\else% only in slides
-\def\part@prefix{\ifdefstring\mks@sty@topsect{part}{\arabic{mchapter}.}{}}
-\renewenvironment{omgroup}[2][]{%
- \metasetkeys{omgroup}{#1}\sref@target%
- \advance\section@level by 1%
- \ifmks@sty@sectocframes%
- \stepcounter{slide}
- \begin{frame}[noframenumbering]%
- \vfill\Large\centering%
- \red{%
- \ifcase\section@level\or
- \stepcounter{mpart}
- \def\@@label{Part \Roman{mpart}}
- \def\currentsectionlevel{part}
- \or%
- \stepcounter{mchapter}
- \def\@@label{Chapter \arabic{mchapter}}
- \def\currentsectionlevel{chapter}
- \or
- \stepcounter{msection}
- \def\@@label{\part@prefix\arabic{msection}}
- \def\currentsectionlevel{section}
- \or
- \stepcounter{msubsection}
- \def\@@label{\part@prefix\arabic{msection}.\arabic{msubsection}}
- \def\currentsectionlevel{subsection}
- \or
- \stepcounter{msubsubsection}
- \def\@@label{\part@prefix\arabic{msection}.\arabic{msubsection}.\arabic{msubsubsection}}
- \def\currentsectionlevel{subsubsection}
- \or
- \stepcounter{msubsubsubsection}
- \def\@@label{\part@prefix\arabic{msection}.\arabic{msubsection}.\arabic{msubsubsection}.\arabic{msubsubsubsection}}
- \def\currentsectionlevel{subsubsubsection}
- \fi% end ifcase
- \@@label\sref@label@id\@@label
- \quad #2%
- }%
- \vfill%
- \end{frame}%
- \fi %ifmks@sty@sectocframes
-}
-{\advance\section@level by -1}%
-\fi% ifmks@sty@notes
-% \end{macrocode}
-%
-% \subsection{Miscellaneous}
-%
-% We set up a |beamer| template for theorems like ams style, but without a block
-% environment.
-% \begin{macrocode}
-\def\inserttheorembodyfont{\normalfont}
-\defbeamertemplate{theorem begin}{miko}
-{\inserttheoremheadfont\inserttheoremname\inserttheoremnumber
- \ifx\inserttheoremaddition\@empty\else\ (\inserttheoremaddition)\fi%
- \inserttheorempunctuation\inserttheorembodyfont\xspace}
-\defbeamertemplate{theorem end}{miko}{}
-% \end{macrocode}
-% and we set it as the default one.
-% \begin{macrocode}
-\setbeamertemplate{theorems}[miko]
-% \end{macrocode}
-% The following fixes an error I do not understand, this has something to do with
-% beamer compatibility, which has similar definitions but only up to 1.
-% \begin{macrocode}
-\expandafter\def\csname Parent2\endcsname{}
-% \end{macrocode}
-% We need to disregard the columns macros introduced by the |beamer| class in the notes.
-% \begin{macrocode}
-\ifmks@sty@notes%
- \renewenvironment{columns}[1][]{%
- \par\noindent%
- \begin{minipage}%
- \slidewidth\centering\leavevmode%
- }{%
- \end{minipage}\par\noindent%
- }%
- \newsavebox\columnbox%
- \renewenvironment<>{column}[2][]{%
- \begin{lrbox}{\columnbox}\begin{minipage}{#2}%
- }{%
- \end{minipage}\end{lrbox}\usebox\columnbox%
- }%
-\fi% ifnotes
-% \end{macrocode}
-%
-% \begin{macrocode}
-\ifmks@sty@noproblems%
- \newenvironment{problems}{}{}%
-\else%
- \excludecomment{problems}%
-\fi%
-%</package>
-% \end{macrocode}
-% \Finale
-\endinput
-% \iffalse
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-% \fi
-% LocalWords: mikoslides dtx beamer omdoc notheorems noamsthm beamerarticle sc Licences
-% LocalWords: graphicx slidelabel stex amssymb tikz url CPERL amsmath filedate
-% LocalWords: LoadClass RequirePackage DefRegister DefEnvironment omgroup rgb frameimage
-% LocalWords: afterDigestBegin setProperty LookupValue DefConstructor hyperref Tantau's
-% LocalWords: cmyk lec DefMacro titleslide ttitle RawTeX metadata etoolbox cls emph ugbc
-% LocalWords: noproblems linkcolor bookmarksopen citecolor urlcolor colorlinks Tantau di
-% LocalWords: breaklinks plainpages pdfpagelabels srcref iffalse texttt atwin exfig dt
-% LocalWords: mytwocolumns twintoo atwintoo scsys sc hbox raisebox cnxml impl notesfile
-% LocalWords: scshape ttfamily cnxlatex mathml activemath fileversion newpage tpp99 dd
-% LocalWords: maketitle tableofcontents ednote compactitem showmeta showmeta beamerclass
-% LocalWords: sectocframes sectocframes textwarning textwarning compactenum eq omgroups
-% LocalWords: includegraphics tracissue printbibliography textsf langle textsf rangle
-% LocalWords: langle ltxml metakeys newif ifnotes notesfalse ifsectocframes rangle putat
-% LocalWords: sectocframesfalse ifproblems problemstrue notestrue marginnote frontmatter
-% LocalWords: problemsfalse sectocframestrue mdframed noxcolor newcounter ifx equinymous
-% LocalWords: Hfootnote usetheme tikzinput usepgflibrary usetikzlibrary rhd ignorespaces
-% LocalWords: tikzmark textcomp newlength slidewidth setlength slidewidth miko setkeys
-% LocalWords: slideheight slideheight renewenvironment excludecomment itenize Gin@ewidth
-% LocalWords: slideframewidth slideframewidth surroundwithmdframed addmetakey Gen@ewidth
-% LocalWords: allowframebreaks allowdisplaybreaks metasetkeys stepcounter sbox mpart baz
-% LocalWords: currentlabel theslide renewcommand scriptsize scriptstyle hspace mchapter
-% LocalWords: medskip linewidth skipabove skipbelow frametitle newenvironment msection
-% LocalWords: slidelogoheight newsavebox slidelogo slidelogo jacobs-logo vbox ifcase
-% LocalWords: Attribuition-ShareAlike copyrightnotice footnotesize cclogo vss minipage
-% LocalWords: cclogo somerights ifcchref cchreffalse ifpackageloaded usebox mycgraphics
-% LocalWords: cchreftrue usebox newcommand hfill hfill definecolor definecolor endinput
-% LocalWords: defemph notemph stDMemph STpresent textcolor textwarigrening ltx HorIacJuc
-% LocalWords: pgfdeclareimage dbend pgfuseimage xspace titleframe titlepage mycgraphics
-% LocalWords: titleframewith hline vspace ttitlejoint newbox boxwith boxwith msubsection
-% LocalWords: putgraphicsat beginomgroup ifnum vfill vfill noindent leavevmode cscpnrr11
-% LocalWords: columnbox lrbox needwrapper unlist omtext bgroup autoclose pgf readXToken
-% LocalWords: mygraphics doctex NeedsTeXFormat textbackslash userdefinedwidth foobar
-% LocalWords: includegrahics smalltextwarnings msubsubsection msubsubsubsection ldots
-% LocalWords: frameimages frameimages ifframeimages frameimagesfalse frameimagestrue
-% LocalWords: expandafter csname endcsname specializes customization flexiformal colors
-% LocalWords: initialize Initialization defindex realized itemize newrobustcmd
-% LocalWords: specialize centering itemizations setsource setlicensing