Advertisement
nuit

mpglecture.cls

Aug 22nd, 2011
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Latex 15.37 KB | None | 0 0
  1. %=====================================================================================================================================
  2. % Class mpglecture by Jan Hörsch @ 2009
  3. % Adapted from mpglecture by Jonas Hörsch @ 2007
  4. % Adapted from akklecture by Igor Akkerman (c) 2005
  5. % Class for typesetting lecture notes.
  6. %
  7. % This work may be distributed and/or modified under the
  8. % conditions of the LaTeX Project Public License (latest version).
  9. %
  10. % The latest version of this license can be found at
  11. %     http://www.latex-project.org/lppl.txt
  12. %
  13. %=====================================================================================================================================
  14. \NeedsTeXFormat{LaTeX2e}[1995/12/01]
  15. \ProvidesClass{mpglecture}[2007/05/21 Class for typesetting Mathematik]
  16. %=====================================================================================================================================
  17.  
  18. \makeatletter
  19.  
  20. % Initialisierungsteil
  21. \AtBeginDocument{%
  22. %    \maketitle%
  23. }
  24.  
  25. \AtEndDocument{%
  26.     \label{lastpage}%
  27. }
  28.  
  29. % Deklaration von Optionen
  30. \DeclareOption {10pt}     {\PassOptionsToClass   {10pt}     {scrartcl}}
  31. \DeclareOption {11pt}     {\PassOptionsToClass   {11pt}     {scrartcl}}
  32. \DeclareOption {12pt}     {\PassOptionsToClass   {12pt}     {scrartcl}}
  33. \DeclareOption {draft}    {\PassOptionsToClass   {draft}    {scrartcl}}
  34. \DeclareOption {final}    {\PassOptionsToClass   {final}    {scrartcl}}
  35.  
  36. %\DeclareOption {widepage} {\PassOptionsToPackage {widepage} {akktex}}          Auskommentiert. Kai
  37. %\DeclareOption {longpage} {\PassOptionsToPackage {longpage} {akktex}}          Auskommentiert. Kai
  38.  
  39. % Ausfuehrung von Optionen
  40. \ProcessOptions
  41.  
  42. % Laden von Paketen
  43. \LoadClass[a4paper,fleqn]{scrartcl}
  44. \RequirePackage[
  45.     %longpage,widepage                  Auskommentiert. Kai
  46.         ]{akktex}
  47. %\RequirePackage{pdfsync}
  48. \RequirePackage[latin1]{inputenc} % <- besser waere utf-8, kann texniccenter aber nicht
  49. \RequirePackage{ngerman}
  50. \RequirePackage{graphicx}
  51. \RequirePackage{fancyhdr}
  52. \RequirePackage{picinpar}
  53. %\RequirePackage{picins}
  54. \RequirePackage{subfig}
  55. \RequirePackage{epstopdf}
  56. \RequirePackage{color}
  57. \usepackage{enumerate}
  58. \usepackage{enumitem}
  59. \usepackage{stmaryrd}
  60. \usepackage{floatflt}
  61. \usepackage{tikz}
  62. \usetikzlibrary{arrows}
  63. \usepackage{index}
  64.  \newindex{default}{idx}{ind}{Schlagwortverzeichnis}
  65.  % \newindex{name}{adx}{and}{Namensverzeichnis}
  66. %\RequirePackage{mathbbol}         Scheint miktex probleme zu machen
  67. %\RequirePackage[all]{xy}
  68. \RequirePackage[pdftex,bookmarks,colorlinks]{hyperref}
  69.  
  70.  
  71. % ---------------------------------------------------------
  72. % set headers / footer
  73. % ---------------------------------------------------------
  74. \pagestyle{fancy}
  75. \setlength{\oddsidemargin}{-2.4mm}
  76. \setlength{\footskip}{23mm}
  77. \setlength{\headheight}{1.25cm}
  78. \setlength{\headwidth}{167mm}
  79.         %\setlength \headheight \baselineskip  % maximum number of rows in header: 1    Auskommentiert. Kai
  80.         %\setlength \headsep    \baselineskip  % vertical space between header and text Auskommentiert. Kai
  81. \setlength{\headsep}{7.5mm}
  82. \setlength{\textwidth}{167mm}
  83. \setlength{\textheight}{222.5mm}
  84.  
  85. \lhead{}
  86. \chead{%\thepage/\pageref{lastpage}
  87.     }
  88. %\rhead{\@title}
  89. \lfoot{}
  90. \cfoot{\thepage}
  91. \rfoot{}
  92.  
  93. % ---------------------------------------------------------
  94. % remove \abstract command
  95. % ---------------------------------------------------------
  96. \global\let\abstract\relax
  97.  
  98. % ---------------------------------------------------------
  99. % definition of the \maketitle command
  100. % ---------------------------------------------------------
  101. \newcommand \akk@subtitle {}
  102. %\newcommand \subtitle[1] {%
  103. %    \renewcommand \akk@subtitle {#1}%
  104. %}
  105.  
  106. \newcommand \akk@maketitle {%
  107.     \begin{titlepage}%
  108.         \let \footnotesize \small
  109.         \let \footnoterule \relax
  110.         \let \footnote \thanks
  111.         \null\vfil
  112.         %\vskip 60\p@
  113.      %   \akk@widepage@setorigvalues%
  114.         \hspace*\fill
  115.             \begin{center}%
  116.                 \begin{Huge}%
  117.                     \bfseries%
  118.                     \@title\makebox[0pt]{\phantom{Mg}}%
  119.                     \\%
  120.                 \end{Huge}%
  121.                  \ifset{akk@subtitle} {%
  122.                     \vspace{2ex}%
  123.                     \begin{large}%
  124.                         \akk@subtitle%
  125.                         \\%
  126.                     \end{large}%
  127.                 }
  128.                 \vspace{3ex}%
  129.                 \begin{Large}%
  130.                     \bfseries%
  131.                     \begin{tabular}[t]{c}%
  132.                         \@author\makebox[0pt]{\phantom{Mg}}%
  133.                     \end{tabular}%
  134.                     \\%
  135.                 \end{Large}%
  136.                 \ifbooltrue{akk@datetitle} {%
  137.                     \vspace{3ex}%
  138.                     \begin{large}%\bfseries%
  139.                         \@date\\%
  140.                     \end{large}%
  141.                 }%
  142.                 \vspace{2ex}%
  143.             \end{center}%
  144.         \hspace*\fill
  145.         \par
  146.         \@thanks
  147.         \vfil\null
  148.     \end{titlepage}%
  149.     \setcounter{footnote}{0}%
  150.     \global\let\thanks\relax
  151.     \global\let\maketitle\relax
  152.     \global\let\@thanks\@empty
  153.     \global\let\@author\@empty
  154.     \global\let\@date\@empty
  155.     \global\let\@title\@empty
  156.     \global\let\title\relax
  157.     \global\let\author\relax
  158.     \global\let\date\relax
  159.     \global\let\and\relax
  160. }
  161.  
  162. % ---------------------------------------------------------
  163. % theorem environments definition
  164. % ---------------------------------------------------------
  165. % needs to be defined here because it doesn't use section numbers
  166. % ---------------------------------------------------------
  167.  
  168. \def\th@exercise{\normalfont\itshape
  169.   \def\@begintheorem##1##2{%
  170.         \item[\hskip\labelsep \theorem@headerfont ##1\ ##2:]}%
  171. \def\@opargbegintheorem##1##2##3{%
  172.    \item[\hskip\labelsep \theorem@headerfont ##1\ ##2:\ (##3)]}}
  173.  
  174. % ----
  175.  
  176. \theoremstyle{plain}
  177.  
  178. \theorembodyfont{\rmfamily\upshape}
  179. \newtheorem      {definition}               {Definition} %[section]
  180. \newtheorem      {behauptung}{Behauptung} [section]
  181. \newtheorem      {lemma}         {Lemma}  [section]
  182. \newtheorem      {korollar}       {Korollar}  [section]
  183. \newtheorem      {bemerkung}{Bemerkung}   [section]
  184.  
  185. \theoremstyle{exercise}
  186. \newtheorem      {beispiel}       {Beispiel} [section]
  187.  
  188. \theoremstyle{break}
  189. \theorembodyfont {\rmfamily\itshape}
  190. \newtheorem      {satz}        [definition] {Satz}
  191. % ---------------------------------------------------------
  192.  
  193. % ----------------------------------------------------------
  194. \makeatletter
  195. \renewcommand*\env@matrix[1][*\c@MaxMatrixCols c]{%
  196.     \hskip -\arraycolsep
  197.         \let\@ifnextchar\new@ifnextchar
  198.             \array{#1}}
  199.  
  200. % ----------------------------------------------------------
  201.  
  202.  
  203. \renewcommand{\theequation}{\thesection.\arabic{equation}}
  204. \catcode`@=11
  205. \@addtoreset{equation}{section}
  206. \catcode`@=12
  207.  
  208. \newcommand{\dir}{.}
  209. %\newcommand{\lade}[2]{\date{#2} \global\def\dir{#1} \ladeteil{#1}{1} \ladeteil{#1}{2} \ladeteil{#1}{3} \ladeteil{#1}{4} \ladeteil{#1}{5} \ladeteil{#1}{6}}
  210. %\newcommand{\lade}[2]{\rhead{#1 - #2} \global\def\dir{section#1} \ladeteil{section#1}{1}}
  211. \newcommand{\lade}[2]{
  212.     \global\def\dir{section#1}
  213.     \pagebreak
  214.     \rhead{#1 - #2}
  215.     \section{#2}
  216.     \input{section#1/Teil1}
  217. }
  218. %\newcommand{\ladeteil}[2]{ %
  219. %\pagebreak
  220. %\input{#1/teil1}}
  221. %\InputIfFileExists{#1/teil#2}{} %
  222. %   \par{\parbox{1.05\textwidth}{ %
  223. %       \flushright \textcolor[gray]{0.5}{#1}\par} %/teil#2.tex
  224.         %\flushright \textcolor[gray]{0.5}{}\par} %
  225. %       }\par}{ %
  226. %   \par\vspace{5pt}\framebox[\textwidth]{\parbox{\textwidth}{ %
  227.         %\vspace{2cm}\centering Hier \textbf{fehlt} noch {\Large\bf Teil #2}!\vspace{2cm} (Wo ist der Schuldige!)}}
  228. %       \vspace{2cm}\centering Hier \textbf{fehlt} noch das Skript!\vspace{2cm}}
  229. %   \vspace{5pt}\par
  230. %}}
  231.  
  232. %%%%%%%%%%%%%%%%%%%%
  233. %
  234. %   Ab hier lohnt es sich mal einen kurzen Blick drüberzuwerfen
  235. %
  236. %
  237. %%%%%%%%%%%%%%%%%%%%
  238.  
  239. % Wenn irgendwo Unklarheiten zum Inhalt im Skript auftreten, können sie
  240. % einfach mit \help{Ich verstehe das nicht} hervorgehoben werden. Dies
  241. % macht es leichter sie alle zu finden und auch ganz einfach
  242. % auszublenden, indem man den Befehl einfach leer definiert
  243. \newcommand*{\help}[1]{{\color{green}{#1}}}
  244.  
  245. % Um wichtige Begriffe im Text überall gleich vorzuheben (gleiches
  246. % Markup), sollte dieser Befehl verwendet werden. Das Argument wird
  247. % automatisch als Indexeintrag verwendet. Dieser kann aber auch als
  248. % optionales Argument selbst bestimmt werden.
  249. \newcommand*{\highl}[2][]{\textbf{\boldmath{#2}}%
  250.   \ifthenelse{\equal{#1}{}}{\index{#2}}{\index{#1}}%
  251. }
  252.  
  253. % Befehl für die Darstellung der Gliederungsüberschriften im Index
  254. \newcommand*{\lettergroup}[1]{\minisec{#1}}
  255.  
  256. % Für Leute, die nicht gern o.\,B.\,d.\,A. jedesmal eintippen wollen
  257. %\newcommand*{\obda}{o.\,B.\,d.\,A.\xspace}
  258.  
  259. % Diese Befehle sind dafür gedacht, dass die Symbole für "genau dann wenn"
  260. % im ganzen Dokument gleich aussehen. Außerdem erlaubt es eine schnelle
  261. % Veränderung aller Stellen, falls der Prof. doch nicht mehr gdw nimmt,
  262. % sondern \Leftrightarrow.
  263. %\newcommand*{\gdw}{\ifthenelse{\boolean{mmode}}%
  264. %                  {\mspace{8mu}gdw\mspace{8mu}}%
  265. %                  {$gdw$\xspace}}
  266. %\newcommand*{\gdwdef}{\ifthenelse{\boolean{mmode}}%
  267. %                  {\mspace{8mu}gdw_{def}\mspace{8mu}}%
  268. %                  {$gdw_{def}$\xspace}}
  269.  
  270.  
  271. \renewcommand{\C}{\mathbb{C}} % komplexe Zahlen
  272. \renewcommand{\H}{\mathbb{H}} % hmmm ...
  273. \newcommand{\I}{\id} % <- verwende ich gerne als Einheitsmatrix
  274. \newcommand{\K}{\mathbb{K}}
  275. \newcommand{\N}{\mathbb{N}}
  276. \newcommand{\Q}{\mathbb{Q}}
  277. \newcommand{\R}{\mathbb{R}}
  278. \newcommand{\Z}{\mathbb{Z}}
  279. \newcommand{\MA}{\mathcal{A}}
  280. \newcommand{\MB}{\mathcal{B}}
  281. \newcommand{\MT}{\mathcal{T}}
  282. \newcommand{\landau}{\mathcal{O}} % Landau
  283. \renewcommand{\c}{\mathcal{C}} % geschwungenes C, wie in k mal stetig-diffbar
  284. \newcommand{\X}{\mathcal{X}} % charakteristisches Poly
  285.  
  286. \renewcommand{\eps}{\varepsilon}
  287.  
  288. \newcommand{\EX}{\mathbb{E}X}
  289. \newcommand{\Y}{Y }
  290. \renewcommand{\P}{\mathbb{P}}
  291. \newcommand{\E}{\mathcal{E}}
  292. \newcommand{\ar}{\curvearrowright}
  293. \newcommand{\lb}{\left\{}               %kleine Klammer {
  294. \newcommand{\blb}{\bigl\{} %grosse Klammer {
  295. \newcommand{\bblb}{\biggl\{} %ganz grosse Klammer {
  296. \newcommand{\rb}{\right\}}  %kleine Klammer }
  297. \newcommand{\brb}{\bigr\}} %grosse Klammer }
  298. \newcommand{\bbrb}{\biggr\}} %ganz grosse Klammer }
  299.  
  300. \newcommand{\p}{\partial}  %partielle Ableitung
  301. \def\id{{1\mkern-4mu \rm I}} % Einheitsmatrix
  302.  
  303. \def\dbar{{\mathchar'26\mkern-12mu d}} %gestrichenes d
  304. \renewcommand{\d}[1]{\,\mathrm{d#1}} % Differential abgrenzen z.B. \d x -> ' dx'
  305. \newcommand{\ent}[1]{\mathsf{#1}} % für Einheiten
  306. \newcommand{\f}[1]{\text{#1}} % für funktionen
  307. \newcommand{\efrac}[2]{\ent{\frac{#1}{#2}}} % für Einheitsbrüche
  308. \newcommand{\Rn}[1]{\mathrm{\uppercase\expandafter{\romannumeral #1}}} % römische Zahl mit \Rn{23}
  309.  
  310. %\newcommand{\vektor}[1][\omega]{\ensuremath{\lb#1_1,\ldots,#1_n\rb}}
  311. \newcommand{\vol}{V\!ol}
  312.  
  313. % über irgendwas Text drüberschreiben z.B. 7 \toverset{hä?}{=} 10
  314. \newcommand{\toverset}[2]{\overset{\text{#1}}{#2}}
  315. % (um Mathe über was drüberzuschreiben einfach \overset{7+3}{=} (ohne t) verwenden
  316. \newcommand{\moverset}[2]{\overset{\substack{#1}}{#2}} % mehrzeilig \moverset{7 + 3 \\ \text{oder?}}{=}
  317.  
  318.  
  319. % Extreme Abkürzungen
  320. \newcommand{\bex}{\textbf{Beispiel:} }
  321. \newcommand{\eex}{}
  322. \newcommand{\bs}[1]{\textbf{Satz #1:} }
  323. \newcommand{\bhs}[1]{\textbf{Hilfssatz #1:} }
  324. \newcommand{\bb}{\textbf{Beweis:} }
  325. \newcommand{\eb}{\hfill $\Box$ \\}
  326. \newcommand{\bbm}{\textbf{Bemerkung:} }
  327. \newcommand{\bh}{\textbf{Behauptung:} }
  328. \newcommand{\bk}{\textbf{Korollar:} }
  329. \newcommand{\ek}{}
  330. \newcommand{\blem}[1]{\textbf{Lemma #1:}}
  331. \newcommand{\bd}[1]{\textbf{Definition #1:}}
  332.  
  333. \newcommand{\bnot}[1]{\textbf{Notation:} #1 \\}
  334. \newcommand{\bkon}{\textbf{Konvention:}\\}
  335. \newcommand{\bfolg}{\textbf{Folgerung:} }
  336. \newenvironment{beispiele}{\bex \begin{enumerate}[label=\arabic*)]}{\end{enumerate} \eex }
  337. %\newenvironment{beispiele}{\bex}{\eex }
  338.  
  339.  
  340. \newcommand{\be}{\begin{equation*}} % Mathezeile ohne Nummer: \be 7+9 = 16 \ee
  341. \newcommand{\ee}{\end{equation*}}
  342. \newcommand{\ben}{\begin{equation}} % Mathezeile mit Nummer \ben 5+3 = 8 \een
  343. \newcommand{\een}{\end{equation}}
  344.  
  345. \newcommand{\blist}[1]{\begin{enumerate}[label=#1]}
  346. \newcommand{\elist}{\end{enumerate}}
  347.  
  348. %\def\bb#1\eb{\textbf{Beweis:} #1 \hfill $\Box$\\}
  349.  
  350. \def\<#1,#2\>{\langle\,#1,\,#2\,\rangle} % Skalarprodukt: \<v,w>
  351. \def\bal#1\eal{\begin{align*}#1\end{align*}} % ausgerichtete Zeilen Mathe \bal 7 &= 12 - 5 \\ &= 7 + 5 - 5 \eal
  352. \def\baln#1\ealn{\begin{align}#1\end{align}} % wie oben mit Nummer
  353. \def\bg#1\eg{\begin{gather*}#1\end{gather*}}  % Mehrere Mathezeilen ohne Ausrichtung \bg ... \\ ... \eg
  354. \def\bgn#1\egn{\begin{gather}#1\end{gather}}  % wie oben mit Nummer
  355. \def\bali#1\eali{\parbox{5in}{\bal #1 \eal}}
  356. \def\bgi#1\egi{\parbox{5in}{\bg #1 \eg}}
  357.  
  358. \def\bcl#1\ecl{\bblb\begin{matrix}[l]#1\end{matrix}}
  359. \def\bcr#1\ecr{\begin{matrix}[r]#1\end{matrix}\bbrb}
  360. \def\bcb#1\ecb{\bblb\begin{matrix}#1\end{matrix}\bbrb}
  361.  
  362. \def\bpml#1\epml{\begin{pmatrix}#1\end{pmatrix}}
  363.  
  364. \newcommand{\liml}{\lim\limits} % hinter den limes innerhalb $ .. $ muss man immer \limits schreiben, damit er gut aussieht, bzw jetzt einfach \ilim
  365. \newcommand{\suml}{\sum\limits}
  366. \newcommand{\intl}{\int\limits}
  367.  
  368. \newcommand{\Ra}{\Rightarrow} % Folgepfeil: \Ra
  369. \newcommand{\La}{\Leftarrow}
  370. \newcommand{\rar}{\rightarrow}
  371. \newcommand{\rab}[1]{\toverset{#1}{\rightarrow}}
  372. \newcommand{\rrar}{\rightarrow} % Mit kringel links
  373. \newcommand{\rarr}{\rightarrow} % -->>
  374. \newcommand{\Rab}[1]{\toverset{#1}{\Rightarrow}} % begründeter Folgepfeil (mit Text drüber): \Rab{stetig}
  375. \newcommand{\Lra}{\Leftrightarrow} % Equivalenzpfeil: \Lra
  376. \newcommand{\Lrab}[1]{\toverset{#1}{\Leftrightarrow}}
  377.  
  378.  
  379.  
  380. \newcommand{\without}{\backslash} % Ausschliessende Menge
  381. \newcommand{\vektor}[2]{{#1 \choose #2}}
  382. \newcommand{\ora}[1]{\overrightarrow{#1}}
  383.  
  384. %\newcommand{\refb}[1]{\color{black}{\ref{#1}.}
  385.  
  386. % Hier bitte Mathe-"operatoren", wie arsinh und so erzeugen, falls es sie noch nicht gibt
  387. \DeclareMathOperator{\arsinh}{arsinh}
  388. \DeclareMathOperator{\rot}{\mathrm{rot}\,}
  389.  
  390. \newcommand{\contra}{\lightning}
  391.  
  392. \newcommand{\bor}{\text{ oder }}
  393. \newcommand{\band}{\text{ und }}
  394.  
  395. \newcommand{\qfa}{\quad\forall}
  396. \newcommand{\fa}{\forall}
  397. \newcommand{\qex}{\quad\exists}
  398.  
  399. \newcommand{\bcap}{\bigcap\limits}
  400. \newcommand{\bcup}{\bigcup\limits}
  401.  
  402. \newcommand{\im}{\f{Im}}
  403.  
  404. \newcommand{\aeclass}[2]{{}^{#1}/{}_{#2}}
  405.  
  406. \newcommand{\tl}{\vartriangleleft}
  407.  
  408.  
  409. \renewcommand{\bar}{\overline}
  410.  
  411. \newcommand{\cupdisjunkt}{\cup}
  412.  
  413. \DeclareMathOperator{\discup}{\cup}
  414. \DeclareMathOperator*{\bigdiscup}{\bigcup}
  415. %\DeclareMathOperator*{\bigoplus}{\bigoplus}
  416.  
  417. \newcommand{\pcirc}{\circ}
  418. %\newcommand{\*}{\cdot}
  419.  
  420. %\newcommand{\fehlt}[1]{\vspace{2cm}\centering #1 \vspace{2cm}\vspace{5pt}}
  421.  
  422.  
  423. \newcommand{\fehlt}[1]{ %
  424.        
  425.     \vspace{5pt}\framebox[\textwidth]{\parbox{\textwidth}{ %
  426.                \vspace{2cm}\centering #1 \vspace{2cm}}
  427.       \vspace{5pt}
  428. }}
  429.  
  430. \newcommand{\textbox}[1]{{#1}}
  431.  
  432.  
  433. \newcommand{\datum}[1]{}
  434.  
  435. \makeatletter
  436. \def\myMathBox{\@ifnextchar[{\my@MBoxi}{\my@MBoxi[black]}}
  437. \def\my@MBoxi[#1]{\@ifnextchar[{\my@MBoxii[#1]}{\my@MBoxii[#1][white]}}
  438. \def\my@MBoxii[#1][#2]#3#4{
  439.     \par \noindent
  440.     \fcolorbox{#1}{#2}{
  441.         \parbox{\linewidth-\labelwidth-2\fboxrule-2\fboxsep}{#3}
  442.     }
  443.     \parbox{\labelwidth}{
  444.         \begin{eqnarray}\label{#4}\end{eqnarray}
  445.     }
  446.     \par
  447. }
  448. \makeatother
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement