diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathtype.tex')
-rw-r--r-- | Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathtype.tex | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathtype.tex b/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathtype.tex new file mode 100644 index 00000000000..5ff00d2fa72 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathtype.tex @@ -0,0 +1,184 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrartcl} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{tudscrman} +\lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} + +\usepackage{mathtools} + +\begin{document} +\date{17.12.2014} +\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\Email{\tudscrmail}}} +\title{Ein Beitrag zum mathematischen Satz in \NoCaseChange{\hologo{LaTeXe}}} +\makeatletter +\begingroup% + \def\and{, }% + \let\thanks\@gobble% + \let\footnote\@gobble% + \hypersetup{% + pdfauthor = {\@author},% + pdftitle = {\@title},% + pdfsubject = {Mathematiksatz in \hologo{LaTeXe}},% + pdfkeywords = {LaTeX, \TUDScript, Tutorial, Mathematiksatz},% + }% +\endgroup% +\markright{\@title} +\makeatother +\StartTutorial +% +\begin{Preamble} +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman]{tudscrartcl}% andere Klassen sind möglich +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{microtype} + +\end{Preamble} +% +Zusätzlich wird das Paket \Package{amsmath} geladen, welches unter anderem die +in diesem Tutorial verwendeten Mathematikumgebungen \Environment{equation}, +\Environment{gathered} und \Environment{aligned} zur Verfügung stellt. +% +\begin{Preamble} +\usepackage{amsmath} +\end{Preamble} +% +Ein guter Mathematiksatz ist in \hologo{LaTeX} durchaus Sisyphusarbeit. Wenn +mikrotypographisch alles richtig gemacht werden soll, gibt es einiges zu +beachten. Generell gilt, dass Variablen kursiv, Bezeichnungen und Konstanten +aufrecht gesetzt werden. Um beschreibende Indizes bei Formelzeichen richtig zu +setzen, ist ohne weitere Maßnahmen die exzessive Nutzung der beiden Befehle +\Macro{mathrm}\PParameter{\dots} und \Macro{mathit}\PParameter{\dots} wohl oder +übel notwendig. Somit wird aus: +% +\begin{Trunk*} +\begin{equation*} +\begin{gathered} +M_{EM} = \frac{M_{Rad}}{i_g \cdot i_A} - M_{VM} \\ +\textrm{für } +\begin{aligned} +0\leq M_{VM}\leq M_{VMmax} \\ +M_{EMmin}\leq M_{EM}\leq M_{EMmax} +\end{aligned} +\end{gathered} +\end{equation*} + +\end{Trunk*} +% +mit ziemlich viel Anpassungsarbeit: +% +\begin{Trunk*} +\begin{equation*} +\begin{gathered} +M_\mathrm{EM} = \frac{M_\mathrm{Rad}}{i_g \cdot i_A} - M_\mathrm{VM} \\ +\textrm{für } +\begin{aligned} +0\leq M_\mathrm{VM}\leq M_\mathrm{VM_{max}} \\ +M_\mathrm{EM_{min}}\leq M_\mathrm{EM}\leq M_\mathrm{EM_{max}} +\end{aligned} +\end{gathered} +\end{equation*} + +\end{Trunk*} +% +Wie man sieht, ist dabei eine ganze Menge Handarbeit vonnöten. Allerdings lässt +sich das relativ gut vereinfachen lassen. Zu diesem Zwecke wird ein Befehl +\Macro{ind}\PParameter{\dots} für das Setzen von Indizes bei Formelzeichen +definiert. Danach kann man sich~-- wenn man das für nötig und sinnvoll +erachtet~-- noch zusätzliche Befehle für häufig verwendete Ausdrücke schnitzen. +Als Beispiel wird das schon eben genutzte Drehmoment \ensuremath{M} verwendet. +Hierfür könnte man Folgendes definieren: +% +\CodeHook{\let\newcommand\renewcommand} +\begin{Trunk*} +\newcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} +\newcommand*{\M}[1]{\ensuremath{M\ind{#1}}} + +\end{Trunk*} +% +und damit diese Ausgabe erzeugen: +% +\begin{Trunk*} +\begin{equation*} +\begin{gathered} +\M{EM} = \frac{\M{Rad}}{i_g \cdot i_A} - \M{VM} \\ +\textrm{für } +\begin{aligned} +0\leq \M{VM}\leq \M{VM_{max}} \\ +\M{EM_{min}}\leq \M{EM}\leq \M{EM_{max}} +\end{aligned} +\end{gathered} +\end{equation*} + +\end{Trunk*} +% +Netter Nebeneffekt ist, dass man den Befehl aufgrund der Verwendung von +\Macro{ensuremath}\PParameter{\dots} nun auch im Fließtext verwenden kann, +beispielsweise wie hier \M{VM_{ind}} (\Macro{M}\PParameter{VM\_\{ind\}}) für +das induzierte Moment einer Verbrennungskraftmaschine. + +Möchte man es sich noch bequemer machen, strikt man sich noch eine Lösung, in +der man~-- im Gegensatz zum \hologo{LaTeX}"=Standardfall~-- \textbf{nach} dem +obligatorischen Argument noch ein optionales für einen weiteren Index angeben +kann, um damit der natürlichen Schreibweise zu entsprechen. Es wird der Befehl +\Macro{M} so definiert, das dieser entweder mit \Macro{M}\Parameter{Index} +oder in der Variante \Macro{M}\Parameter{Index}\OParameter{Indexindex} +genutzt +werden kann. +% +\CodeHook{\let\newcommand\renewcommand} +\begin{Trunk*} +\renewcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} +\makeatletter +\renewcommand*{\M}[1]{\@ifnextchar[{\o@M{#1}}{\n@M{#1}}} +\newcommand*{\n@M}{} +\newcommand*{\o@M}{} +\def\n@M#1{\ensuremath{M\ind{#1}}} +\def\o@M#1[#2]{\ensuremath{M\ind{#1_{#2}}}} +\makeatother + +\end{Trunk*} +% +Somit vereinfacht sich das zu Beginn vorgestellte Beispiel recht deutlich: +% +\begin{Trunk*} +\begin{equation*} +\begin{gathered} +\M{EM} = \frac{\M{Rad}}{i_g \cdot i\_A} - \M{VM} \\ +\textrm{für } +\begin{aligned} +0\leq \M{VM}\leq \M{VM}[max] \\ +\M{EM}[min]\leq \M{EM}\leq \M{EM}[max] +\end{aligned} +\end{gathered} +\end{equation*} +\end{Trunk*} +% +Das Definieren von \Macro{M}\Parameter{Index}\OParameter{Indexindex} mit +angehängtem optionalen Argument ist ehrlich gesagt nur ein wenig Spielerei und +soll zeigen, wie dies prinzipiell mit \hologo{LaTeXe}"=Mitteln funktioniert. +Das Paket \Package{xparse} könnte alternativ zum hier vorgestellten Vorgehen +für die Befehlsdeklaration des optionalen \textbf{nach} dem obligatorischen +Argument genutzt werden. Damit würde die Befehlsdeklaration für \Macro{M} +folgendermaßen lauten: +\begin{Hint} +\NewDocumentCommand \M { m o } {% + \ensuremath{% + M\ind{% + #1 + \IfNoValueTF{#2}{}{_{#2}} + }% + }% +} +\end{Hint} +% +\FinishTutorial +\end{document} |