% \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 %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\ProvidesClass{mikoslides}[2016/04/07 v1.1 Jacobs slides Class] %\ProvidesPackage{mikoslides}[2016/04/07 v1.1 Jacobs slides Package] % %<*driver> \documentclass{ltxdoc} \usepackage{url,array,float,xspace} \usepackage[show]{ed} \usepackage{graphicx} \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\tracissue#1{\cite{sTeX:online}, \hyperlink{http://trac.kwarc.info/sTeX/ticket/#1}{issue #1}} \usepackage{hyperref} \begin{document}\DocInput{mikoslides.dtx}\end{document} % % \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} % % \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\latexml{\hbox{{\LaTeX}ML}\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\\ % Jacobs University, Bremen\\ % \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} % % This Document class is derived from |beamer.cls|~\cite{beamerclass:on}, specializes it % with a simple theme (Jacobs as a default) and 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{compactitem} % \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. % \end{compactitem} % % \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|). % % \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{compactenum} % \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{compactenum} % % \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. % % \begin{macrocode} %<*cls> \newif\ifnotes\notesfalse \DeclareOption{notes}{\notestrue\PassOptionsToPackage{\CurrentOption}{mikoslides}} \DeclareOption{slides}{\notesfalse\PassOptionsToPackage{\CurrentOption}{mikoslides}} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{omdoc} \PassOptionsToClass{\CurrentOption}{beamer} \PassOptionsToPackage{\CurrentOption}{mikoslides}} \ProcessOptions % % \end{macrocode} % now we do the same for the |mikoslides| package. Note that we also have to define the % same switches\ednote{MK: we may think about making all of them internal}, since we might % use |mikoslides.sty| in a different class. % \begin{macrocode} %<*package> \newif\if@mikoslides@mh@\@mikoslides@mh@false \DeclareOption{mh}{\@mikoslides@mh@true \PassOptionsToPackage{\CurrentOption}{stex} \PassOptionsToPackage{\CurrentOption}{smglom} \PassOptionsToPackage{\CurrentOption}{tikzinput}} \newif\ifnotes\notesfalse \DeclareOption{notes}{\notestrue} \DeclareOption{slides}{\notesfalse} \newif\ifsectocframes\sectocframesfalse \DeclareOption{sectocframes}{\sectocframestrue} \newif\ifframeimages\frameimagesfalse \DeclareOption{frameimages}{\frameimagestrue} \newif\if@part\@partfalse \DeclareOption{report}{\@parttrue\PassOptionsToPackage{\CurrentOption}{omdoc}} \DeclareOption{book}{\@parttrue\PassOptionsToPackage{\CurrentOption}{omdoc}} \newif\ifproblems\problemstrue \DeclareOption{noproblems}{\problemsfalse} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{stex} \PassOptionsToPackage{\CurrentOption}{smglom} \PassOptionsToPackage{\CurrentOption}{tikzinput}} \ProcessOptions % % \end{macrocode} % % Depending on the options, we either load the |article|-based |omdoc| or the |beamer| % class. In the first case, 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. On the \latexml % side we just load the omdoc class and provide the |\usetheme| macro that would otherwise % from the the |beamer| class. % \begin{macrocode} %<*cls> \ifnotes \LoadClass{omdoc} \RequirePackage{a4wide} \RequirePackage{marginnote} \RequirePackage{mdframed} \RequirePackage[notheorems,noamsthm,noxcolor]{beamerarticle} \RequirePackage[bookmarks,bookmarksopen,bookmarksnumbered,breaklinks, linkcolor=black,citecolor=black,urlcolor=cyan,filecolor=cyan,colorlinks]{hyperref} \else \LoadClass[notheorems,noamsthm,10pt]{beamer} \newcounter{Item} \newcounter{paragraph} \newcounter{subparagraph} \newcounter{Hfootnote} \usetheme{Jacobs} \fi \RequirePackage{mikoslides} % % \end{macrocode} % % now, we load the remaining packages for both versions. % % \begin{macrocode} %<*package> \if@mikoslides@mh@\RequirePackage{mikoslides-mh}\fi \RequirePackage{stex} \RequirePackage{smglom} \RequirePackage{tikzinput} \RequirePackage{amssymb} \RequirePackage{amsmath} \RequirePackage{comment} \RequirePackage{textcomp} \RequirePackage{url} % \end{macrocode} % % \subsection{Notes and Slides}\label{sec:impl:noteslides} % % 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} \ifnotes% \renewenvironment{note}{\ignorespaces}{}% \else% \excludecomment{note}% \fi% % \end{macrocode} % \end{environment} % % % We start by giving the {\latexml} binding for the |frame| environment from the |beamer| % class. 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} \ifnotes \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} % \end{macrocode} % We redefine the |itemize| environment so that it looks more like the one in |beamer| % with |Jacobs| theme. We create the box with the |mdframed| environment from the % equinymous package. % Then 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| % with |Jacobs| theme. % \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}% \ifframeimages% \def\Gin@ewidth{}\setkeys{Gin}{#1}% \ifnotes% \else% \vfill% \fi% \ifx\Gin@ewidth\@empty% \mycgraphics[width=\slidewidth,#1]{#2}\else\mycgraphics[#1]{#2}% \fi% \par\strut\hfill{\footnotesize Slide \arabic{slide}}% \ifnotes% \else% \vfill% \fi% \fi% }% ifframeimages % \end{macrocode} % \end{macro} % % \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} \ifnotes% \setlength{\slidelogoheight}{.4cm}% \else% \setlength{\slidelogoheight}{1cm}% \fi% \newsavebox{\slidelogo}% \sbox{\slidelogo}{\includegraphics[height=\slidelogoheight]{jacobs-logo}}% \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} % % 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=.9em]{miko@small@dbend}{dangerous-bend} \def\smalltextwarning{% \pgfuseimage{miko@small@dbend}% \xspace% }% \pgfdeclareimage[width=1.5em]{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} % % \subsection{Front Matter, Titles, etc} % % We need to redefine the frontmatter macros inherited from the |beamer| class for % LaTeXML, since there they take an optional argument. % \begin{macrocode} % \end{macrocode} % \begin{macrocode} % Must be first command on slide to make positioning work. \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 % \begin{macrocode} \ifsectocframes% \if@part% \newcounter{mpart}% \newcounter{mchapter}% \newcounter{msection}[mchapter]% \else% \newcounter{msection}% \fi% \newcounter{msubsection}[msection]% \newcounter{msubsubsection}[msubsection]% \newcounter{msubsubsubsection}[msubsubsection]% \fi% ifsectocframes % \end{macrocode} % and then % \begin{macrocode} \ifnotes\else% only in slides \renewenvironment{omgroup}[2][]{% \metasetkeys{omgroup}{#1}\sref@target% \advance\section@level by 1% \ifsectocframes% \begin{frame}% \vfill\Large\centering% \red{% \ifcase\section@level\or% \stepcounter{mpart}Part \Roman{mpart}\or% \stepcounter{mchapter}Chapter \arabic{mchapter}\or \stepcounter{msection}\if@part\arabic{mchapter}.\fi\arabic{msection}\or \stepcounter{msubsection}\if@part\arabic{mchapter}.\fi\arabic{msection}.\arabic{msubsection}\or \stepcounter{msubsubsection}\if@part\arabic{mchapter}.\fi\arabic{msection}.\arabic{msubsection}.\arabic{msubsubsection}.\or \stepcounter{msubsubsubsection}\if@part\arabic{mchapter}.\fi\arabic{msection}.\arabic{msubsection}.\arabic{msubsubsection}.\arabic{msubsubsubsection}% \fi% end ifcase \quad #2% }% \vfill% \end{frame}% \fi %ifsectocframes } {\advance\section@level by -1}% \fi% ifnotes % \end{macrocode} % % \subsection{Miscellaneous} % % 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{} % \begin{macrocode} % % We need to disregard the columns macros introduced by the |beamer| class % \begin{macrocode} \ifnotes% \renewenvironment{columns}{% \par\noindent% \begin{minipage}% \slidewidth\centering\leavevmode% }{% \end{minipage}\par\noindent% }% \newsavebox\columnbox% \renewenvironment{column}[1]{% \begin{lrbox}{\columnbox}\begin{minipage}{#1}% }{% \end{minipage}\end{lrbox}\usebox\columnbox% }% \fi% % \end{macrocode} % Now, some things that are imported from the |pgf| and |beamer| packages: % \begin{macrocode} % \end{macrocode} % % % \begin{macrocode} \ifproblems% \newenvironment{problems}{}{}% \else% \excludecomment{problems}% \fi% % % \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 latexml 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 smalltextwarning 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