From 5687445995dd605a337faa1dc6a60c8070f60891 Mon Sep 17 00:00:00 2001 From: Martin Zellner Date: Mon, 24 Jun 2013 16:54:28 +0200 Subject: [PATCH] Hallo --- .DS_Store | Bin 0 -> 6148 bytes .dropbox | 1 + "Icon\r" | 0 ST2FS.tex | 581 + Schaltungstechnik.tex | 229 + img/Induktivitat.pdf | Bin 0 -> 4673 bytes img/Kapazivitat.pdf | Bin 0 -> 4156 bytes img/Logo.pdf | Bin 0 -> 154182 bytes img/Memristivitat.pdf | Bin 0 -> 4361 bytes img/NIK.pdf | Bin 0 -> 7674 bytes img/Phasenportraits.svg | 17463 ++++++++++++++++ img/Resistivitat.pdf | Bin 0 -> 4202 bytes img/Schaltsymbole nach EN 60617.svg | 4222 ++++ img/Schaltung1Grad.pdf | Bin 0 -> 8228 bytes img/Zeiger.pdf | Bin 0 -> 7687 bytes img/astablemultivib.pdf | Bin 0 -> 12718 bytes img/bistablemultivib.pdf | Bin 0 -> 13333 bytes img/bodesquare.pdf | Bin 0 -> 12014 bytes img/capacitor.pdf | Bin 0 -> 1034 bytes img/char/PP_Sadle.pdf | Bin 0 -> 6440 bytes img/char/PP_Whirl.pdf | Bin 0 -> 4251 bytes img/char/PP_stableFocus.pdf | Bin 0 -> 4661 bytes img/char/PP_stableLine.pdf | Bin 0 -> 6496 bytes img/char/PP_stableNode.pdf | Bin 0 -> 6406 bytes img/char/PP_stableStarNode.pdf | Bin 0 -> 6464 bytes img/char/PP_stableWhirlNode.pdf | Bin 0 -> 6403 bytes img/char/PP_stableZero.pdf | Bin 0 -> 6773 bytes img/char/PP_unstableFocus.pdf | Bin 0 -> 4668 bytes img/char/PP_unstableLine.pdf | Bin 0 -> 6500 bytes img/char/PP_unstableLine2.pdf | Bin 0 -> 6398 bytes img/char/PP_unstableNode.pdf | Bin 0 -> 6380 bytes img/char/PP_unstableStarNode.pdf | Bin 0 -> 6449 bytes img/char/PP_unstableWhirlNode.pdf | Bin 0 -> 6399 bytes img/char/PP_unstableZero.pdf | Bin 0 -> 6487 bytes img/char/PP_unstableZero2.pdf | Bin 0 -> 6308 bytes img/char/capsin.pdf | Bin 0 -> 7896 bytes img/char/char_NIK.pdf | Bin 0 -> 10662 bytes img/char/char_Schaltung1Grad.pdf | Bin 0 -> 7209 bytes img/char/char_astablemultivib.pdf | Bin 0 -> 11481 bytes img/char/char_bistablemultivib.pdf | Bin 0 -> 11771 bytes img/char/char_diode_ideal.pdf | Bin 0 -> 4040 bytes img/char/char_diode_real.pdf | Bin 0 -> 3755 bytes img/char/char_norator.pdf | Bin 0 -> 3858 bytes img/char/char_nullator.pdf | Bin 0 -> 3787 bytes img/char/char_resistor.pdf | Bin 0 -> 4414 bytes img/char/opencircuit.pdf | Bin 0 -> 4118 bytes img/char/shortcircuit.pdf | Bin 0 -> 3984 bytes img/differenzierer.pdf | Bin 0 -> 5814 bytes img/diode_ideal.pdf | Bin 0 -> 1048 bytes img/diode_real.pdf | Bin 0 -> 1050 bytes img/exponenzierer.pdf | Bin 0 -> 5603 bytes img/gate_and.pdf | Bin 0 -> 1115 bytes img/gate_not.pdf | Bin 0 -> 1106 bytes img/gate_or.pdf | Bin 0 -> 1111 bytes img/gate_xor.pdf | Bin 0 -> 1135 bytes img/hfunk.pdf | Bin 0 -> 7700 bytes img/integrierer.pdf | Bin 0 -> 5799 bytes img/invamp.pdf | Bin 0 -> 7952 bytes img/logarithmierer.pdf | Bin 0 -> 5599 bytes img/norator.pdf | Bin 0 -> 1142 bytes img/notinvamp.pdf | Bin 0 -> 7948 bytes img/nullator.pdf | Bin 0 -> 1088 bytes img/opamp_ideal.pdf | Bin 0 -> 1182 bytes img/opamp_real.pdf | Bin 0 -> 1112 bytes img/opencircuit.pdf | Bin 0 -> 1143 bytes img/pfaddauer.pdf | Bin 0 -> 6641 bytes img/resistor.pdf | Bin 0 -> 1024 bytes img/shortcircuit.pdf | Bin 0 -> 982 bytes img/source_curr.pdf | Bin 0 -> 1093 bytes img/source_volt.pdf | Bin 0 -> 1075 bytes img/techdraw.svg | 8744 ++++++++ img/transistor_npn.pdf | Bin 0 -> 1151 bytes img/transistor_pnp.pdf | Bin 0 -> 1143 bytes img/voltagefollower.pdf | Bin 0 -> 5087 bytes packages/.DS_Store | Bin 0 -> 6148 bytes packages/extern/accents.sty | 281 + packages/extern/booktabs.sty | 182 + packages/extern/esint.sty | 69 + packages/extern/esint10.mf | 115 + packages/extern/iosscientific.sty | 222 + packages/extern/mhchem.sty | 2104 ++ packages/extern/parskip.sty | 33 + packages/extern/pbox.sty | 61 + packages/extern/scientific.log | 216 + packages/extern/scientific.sty | 257 + packages/extern/titlesec.sty | 1336 ++ packages/extern/twoopt.sty | 104 + packages/extern/undertilde.sty | 34 + packages/extern/xifthen.sty | 222 + packages/intern/.DS_Store | Bin 0 -> 6148 bytes packages/intern/Changelog.txt | 23 + packages/intern/README | 37 + packages/intern/latex4ei.cls | 87 + packages/intern/latex4ei.sty | 162 + packages/intern/latex4ei_symbols.sty | 125 + packages/intern/miktex structure/.DS_Store | Bin 0 -> 6148 bytes .../intern/miktex structure/tex/.DS_Store | Bin 0 -> 6148 bytes .../miktex structure/tex/latex/.DS_Store | Bin 0 -> 6148 bytes .../tex/latex/packages/latex4ei.cls | 87 + .../tex/latex/packages/latex4ei.sty | 162 + .../tex/latex/packages/scientific.sty | 194 + packages/intern/scientific.sty | 194 + 102 files changed, 37547 insertions(+) create mode 100644 .DS_Store create mode 100644 .dropbox create mode 100644 "Icon\r" create mode 100644 ST2FS.tex create mode 100644 Schaltungstechnik.tex create mode 100644 img/Induktivitat.pdf create mode 100644 img/Kapazivitat.pdf create mode 100644 img/Logo.pdf create mode 100644 img/Memristivitat.pdf create mode 100644 img/NIK.pdf create mode 100644 img/Phasenportraits.svg create mode 100644 img/Resistivitat.pdf create mode 100644 img/Schaltsymbole nach EN 60617.svg create mode 100644 img/Schaltung1Grad.pdf create mode 100644 img/Zeiger.pdf create mode 100644 img/astablemultivib.pdf create mode 100644 img/bistablemultivib.pdf create mode 100644 img/bodesquare.pdf create mode 100644 img/capacitor.pdf create mode 100644 img/char/PP_Sadle.pdf create mode 100644 img/char/PP_Whirl.pdf create mode 100644 img/char/PP_stableFocus.pdf create mode 100644 img/char/PP_stableLine.pdf create mode 100644 img/char/PP_stableNode.pdf create mode 100644 img/char/PP_stableStarNode.pdf create mode 100644 img/char/PP_stableWhirlNode.pdf create mode 100644 img/char/PP_stableZero.pdf create mode 100644 img/char/PP_unstableFocus.pdf create mode 100644 img/char/PP_unstableLine.pdf create mode 100644 img/char/PP_unstableLine2.pdf create mode 100644 img/char/PP_unstableNode.pdf create mode 100644 img/char/PP_unstableStarNode.pdf create mode 100644 img/char/PP_unstableWhirlNode.pdf create mode 100644 img/char/PP_unstableZero.pdf create mode 100644 img/char/PP_unstableZero2.pdf create mode 100644 img/char/capsin.pdf create mode 100644 img/char/char_NIK.pdf create mode 100644 img/char/char_Schaltung1Grad.pdf create mode 100644 img/char/char_astablemultivib.pdf create mode 100644 img/char/char_bistablemultivib.pdf create mode 100644 img/char/char_diode_ideal.pdf create mode 100644 img/char/char_diode_real.pdf create mode 100644 img/char/char_norator.pdf create mode 100644 img/char/char_nullator.pdf create mode 100644 img/char/char_resistor.pdf create mode 100644 img/char/opencircuit.pdf create mode 100644 img/char/shortcircuit.pdf create mode 100644 img/differenzierer.pdf create mode 100644 img/diode_ideal.pdf create mode 100644 img/diode_real.pdf create mode 100644 img/exponenzierer.pdf create mode 100644 img/gate_and.pdf create mode 100644 img/gate_not.pdf create mode 100644 img/gate_or.pdf create mode 100644 img/gate_xor.pdf create mode 100644 img/hfunk.pdf create mode 100644 img/integrierer.pdf create mode 100644 img/invamp.pdf create mode 100644 img/logarithmierer.pdf create mode 100644 img/norator.pdf create mode 100644 img/notinvamp.pdf create mode 100644 img/nullator.pdf create mode 100644 img/opamp_ideal.pdf create mode 100644 img/opamp_real.pdf create mode 100644 img/opencircuit.pdf create mode 100644 img/pfaddauer.pdf create mode 100644 img/resistor.pdf create mode 100644 img/shortcircuit.pdf create mode 100644 img/source_curr.pdf create mode 100644 img/source_volt.pdf create mode 100644 img/techdraw.svg create mode 100644 img/transistor_npn.pdf create mode 100644 img/transistor_pnp.pdf create mode 100644 img/voltagefollower.pdf create mode 100644 packages/.DS_Store create mode 100644 packages/extern/accents.sty create mode 100644 packages/extern/booktabs.sty create mode 100644 packages/extern/esint.sty create mode 100644 packages/extern/esint10.mf create mode 100644 packages/extern/iosscientific.sty create mode 100644 packages/extern/mhchem.sty create mode 100644 packages/extern/parskip.sty create mode 100644 packages/extern/pbox.sty create mode 100644 packages/extern/scientific.log create mode 100644 packages/extern/scientific.sty create mode 100644 packages/extern/titlesec.sty create mode 100644 packages/extern/twoopt.sty create mode 100644 packages/extern/undertilde.sty create mode 100644 packages/extern/xifthen.sty create mode 100644 packages/intern/.DS_Store create mode 100644 packages/intern/Changelog.txt create mode 100644 packages/intern/README create mode 100644 packages/intern/latex4ei.cls create mode 100644 packages/intern/latex4ei.sty create mode 100644 packages/intern/latex4ei_symbols.sty create mode 100644 packages/intern/miktex structure/.DS_Store create mode 100644 packages/intern/miktex structure/tex/.DS_Store create mode 100644 packages/intern/miktex structure/tex/latex/.DS_Store create mode 100644 packages/intern/miktex structure/tex/latex/packages/latex4ei.cls create mode 100644 packages/intern/miktex structure/tex/latex/packages/latex4ei.sty create mode 100644 packages/intern/miktex structure/tex/latex/packages/scientific.sty create mode 100644 packages/intern/scientific.sty diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..4a558c3d10eb7cf388eec50ed89ad5ffb7c9a421 GIT binary patch literal 6148 zcmeHK%}T>S5T3PFQ&i|h^tgB~(o&%nJcLrgqmV)mRx~lC4VI)dsXf$ad?8Ohi_hcC z?nWpL9!2a7?0&QJvzz%K`vU-?Gxr++RRFNC5eiZYgv^DmEfY*A)Eq91U@9bKYinTxJ2caJ=I?+7z;~Qrj zEu6p~dhYC2>4}@nm%)&_&j?kCqU7yKcCL}?f-V%h;plvYIh#nN7 zQxSElFi#Aj)6p(XoNX}EsMA5Hm2n=ka{hP`YIU?r6%NAI$UQT_46HIx(!(m9|Cjj7 z6h87-Q+UJ-Fa!UL0a5Nc-3}II&epZ^=&Y64?y-?jTt*5C>MNH39MC>;ten~}Nyj+b XV5X5~A-hUP 0$\\ \\ + Ladungs/Flussgesteuert: Kandidaten nur bei $u = 0/i = 0$!\\ + Sonst auch bei Knicken oder Wendestellen möglich. + + + \subsection{Dynamisches System} + mit $k$ Ausgängen, $n$ Zustandsgrößen und $r$ Erregungen.\\ + Die Zustandsgrößen $\vec x$ müssen einen stetigen Verlauf haben!\\ + \begin{tabular}{l|l} + Allgemeine Zustandsgleichung: & \boxed{ \bs{ \dot {\vec x}}(t) = \ma A \vec x(t) + \ma B \vec v(t) }\\ + Allgemeine Ausgangsgleichung: & \boxed{ \vec y(t) = \ma C \vec x(t) + \ma D \vec v(t) }\\ \midrule + Zustandsvariable \ \ z.B. ($u_C,i_L$)& $\vec x(t) \in \mathbb R^n$ \\ + Ausgangsvariable \ \ z.B. ($u_3,i_4$)& $\vec y(t) \in \mathbb R^k$ \\ + Erregungsvektor\ \ z.B. ($U_0,I_0$) & $\vec v \in \mathbb R^r$ \\ + Systemmatrix & $\ma A\in \mathbb R^{n \times n}$ \\ + Einkopplungsmatrix & $\ma B \in \mathbb R^{n \times r}$ \\ + Auskopplungsmatrix & $\ma C \in \mathbb R^{k \times n}$ \\ + Durchgangsmatrix & $\ma D \in \mathbb R^{k \times r}$ \\ + \end{tabular}\\[0.5em] + Konservatives System: $\sum\limits_{i = 1}^n \frac{\partial E(\vec x)}{\partial x_i} \dot x_i = 0$ + + + + \subsection{Schaltungen ersten Grades} + \pbox{5.0cm}{ Zustandsgleichung: \\[0.2em] \boxed{ \dot x(t) = - \frac{x(t)}{\tau} + \frac{x_\infty}{\tau} } \\[0.5em] $\tau > 0:$ System stabil \\ $\tau < 0:$ System instabil \\ } \qquad + \pbox{5.0cm}{ \includegraphics{./img/char/char_Schaltung1Grad.pdf} } \\ + \boxed{ \text{Lösung:}\quad x(t) = x_\infty + (x_0 - x_\infty) \exp\left(- \frac{t-t_0}{\tau}\right) }\\ + \\ + Beispiele: \hspace{3cm} $u_C(t) = A \cdot \sin(\omega t)$\\ + \pbox{5.0cm}{ \includegraphics[scale = 0.8]{./img/Schaltung1Grad.pdf} \\ \\ $\dot u(t) = - \frac{u(t)}{RC} + \frac{U_0 + RI_0}{RC}$ } + \pbox{3.0cm}{ \includegraphics{./img/char/capsin.pdf} }\\ + + + + \subsubsection{Dynamischer Pfad} + \begin{tabular}{l|l} + kapazitiv & induktiv \\ \hline + $u_C$ stetig, $i_C$ springt & $i_L$ stetig, $u_L$ springt \\ + $\dot u(t) = - \frac{1}{C} \cdot i(t)$ & $\dot i(t) = - \frac{1}{L} \cdot u(t)$ \\ \midrule + $i > 0 \Ra \dot u < 0 \Ra u$ fällt & $u > 0 \Ra \dot i < 0 \Ra i$ fällt \\ + $i < 0 \Ra \dot u > 0 \Ra u$ steigt & $u < 0 \Ra \dot i > 0 \Ra i$ steigt \\ + $i = 0 \Ra \dot u = 0 \Ra$ GGP & $u = 0 \Ra \dot i = 0 \Ra$ GGP\\ + \end{tabular}\\ + \\[0.5em] + \pbox{6.0cm}{ + Zeitdauer auf linearen Pfaden:\\ + \boxed{\Delta t = t_1 - t_0 = \tau \ln \left( \frac{x(t_0) - x_\infty}{x(t_1) - x_\infty} \right)} + } \quad + \pbox{3.0cm} { + \includegraphics{./img/pfaddauer.pdf} }\\ + $x(t_0)$: Startwert,\quad $x(t_1)$: Zielwert,\quad $x_\infty$: (gedachter) GGP + + + \subsection{Multivibrator mit $R_L = R_0 = R_1$} + Relaxationsoszillator (NIK Polung beachten!):\\ + \includegraphics[scale = 0.8]{./img/astablemultivib.pdf} \ \includegraphics[scale = 0.9]{./img/char/char_astablemultivib.pdf}\\ + Flip-Flop (Bistabile Schaltung):\\ + \includegraphics[scale = 0.8]{./img/bistablemultivib.pdf} \includegraphics[scale = 0.9]{./img/char/char_bistablemultivib.pdf} + + + \subsection{NIK allgemein (Polung beachten)} + \includegraphics[scale = 0.85]{./img/NIK.pdf} \qquad \includegraphics{./img/char/char_NIK.pdf}\\ + \begin{tabular}{cll} + I & negative Sättigung $u_d < 0 \Leftrightarrow u_{out}=-U_{sat}$\\ + & $u = R_0 i - U_{sat}$\\ % < \frac{R_L}{R_L + R_1} \cdot U_{sat}$\\ + II & linearer Bereich $u_d = 0$\\ + & $u = - \frac{R_0}{R_1} R_L \cdot i$ \qquad \quad $-U_{sat} < \frac{R_L + R_1}{R_L}u < U_{sat}$\\ + III & positive Sättigung $u_d > 0 \Leftrightarrow u_{out}=U_{sat}$\\ + & $u = R_0 i + U_{sat}$ % < \frac{R_L}{R_L + R_1} \cdot U_{sat}$\\ + \end{tabular} + + \subsection{Eigenwerte(EW) $\lambda$ bestimmen} + $\ma A \vec q = \lambda \vec q \ \Rightarrow \ (\ma A - \lambda \ma 1) \vec q = 0$ \quad mit Eigenwert $\lambda$ und Eigenvektor $\vec q$\\ + $\det (\ma{A}-\lambda \ma{1}) = 0$\\ + \\ + Vereinfachung für $2 \times 2$ Matrizen:\\ + \boxed{ + \lambda_{1/2} = \frac{\mathrm{sp} \ma A}{2} \pm \sqrt{ \left( \frac{\mathrm{sp} \ma A}{2} \right)^2 - \det \ma A } } \quad \boxed{ \begin{array}{ll} \text{Wähle} \\ \bigl| \lambda_1 \bigr| < \bigl|\lambda_2 \bigr| \end{array}}\\[0.5em] + $\mathrm{Sp } \ma A = T = a_{11} + a_{22}$, \quad $\det \ma A = \Delta = a_{11} a_{22} - a_{12} a_{21}$\\ + \\ + Zeitkonstante $\tau = -\frac{1}{\lambda}$ + + + \subsection{Eigenvektoren(EV) $\vec q$ bestimmen} + $(\ma A-\lambda \ma 1) \vec q = 0 \ \Rightarrow \ \ma Q = \ker(\ma A-\lambda \ma 1)$ \\ + \fbox{ Merke: Eigenvektoren sind beliebig skalierbar! } + \\ + Vereinfachung für $2 \times 2$ Matrizen, falls $\lambda_1 \ne \lambda_2$:\\ + \\ + \begin{tabular}{l|l} + $a_{12} \ne 0:$ & $a_{21} \ne 0:$ \\ \midrule + $q_{1/2} = \mvect{-a_{12} \\ a_{11} - \lambda_{1/2} }$ & $q_{1/2} = \mvect{a_{22} - \lambda_{1/2} \\ -a_{21} }$ \\ + \end{tabular}\\ + \\ + Falls $a_{12} = a_{21} = 0:$ $q_1 = \mvect{1 \\ 0} \quad q_2 = \mvect{0 \\ 1}$ + \fbox{ Eigenschaften EV: $\vec q_1 \perp \vec q_2 $} + \subsection{Gleichgewichtspunkte(GGP) $\vec x_\infty$ bestimmen} + $\vec x_\infty$: $\bs{ \dot {\vec x}} = 0 = \ma A \vec x_\infty + \ma B \vec v \quad \Ra \quad$ \boxed { \vec x_\infty = - \ma A^{-1} \ma B \vec v }\\[0.5em] + Oder aus Schaltbild berechnen:\\ + Ersetze $C \ra LL$ und $L \ra KS$, berechne $\vec x = \vec x_\infty$ + + + \subsection{autonome(inhomogene) Systeme mit $\vec v = const.$} + 1. Fall $\ma A$ ist invertierbar ($\lambda_{1/2} \ne 0$) + \begin{enumerate}\itemsep0pt + \item Transformation auf homogenes System:\\ + \begin{tabular}{ll} + $\vec x' = \vec x - \vec x_\infty$ & (gültig, da $\vec{\dot x}' = \vec{\dot x}$)\\ + $\vec x_\infty = - \ma A^{-1} \ma B \vec v$ & (oder aus Schaltbild berechnen)\\ + $\vec x'_0 = \vec x_0 - \vec x_\infty$ & Anfangswerte auch transformieren!\\ + \end{tabular} + \item Löse homogenes System $\vec{\dot x}' = \ma A \vec x'$ + \item Gesamtlösung durch Rücktransformation: $\vec x = \vec x' + \vec x_\infty$\\ + $\Ra$ Verschiebung des Ursprungs um $\vec x_\infty$\\ + \end{enumerate} + 2. Fall $\ma A$ ist singulär ($\exists \lambda = 0$) + \begin{enumerate}\itemsep0pt + \item Transformation auf Normalform: $\vec{ \dot x} = \vec x \ma A + \ma B \vec v \quad \big|\ \ma Q^{-1} \cdot$ \\ + $\Ra \quad \vec{ \dot \xi} = \ma \Lambda \vec \xi + \vec v'$ \quad mit $\ma \Lambda = \mat{0 & 0 \\ 0 & \lambda}$\\ + \item Berechne Xi Lösungen: \\ + $\xi_2 = -\frac{v'_2}{\lambda} + \left(\xi_{0,2} + -\frac{v'_2}{\lambda} \right)\exp(\lambda t)$\\[0.5em] + \begin{tabular}{l|l} + Falls $v'_{01} = 0$ & Falls $v'_{01} \ne 0$ \\ \midrule + $\xi_1 = const.$ & $\xi_1 = v'_1 \cdot t = \xi_{0,1}$\\ + $\xi_\infty = \vect{ iwas \\ -\frac{v'_2}{\lambda}}$ & Kein GGP! \\ + \end{tabular} + \item Gesamtlösung durch Rücktransformation: $\vec x = \ma Q \cdot \xi$\\ + \end{enumerate} + + + + \subsection{Nichtlineare dynamische Schaltungen 2. Grades} + \begin{enumerate}\itemsep0pt + \item DGL aufstellen: $\vec{\dot x} = \vec f(\vec x)$ + \item GGPs bestimmen: $\dot{\vec x} = \vec f(\vec x) \stackrel{!}= \vec 0$ \\ + \begin{tabular}{llll} + $C:$ & $\dot u_C = 0$ & $\Rightarrow \ i_C = 0$ & $\Rightarrow$ LL\\ + $L:$ & $\dot i_L = 0$ & $\Rightarrow \ u_L = 0$ & $\Rightarrow$ KS\\ + \end{tabular} + \item Linearisiere in $\vec x_\infty$:\\ + $\vec f(\vec x) \approx \vec f(\vec x_\infty) + \ma J (\vec x_\infty) \cdot (\vec x - \vec x_\infty)$ + \item Berechne EW und EV von $\ma J (\vec x_\infty)$ für jeden GGP + \item Satz von Hartman:\\ + Falls von $\ma J(\vec x_\infty)$ der Realteil aller Eigenwerte ungleich null ist ($Re(\lambda) \ne 0$), dann verhält sich ein konservatives System in der Umgebung von $\vec x_\infty$ qualitativ genauso wie ein lineares System mit $\ma J(\vec x_\infty)$ als Systemmatrix. + + \end{enumerate} + + + + + \subsection{Normalform} + Um DGL's 2ten Grades zu entkoppeln und auf zwei DGL's ersten Grades zurückzuführen. + Transformiertes System = Diagonalisiertes System = Xi-System in Xi-Koordinaten.\\ + \boxed{ \underset{ \ma Q^{-1} \vec{\dot x}(t) }{\vec{ \dot \xi}(t)} = \underset{\ma Q^{-1} \ma A \ma Q}{\ma \Lambda} \cdot \underset{ \ma Q^{-1} \vec x(t) }{\vec \xi(t)} + \underset{ \ma Q^{-1} \ma B \vec v(t) }{\vec v'(t)} }\\ + $\ma Q$: Matrix der Eigenvektoren \quad $\ma \Lambda$: Diagonalmatrix der Eigenwerte.\\ + \begin{tabular}{l|l} + Transformation: & Rücktransformation \\ + $\vec \xi(t) = \ma Q^{-1} \vec x(t)$ & $\vec x(t) = \ma Q \vec \xi(t)$\\ + $\ma \Lambda = \ma Q^{-1} \ma A \ma Q$ & $\ma A = \ma Q \ma \Lambda \ma Q^{-1}$\\ + $\vec v' = \ma Q^{-1} \ma B \vec v(t)$ & $\ma B \vec v = \ma Q \vec v'$\\ + \end{tabular}\\ + + +\section{Komplexe Wechselstromrechnung } +Vorraussetzung: lineares, eingeschwungenes System mit sinusförmiger Erregung: $x(t) = \hat x \cdot \cos(\omega t + \varphi) = \hat x \cdot \sin(\omega t + \varphi + \frac{\pi}{2})$\\ +Eigenschaften: eindeutig, linear, differenierbar ($\frac{\mathrm d}{\mathrm dt} = j \omega$)\\ +Beispiel: $u_L = L \cdot \frac{\mathrm d}{\mathrm dt} i_l \ \Rightarrow \vec U_L = L \cdot j \omega \vec I_L$\\[0.5em] +\parbox{5.1cm}{\Large $e^{j\omega t} = \cos(\omega t) + j \sin(\omega t)$ \\[0.2em] $\omega = 2 \pi f$ \qquad $A = X_m=|X|$ \\[0.2em] \normalsize Komplexe Zahlen: $\frac{z_2}{a+jb} = \frac{z_2(a-jb)}{a^2+b^2}$ \quad $ \frac{1}{j}=-j $ } +\parbox{1.7cm}{\includegraphics{./img/Zeiger.pdf}} \\ +\framebox{ +\begin{tabular}{ll} + Zeiger: &\!\!\!\!\!\!$X = A \cdot \exp(j \varphi) = A \cdot \cos(\varphi) + A \cdot j \sin(\varphi)$\\[0.5em] + Zeitsignal: &\!\!\!\!\!\!$x(t) = \Re[X \cdot \exp(j \omega t)] = A \cdot \cos(\omega t + \varphi)$\\ +\end{tabular} } +\\[0.5em] +$\begin{array}{c|c|c|c|c|c|c|c|c} +x & 0 & \pi / 6 & \pi / 4 & \pi / 3 & \pi / 2 & \pi & \frac{3}{2}\pi & 2 \pi \\ \hline +\sin & 0 & \frac{1}{2} & \frac{1}{\sqrt{2}} & \frac{\sqrt 3}{2} & 1 & 0 & -1 & 0 \\ +\cos & 1 & \frac{\sqrt 3}{2} & \frac{1}{\sqrt 2} & \frac{1}{2} & 0 & -1 & 0 & 1 \\ +\tan & 0 & \frac{\sqrt{3}}{3}& 1 & \sqrt{3} & \infty & 0 & - \infty & 0\\ +\end{array}$\\ +\\ +$\underset{\text{Impedanz}}{Z(j\omega)} = \underset{\text{Resistanz}}{R(j\omega)} + \underset{\text{Reaktanz}}{jX(j\omega)}$: Impedanz $U = Z \cdot I $\\ +$\underset{\text{Admittanz}}{Y(j\omega)} = \underset{\text{Konduktanz}}{G(j\omega)} + \underset{\text{Suszeptanz}}{jB(j\omega)}$: Admittanz $I = Y \cdot U$\\ + + +\everymath{\displaystyle} +\begin{tabular}{l|ll} + & $Z$ & $Y$\\ \midrule +Widerstand & $R$ & $G = \frac{1}{R}$ \\ +Kondensator & $\frac{1}{j \omega C}$ & $j \omega C$\\ +Spule & $j \omega L$ & $\frac{1}{j \omega L}$ \\ +Memristor & $M$ & $\frac{1}{M}$\\ +\end{tabular} +\everymath{\textstyle} + + + +Rechenregeln: +$A = a + j b = \hat A_m \exp(j \varphi)$\\ +Radius $\hat A_m = \sqrt{a^2 + b^2}$\\ + +Mehrere Erregungen mit unterschiedlicher Kreisfrequenz:\\ +Getrennte Zeigerrechnung für einzelne Frequenzen, dann zurücktransformieren und addieren. + +\subsection{Oszillatoren} +autonome Schaltung 2. Grades mit nur einem instabile GGP.\\ +\begin{tabular}{l|lll} +Van der Pol($L||C$) & Stückweise & fast harmon. & Relax.\\ +$\ma J(\vec x_\infty)=$ & $\ma J(\vec x_\infty)=$ & $\lambda_{1/2} =$ & $L\ra 0$\\ +$\mat{\frac{1}{RC} & -\frac{1}{C} \\ \frac{1}{L} & 0}$ & $\mat{0 & -\frac{1}{C} \\ \frac{1}{L} & \pm \frac{R}{L} }$ & $\pm \frac{R}{2L} \pm j \omega_0$\\ +\end{tabular} + + + + +\subsection{Übertragungsfunktion $H(j\omega) = a + j b$} +$H(j \omega) = \frac{U_{out}}{U_{in}} = |H(j \omega)| \cdot \exp\bigl(j\varphi(\omega)\bigr)$\\ + +Bei Knotenspannungsanalyse:\\ +$H(j\omega) = \frac{U_{out}}{U_{in}} = \frac{U_{Km}}{I_n}\cdot G = \frac{(-1)^{n+m} \det \ma Y_{nm}(j\omega)}{\det \ma Y_k(j\omega)}\cdot G$\\[0.5em] +Wichtige Regeln:\\ +$20\log_{10} \left( \frac{1}{a} \right) = -20\log_{10} \left( a \right)$ \qquad $\log_{10}(1) = 0$\\ $20\log_{10} \left( \sqrt{a} \right) = 10\log_{10} a$ \\[0.5em] +Faktorisieren: $H(j \omega) = \prod H_i(j \omega)$ damit gilt:\\ +$v(\omega) = \sum v_i(\omega)$ \qquad $\varphi(\omega) = \sum \varphi_i(\omega)$\\ + +$\sphericalangle H(j \omega) = \varphi(\omega) = \begin{cases} +\arctan \frac{b}{a} & \text{für } a > 0 \\ ++ \frac{\pi}{2} & \text{für } a= 0, b > 0 \\ +- \frac{\pi}{2} & \text{für } a = 0, b < 0 \\ +\arctan \frac{b}{a} + \pi & \text{für } a < 0, b \ge 0 \\ +\arctan \frac{b}{a} - \pi & \text{für } a < 0 , b < 0 +\end{cases}$\\ +$\arctan \left( - \frac{b}{a} \right) = - \arctan \left( \frac{b}{a} \right)$ +\\[6em] +$H(p) = k \cdot \frac{p}{p^2 + p \frac{\omega_0}{Q} + \omega^2_0 }$:\\ \includegraphics{./img/bodesquare.pdf} + + + + +\subsection{Pol-Nullstellen-Diagramm (PN-Diagramm)} +Polstellen $\times$, Nullstellen $\circ$\\ +Polstellen = Eigenfrequenzen = Eigenwerte.\\ +Polstellen haben negativen Realteil $\Ra$ Schaltung Stabil. + + +\subsection{Ortskurven} +Berechne Markante Punkte von $Y(j\omega)$ oder $Z(j\omega)=\frac{U}{I}=H(j\omega)$\\ +\begin{tabular}{lll} +$\Re Z(j0)$ & $\Im Z(j0)$\\ +$\Re Z(j\infty)$ & $\Im Z(j\infty)$\\ +$\Re Z(j\omega_0)$ & $\Im Z(j\omega_0)$\\ +\end{tabular} + + + \subsection{Leistung und Energie} + Differenzielle Energie: $\diff E = p(t) \diff t = u(t) \cdot i(t) \diff t$\\ + Wirkleistung: $P_w = \frac{1}{T} \int\limits_0^T p(t) \diff t$\\ + Für lineare resistive Schaltungen: $P_w = R \cdot I^2_{eff} = \frac{U^2_{eff}}{R}$\\ + Komplexe Leistung: $P = \frac12 UI^* = P_w + j P_B$\\ + +% Ende der Spalten +\end{multicols} + + + +\hrule \hrule + +\begin{multicols}{3} +\section{Lösen von homogenen DGLs} +Gegeben: Homogene Differnetialgleichungen der Form $\vec{\dot x} = \ma A \vec x$ \\ +mit Anfangswerten $x_{0,1}$ und $x_{0,2}$\\[2em] +\boxed{ \boldsymbol{\lambda_1 \ne \lambda_2 \in \R} } \qquad \boxed{ \bigl| \lambda_1 \bigr| < \bigl|\lambda_2 \bigr| \quad \Ra \vec q_2 \text{,,schneller''} } \\[1.5em] +$\vec x(t) = x_{0,1} \cdot \exp(\lambda_1 t) \cdot \vec q_1 + x_{0,2} \cdot \exp(\lambda_2 t) \cdot \vec q_2$\\[1.5em] +\begin{tabular}{l|l|l|l|l} + Matrix $\Lambda$ & Eigenwerte & $\vec x = 0$ & Name & Portrait\\ \midrule \midrule + {$\mat{\lambda_1 & 0 \\ 0 & \lambda_2}$} & $\lambda_1 < 0 < \lambda_2$ & instabil & Sattelpunkt & \pbox{3.0cm}{ \includegraphics{./img/char/PP_Sadle.pdf} }\\ \midrule + & $\lambda_2 < 0, \lambda_1 < 0 $ & stabil & Knoten 2 & \pbox{3.0cm}{ \includegraphics{./img/char/PP_stableNode.pdf} }\\ \midrule + & $0 < \lambda_1, 0 < \lambda_2 $ & instabil & Knoten 2 & \pbox{3.0cm}{ \includegraphics{./img/char/PP_unstableNode.pdf} }\\ \midrule + \multirow{2}{*}{$\mat{0 & 0 \\ 0 & \lambda_2}$} & $\lambda_1 = 0,\ \lambda_2 < 0$ & stabil & Kamm & \pbox{3.0cm}{ \includegraphics{./img/char/PP_stableLine.pdf} }\\ \midrule + & $\lambda_1 = 0,\ \lambda_2 > 0$ & instabil & Kamm & \pbox{3.0cm}{ \includegraphics{./img/char/PP_unstableLine.pdf} }\\ +\end{tabular} +\vspace{2em}\\ + +%\vspace{5em}\\ + +\boxed{ \boldsymbol{\lambda_1 = \lambda_2 \in \R} }\\ +$\ma Q' = \mat{ \vec q'_1 & \vec q'_2} = \mat{ -a_{12} & -a_{12} \\ \frac{a_{11} - a_{22}}{2} & \frac{a_{11} - a_{22}}{2} -1 } = \mat{ \vect{\text{Eigen-} \\ \text{vektor}} & \vect{\text{Haupt-} \\ \text{vektor}}}$\\ +$\vec x(t) = \left[ \ma 1 + (\ma A - \lambda \ma 1) \cdot t \right] \cdot \exp(\lambda t) \cdot \mvect{x_{0,1} \\ x_{0,2}}$\\[0.5em] +\begin{tabular}{l|l|l|l|l} + Matrix $\Lambda$ & Eigenwerte & $\vec x = 0$ & Name & Portrait\\ \midrule \midrule + \multirow{2}{*}{$\mat{\lambda & 0 \\ 0 & \lambda}$} & $\lambda < 0$ & stabil & Knoten 1 & \pbox{3.0cm}{ \includegraphics{./img/char/PP_stableStarNode.pdf} }\\ \midrule + & $\lambda > 0$ & instabil & Knoten 1 & \pbox{3.0cm}{ \includegraphics{./img/char/PP_unstableStarNode.pdf} }\\ \midrule + \multirow{2}{*}{$\mat{\lambda & 1 \\ 0 & \lambda}$} & $\lambda < 0$ & stabil & Knoten 3 & \pbox{3.0cm}{ \includegraphics{./img/char/PP_stableWhirlNode.pdf} }\\ \midrule + & $\lambda > 0$ & instabil & Knoten 3 & \pbox{3.0cm}{ \includegraphics{./img/char/PP_unstableWhirlNode.pdf} }\\ \midrule + $\mat{0 & 0 \\ 0 & 0}$ & $\lambda = 0$ & stabil & Ruheebene & \pbox{3.0cm}{ \includegraphics{./img/char/PP_stableZero.pdf} }\\ \midrule + $\mat{0 & 1 \\ 0 & 0}$ & $\lambda = 0$ & instabil & Ruhegerade & \pbox{3.0cm}{ \includegraphics{./img/char/PP_unstableZero.pdf} }\\ +\end{tabular} + + +\boxed{ \boldsymbol{\lambda_1 = \lambda^*_2 = \alpha + \beta j \in \C} } \qquad \boxed{ \ma Q' = \mat{\Re \vec q_1 & \Im \vec q_1} = \mat{ \vec q_r & \vec q_j} }\\ + +$\begin{array}{rl} \vec x(t) & = x_{0,1} \cdot e^{\alpha t} \cdot \left[ \cos (\beta t) \vec q_r - \sin(\beta t) \cdot \vec q_j \right] + \\ & +\, x_{0,2} \cdot e^{\alpha t} \cdot \left[ \sin (\beta t) \vec q_r + \cos(\beta t) \cdot \vec q_j \right] \end{array}$\\ +\begin{tabular}{l|l|l|l|l} + Matrix $\Lambda$ & Eigenwerte & $\vec x = 0$ & Name & Portrait\\ \midrule \midrule + \multirow{2}{*}{$\mat{\alpha & -\beta \\ \beta & \alpha}$} & $\alpha < 0,\ \beta \ne 0$ & stabil & Strudel & \pbox{3.0cm}{ \includegraphics{./img/char/PP_stableFocus.pdf} }\\ \midrule + & $\alpha > 0,\ \beta \ne 0$ & instabil & Strudel & \pbox{3.0cm}{ \includegraphics{./img/char/PP_unstableFocus.pdf} }\\ \midrule + $\mat{0 & -\beta \\ \beta & 0}$ & $\alpha = 0,\ \beta \ne 0$ & stabil & Wirbel & \pbox{3.0cm}{ \includegraphics{./img/char/PP_Whirl.pdf} }\\ +\end{tabular} +\vspace{1em}\\ +Zeitverlauf immer von $\vec q_j$ nach $\vec q_r$ bzw. von $\vec q_r$ nach $-\vec q_j$\\[4em] +Lösung für \emph{inhomogene DGL}($\vec v \ne 0$) mit singulärer Matrix $\ma A$ (nicht entkoppelbar):\\ +\begin{tabular}{l|l|l|l|l} +$\mat{0 & 0 \\ 0 & \lambda_2}$ & $\lambda_1 = 0,\ \lambda_2 < 0$ & instabil & Kamm & \pbox{3.0cm}{ \includegraphics{./img/char/PP_unstableLine2.pdf} }\\ +$\mat{0 & 1 \\ 0 & 0}$ & $\lambda = 0$ & instabil & Knoten & \pbox{3.0cm}{ \includegraphics{./img/char/PP_unstableZero2.pdf} }\\ +\end{tabular} + + +% Ende der Spalten +\end{multicols} + + + +% Dokumentende +% ====================================================================== +\end{document} + + + + +Halde: + +\begin{tabular}{l|l|l|l|l} + Matrix $\Lambda$ & Eigenwerte & $\vec x = 0$ & Name & Portrait\\ \midrule + \multirow{3}{*}{$\mat{\lambda_1 & 0 \\ 0 & \lambda_2}$} & $\lambda_1 < 0 < \lambda_2$ & instabil & Sattelpunkt & \pbox{3.0cm}{ \includegraphics{./img/char/PP_Sadle.pdf} }\\ + & $\lambda_2 < \lambda_1 < 0 $ & stabil & Knoten 2 & \pbox{3.0cm}{ \includegraphics{./img/char/PP_stableNode.pdf} }\\ + & $0 < \lambda_1 < \lambda_2 $ & instabil & Knoten 2 & \pbox{3.0cm}{ \includegraphics{./img/char/PP_stableNode.pdf} }\\ + \multirow{2}{*}{$\mat{0 & 0 \\ 0 & \lambda_2}$} & $\lambda_1 = 0,\ \lambda_2 < 0$ & stabil & Kamm & \pbox{3.0cm}{ \includegraphics{./img/char/PP_stableLine.pdf} }\\ + & $\lambda_1 = 0,\ \lambda_2 > 0$ & instabil & Kamm & \pbox{3.0cm}{ \includegraphics{./img/char/PP_unstableLine.pdf} }\\ \midrule + \multirow{2}{*}{$\mat{\lambda & 0 \\ 0 & \lambda}$} & $\lambda < 0$ & stabil & Knoten 1 & \pbox{3.0cm}{ \includegraphics{./img/char/PP_stableStarNode.pdf} }\\ + & $\lambda > 0$ & instabil & Knoten 1 & \pbox{3.0cm}{ \includegraphics{./img/char/PP_unstableStarNode.pdf} }\\ + \multirow{2}{*}{$\mat{\lambda & 1 \\ 0 & \lambda}$} & $\lambda < 0$ & stabil & Knoten 3 & \pbox{3.0cm}{ \includegraphics{./img/char/PP_stableWhirlNode.pdf} }\\ + & $\lambda > 0$ & instabil & Knoten 3 & \pbox{3.0cm}{ \includegraphics{./img/char/PP_unstableWhirlNode.pdf} }\\ + $\mat{0 & 0 \\ 0 & 0}$ & $\lambda = 0$ & stabil & Ruheebene & \pbox{3.0cm}{ \includegraphics{./img/char/PP_stableZero.pdf} }\\ + $\mat{0 & 1 \\ 0 & 0}$ & $\lambda = 0$ & instabil & Ruhegerade & \pbox{3.0cm}{ \includegraphics{./img/char/PP_unstableZero.pdf} }\\ \midrule + \multirow{2}{*}{$\mat{\alpha & -\beta \\ \beta & \alpha}$} & $\alpha < 0,\ \beta \ne 0$ & stabil & Strudel & \pbox{3.0cm}{ \includegraphics{./img/char/PP_stableFocus.pdf} }\\ + & $\alpha > 0,\ \beta \ne 0$ & instabil & Strudel & \pbox{3.0cm}{ \includegraphics{./img/char/PP_unstableFocus.pdf} }\\ + $\mat{0 & -\beta \\ \beta & 0}$ & $\alpha = 0,\ \beta \ne 0$ & stabil & Wirbel & \pbox{3.0cm}{ \includegraphics{./img/char/PP_Whirl.pdf} }\\ +\end{tabular} + + + + + \subsection{Lösung für hom. DGL } + Für Gleichungen der Form $\vec{\dot x} = \ma A \vec x$ mit Anfangswerten $x_{0,1},x_{0,2}$\\[0.5em] + $\lambda_1 \ne \lambda_2$: $\vec x(t) = x_{0,1} \cdot \exp(\lambda_1 t) \cdot \vec q_1 + x_{0,2} \cdot \exp(\lambda_2 t) \cdot \vec q_2$\\[0.5em] + $\lambda_1 = \lambda_2$: $\vec x(t) = \left[ \ma 1 + (\ma A - \lambda \ma 1) \cdot t \right] \cdot \exp(\lambda t) \cdot \mvect{x_{0,1} \\ x_{0,2}}$\\[0.5em] + $\lambda_1 = \lambda^*_2$: + $\begin{array}{rl} \vec x(t) & = x_{0,1} \cdot e^{\alpha t} \cdot \left[ \cos (\beta t) \vec q_r - \sin(\beta t) \cdot \vec q_j \right] + \\ & +\, x_{0,2} \cdot e^{\alpha t} \cdot \left[ \sin (\beta t) \vec q_r + \cos(\beta t) \cdot \vec q_j \right] \end{array}$\\ + + + + + + + diff --git a/Schaltungstechnik.tex b/Schaltungstechnik.tex new file mode 100644 index 0000000..7af30b2 --- /dev/null +++ b/Schaltungstechnik.tex @@ -0,0 +1,229 @@ +% .:: Laden der LaTeX4EI Formelsammlungsvorlage +\documentclass[fs, footer]{latex4ei} + +% Dokumentbeginn +% ====================================================================== +\begin{document} + + +% Aufteilung in Spalten +\vspace{-4mm} +\begin{multicols*}{4} + \fstitle{Schaltungstechnik 1} + +% ------------------------------------------- +% | Schaltungstechnik | +% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +% SECTION ==================================================================================== +\section{Mathematische Grundlagen} +% ============================================================================================ + +\sectionbox{ +\subsection{Sinus, Cosinus \quad $\sin^2(x) \bs + \cos^2(x) = 1$} +\setlength{\tabcolsep}{4pt} +\tablebox{ +\begin{tabular*}{\columnwidth}{@{\extracolsep\fill}c|c|c|c|c||c|c|c|c@{}} \ctrule +$x$ & $0$ & $\pi / 6$ & $\pi / 4$ & $\pi / 3$ & $\frac{1}{2}\pi$ & $\pi$ & $1\frac{1}{2}\pi$ & $2 \pi$ \\ +$\scriptstyle{ \varphi }$ & $\scriptstyle{0^\circ}$ & $\scriptstyle{30^\circ}$ & $\scriptstyle{45^\circ}$ & $\scriptstyle{60^\circ}$ & $\scriptstyle{90^\circ}$ & $\scriptstyle{180^\circ}$ & $\scriptstyle{270^\circ}$ & $\scriptstyle{360^\circ}$ \\ \cmrule +$\sin$ & $0$ & $\frac{1}{2}$ & $\frac{1}{\sqrt{2}}$ & $\frac{\sqrt 3}{2}$ & $1$ & $0$ & $-1$ & $0$ \\ +$\cos$ & $1$ & $\frac{\sqrt 3}{2}$ & $\frac{1}{\sqrt 2}$ & $\frac{1}{2}$ & $0$ & $-1$ & $0$ & $1$ \\ +$\tan$ & $0$ & $\frac{\sqrt{3}}{3}$ & $1$ & $\sqrt{3}$ & $\pm \infty$ & $0$ & $\mp \infty$ & $0$\\ \cbrule +\end{tabular*} } +} + + +% SECTION ==================================================================================== +\section{Netzwerktheorie} +% ============================================================================================ + +\sectionbox{ + +\subsection{Kirchhoff-Gesetze} +Konzentriertheitshypothese: $d << \lambda$ mit \\ +$d = $ Größe der Schaltung, Wellenlänge $\lambda = c T$ \\ + +Knotenregel \emph{KCL}: $ \sum \limits_{\text{Knoten}}i_{\ir j} (t) = 0$ (heraußfließende Ströme positiv) \\ +Maschenregel \emph{KVL}: $ \sum \limits_{\text{Umlauf}} u_{\ir j} (t) = 0$ (Spannungen in Umlaufrichtung positiv) + +Knoteninzidenzmatrix: $\ma A' = \mat{\alpha_{11} & \ldots & \alpha_{1b} \\ \vdots & & \\ \alpha_{n1} & \ldots & \alpha_{nb}}$ $n$ Knoten + +Spaltensummen von $A'$ sind immer $= 0$ \\ +$\Ra$ Zeile des Bezugsknotens streichen $\Ra$ \\ +$\ma A \vec i =0$ (reduzierte Knoteninzidenzmatrix) + +$\ma M = \ma A^{'\top} $ mit $\vec u = \ma M^{'} \vec u^{'}_{\ir k}$ $\Ra $ KVL in Matrixform: $\vec u - \ma A^{\top} \vec u_{k} = 0$ + +} + + + +\sectionbox{ + \subsection{Schaltung und Netzwerkgraph} + % Verbindet man mehrere Bauelemente zu einer Schaltung ergibt sich eine eindeutige Verbindungsstruktur.\\ + Der gerichtete Netzwerkgraph stellt die Verbindungsstruktur einer Schaltung durch $n$ Knoten (node) und $b$ Verbindungskanten (branch) mit Richtungspfeilen dar.\\ + Jedes Bauelement mit zwei Anschlüssen entspricht einer Verbindungskante. Ein Knoten ist dort, wo ein oder mehr Anschlüsse von Bauteilen durch ideal leitenden Draht miteinander verbunden sind. + Verbundene Anschlüsse entsprechen einem Kurzschluss, nicht verbundene Anschlüsse einem Leerlauf! + + + Um die Betriebspunkte einer Schaltung zu bestimmen sind $2b$ linear unabhängige Gleichungen nötig. Man erhält diese $2b$ Gleichungen aus den Beschreibungen der Bauelemente und den Kirchoff Gleichungen. + + + \subsubsection{Wichtige Begriffe} + \begin{description}%\itemsep0pt + \item[Zählpfeile:] Zeigen die gemeinsame(assoziierte) Zählrichtung von Stromfluss und Spannungsabfall zwischen zwei Knoten an, unabhängig von den tatsächlichen Richtungen(Vorzeichen). + \item[Masse(Erdung) $\perp$:] Bezugspunkt des elektr. Potentials mit Potential $0V$ + \item[Kurzschluss(KS):] ideal leitender Draht. $u_{KS} = 0$, $i_{KS}=$beliebig + \item[Leerlauf(LL):] ideal isolierende Luft. $u_{LL}=$beliebig, $i_{LL} = 0$ + \item[Tor:] Ein Tor bilden zwei Anschlüsse bei denen der Stromzufluss des einen Anschluss gleich dem Stromabfluss des anderen Anschluss entspricht. $i_{in} = i_{out}$ + \end{description} + +} + + \subsection{Eintorverschaltungen} + + + \tablebox{ + \begin{tabular*}{\columnwidth}{@{\extracolsep\fill}ll@{\hspace{1em}}|ll@{}} \ctrule + \multicolumn{2}{c}{\large{Serienschaltung}} & \multicolumn{2}{c}{\large{Parallelschaltung}} \\ \ctrule + $u= \sum u_i$ & $i=\const$ & $u =\const$ & $i=\sum i_i$\\ + $q= \const$ & $\Phi_{\ir M} =\sum \Phi_{{\ir M,}i}$ & $q=\sum q_i$ & $\Phi_{\ir M}=\const$\\ \cmrule + $R=\sum R_i$ & $M=\sum M_i$ & $\frac{1}{R} = \sum \frac{1}{R_i}$ & $\frac{1}{M} = \sum \frac{1}{M_i}$\\[0.5em] + $\frac{1}{C} = \sum \frac{1}{C_i}$ & $L=\sum L_i$ & $C=\sum C_i$ & $\frac{1}{L} = \sum \frac{1}{L_i}$ \\[0.5em] \cmrule + $\cx Z=\sum \cx Z_i$ & $\frac{1}{\cx Y} = \sum \frac{1}{\cx Y_i}$ & $\frac{1}{\cx Z} = \sum \frac{1}{\cx Z_i}$ & $\cx Y=\sum \cx Y_i$\\ \cbrule + \end{tabular*} } + + + +\sectionbox{ +\subsection{Resistive Eintore} + +\begin{itemize} + \item Implizite Darstellung: $f_F (u,i) = 0$ + \item Parameterdarstellung: $u = u_F ( \lambda )$ \quad $ i = i_F (\lambda )$ + \item Explizite Darstellung: $\underset{\ir Leitwertdarstellung}{i = g_F (u)}$ \quad $\underset{\ir Widerstandsdarstellung}{u = r_F (i)}$ + \item Umpolung: $\overline F$ entsteht durch Punktspiegelung von $F$ am Unsprung: $(\overline u, \overline i) = (- u, - i) \in \overline F$ + \item Dualität: $(u,i) \in F \Leftrightarrow ( R_d i, \frac{ u}{ R_d}) \in F^d$ + \item Parallelschaltung von Widerstandsgeraden: $G = G_1 + G_2$ \\ + $\Ra \frac 1 R = \frac 1 R_1 + \frac 1 R_2 \Ra R = R_1 \parallel R_2 = \frac{R_1 R_2}{R_1 + R_2}$ + \item Serienschaltung von Widerstandsgeraden: genauso wie Parallelschaltung nur $R$ statt $G$ + \item Arbeitspunkt ermitteln: + \begin{enumerate} + \item Schaltungs aufteilen in Quelle $Q$ und Last $L$ + \item Parameterdarstellung $\Ra$ Kennlinien zeichnen + \item Lösung: Schnittpunkte der Kennlinien! $\Ra$ ist die Funktion im AP stetig und diffbar, kann man sie dort \emph{linearisieren} + \end{enumerate} +\end{itemize} + +Eigenschaften von $F$: + +\tablebox{ + \begin{tabular*}{\columnwidth}{@{\extracolsep\fill}ll@{}} + \ctrule + F ungepolt & Kennlinie punktsymm. zum Ursprung \\ + F aktiv & mind. 1 Pkt. in II. od. IV. Quadr. \\ + F verlustfrei & nur auf Koordinatenachsen \\ + F quellenfrei & enthält den Ursprung \\ + F streng linear & $(ku, ki) \in F$ \quad $ (u_1 + u_2, i_1 + i_2) \in F$ \\ + \cbrule + \end{tabular*} +} + + +} +% -- Seite 1 + + + +\newpage +% ------------------------------------------------------- +% | S C H A L T U N G S T E C H N I K 2 | +% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%######################################################################################################################################################################################################## +{\huge{\textbf{Schaltungstechnik 2}}} + + +\section{Allgemeines} +% =============================================================================================== + + \subsection{Die vier zentralen Größen $u,i,q,\Phi$} + % ---------------------------------------------------------------------- + ... beschreiben die Wirkungsweise von elektronischen Bauelementen.\\ \\ + \begin{tabular}{lc|ll} + Größe & & Definition\\ \hline + Spannung & $u$ & Potentialdifferenz. Richtung: Von hohem zu niedrigen Potential.\\ + Stromfluss & $i$ & Bewegte Ladung. Richtung: Bewegungsrichtung positiver Ladung.\\ + Ladung & $q$ & Grundeigenschaft von Materie. Es gibt positive und negative Ladung.\\ + Magn. Fluss & $\Phi$ & Grundeigenschaften von elektr. magn. Feldern.\\ + \end{tabular} + + \subsubsection{Allgemeine Zusammenhänge $u,i,q,\Phi$} + Ladung und Strom beschreiben den Zustand der Materie.\\ + Spannung und magn. Fluss beschreiben den Zustand des elekt. magn. Feldes.\\ \\ + \begin{tabular}{l|l} + $i(t) = \dot q(t)$ & $[i]=A$\\ + $q(t) = q(t_0) + \int_{t_0}^t i(\tau) \mathrm d\tau$ & $[q]=As=C$ \\ \hline + $u(t) = \dot \Phi(t)$ & $[u]=V$\\ + $\Phi = \Phi(t_0) + \int_{t_0}^t u(\tau) \mathrm d\tau$ & $[\Phi]=Vs=Wb$ \\ + \end{tabular} + + + + + \subsubsection{Arten von Bauelementen} + \begin{tabular}{l|l|l|l|l} + Art & Symbol & Beschr. & linear & Beispiel\\ \hline + Resistivität & \includegraphics[height=0.4cm]{./img/Resistivitat.pdf} & $f_R(u,i)$ & $u = U_0 + R \cdot i$ & PN-Diode\\ + Kapazität & \includegraphics[height=0.4cm]{./img/Kapazivitat.pdf} & $f_C(u,q)$ & $q = Q_0 + C \cdot u$ & Kondensator\\ + Induktivität & \includegraphics[height=0.4cm]{./img/Induktivitat.pdf} & $f_L(i,\Phi)$ & $\Phi = \Phi_0 + L \cdot i$ & Spule\\ + Memristivität & \includegraphics[height=0.4cm]{./img/Memristivitat.pdf} & $f_M(q,\Phi)$ & $\Phi = \Phi_0 + M \cdot q$ & Memristor\\ + \end{tabular} + + + + + +\sectionbox{ + \subsection{Komplexe Wechselstromrechnung} + % --------------------------------------------------------- + Vorraussetzung: lineares, eingeschwungenes System mit sinusförmiger Erregung $x(t) = \hat x \cdot \cos(\omega t + \varphi)$ + Effektivwert $X = \frac{\hat x}{\sqrt{2}}$\\ + Differentialoperator: $\frac{\diff}{\diff t} = \i \omega$\\ + \emphbox{ + \begin{tabular}{ll} + Reeles Zeitsignal: &\!\!\!\!\!\! $x(t) = \hat x \cdot \cos(\omega t + \varphi_x)$\\[0.5em] + Effektiver Zeiger: &\!\!\!\!\!\! $\cx X = X_w + \i X_b = X \exp(\i \varphi_x)$\\[0.5em] + Scheitel Zeiger: &\!\!\!\!\!\! $\boldsymbol{\hat X} = \sqrt{2} \cx X = \hat X \exp(\i \varphi_x)$\\[0.5em] + Kompl. Zeitsignal: &\!\!\!\!\!\! $\cx x(t) = \boldsymbol{\hat X} \cdot e^{\i \omega t} = \hat x \cdot e^{\i(\omega t + \varphi_x)}$\\[0.5em] + Phase: &\!\!\!\!\!\! $\varphi_x := \arg \cx X = \arctan \frac{X_b}{X_w}$\\ + \end{tabular} } \\ + \framebox[\columnwidth]{ + \begin{tabular}{l@{\hspace{4em}}l} + $\underset{\text{Impedanz}}{\cx Z(j\omega)} = \underset{\text{Resistanz}}{R(j\omega)} + \underset{\text{Reaktanz}}{jX(j\omega)}$ & $\cx U = \cx Z \cdot \cx I$\\[0.5em] + $\underset{\text{Admittanz}}{\cx Y(j\omega)} = \underset{\text{Konduktanz}}{G(j\omega)} + \underset{\text{Suszeptanz}}{jB(j\omega)}$ & $\cx I = \cx Y \cdot \cx U$\\ + \end{tabular} + } + + \tablebox{ + \begin{tabular*}{\columnwidth}{l@{\extracolsep\fill}cccc} \ctrule + & \textbf{Widerstand} & \textbf{Kondensator} & \textbf{Spule} & \textbf{Memristor}\\ \cmrule + $Z=$ & $R$ & $\frac{1}{j \omega C}$ & $j \omega L$ & $M$\\[0.5em] + $Y=$ & $G = \frac{1}{R}$ & $j \omega C$ & $\frac{1}{j \omega L}$ & $\frac{1}{M}$\\[0.5em] + $\underset{\varphi_u - \varphi_i}{\Delta \varphi =}$ & 0 & $-\frac{\pi}{2}$ & $\frac{\pi}{2}$ & ?\\ \cbrule + \end{tabular*} } +} + + + + + + + +% Ende der Spalten +\end{multicols*} + +% Dokumentende +% ====================================================================== +\end{document} + +% ToDos: + diff --git a/img/Induktivitat.pdf b/img/Induktivitat.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9e70e78941dd5d008a539b58e46161f3779468a9 GIT binary patch literal 4673 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ⅅr|!rAqx2V40*1+>basJdz_Vpa>ap+gACC@kJubrt*o;()rLZXUc3P) zoBvpeHLgM8m(Cv3gyaeh1nFa|pTd?2GK2UnHpK7m{(9gmJ-B_rJ&7aHr~pC<0aro- zFn0#STSFOC=^#j?;k?~Rc)AjmMwDOKv=%g~D-#d?Mex6O`=#CytFI8yg0JL~9uC~r zR3bYDb~HZ({I5=aG=du!m<=ji@Shi;s-l8Y0o;He7#fZS(-gV@$|{CHAV32D#NcoQ zxW0d42)H`P+MgH-gIR+ikVvrV{%MCmqt;+3_*y#@TxE@aD3mIgYJZN0LaBr0`d^qT zSO)%up%L&k{-Kdz;rMCCpy9x5rm_F!!IA<95PwiQSy8Fro`BY2B_*H~1laq6z0>Fn U9F4(d9F4@NammUaGB@D*4+KzWWB>pF literal 0 HcmV?d00001 diff --git a/img/Kapazivitat.pdf b/img/Kapazivitat.pdf new file mode 100644 index 0000000000000000000000000000000000000000..95f4b0daa38fa840d6d683282802829079a7a18b GIT binary patch literal 4156 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

(BP6HfQ^rb<0%U`5s_s5 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

F7M39 zlh~dN(2z+ulu{K2UD!OGwSU@S49y< z@b@F?$wm(j#Poj{F|1;K)A;5y(bgzj=js<}kUiWvtvPVS`tlUf=A22FL_4M@Hm675 zB~`FUcry=<=L|^?9rmF`GCnxqNz12b(-pDT9bTAP1l|zI*|CGICuFZ(G^}&7_iJXe z6vL10W%zDg$iY%H+o-h1_guD#Zd698v9okwcn32|@5xu*FMFF^WH071!epi7{5E0I^K{wbjJy`qI+L{KOgGF5tl9Udu-3F2N#ySm9U&|SvgV4`%lXzy zO|;hyaxVEAjP%BD@z)PgQ>Je;YTUoe$`n7-9y=9aH+UL;+mR(yE^_O%ORL=UHG|Cs z?!uHcn-1i3h$zS_Ul_S#m*5^#mzQi;zP2y-OOET_(CWKd@8DW(3!?|ef&GjgAc#WD zx^IxF`AxEdDGN4P?2_0JBW5$!)5T8WS68^As73v0cwk#buFp21Tg4?teSj%RUMdSTwR+t$XKY$$`Ef;QOS6K&s9o^UOltu>BXy zk{M{>CDi^b8>4|sl~yN;-h@V# zt@E*|Xt`feuR@;eMke5rWzE|3`1AGog6oOt$(XG32Qb^Ht_#)3)y+>mA`s{~HU0|2 zvtf`ER`rNA@ zfp?_?sJSsZGx1Xii2{@mXgC1EQ7V86^kXJ+?qc9QNY2`1R}UgEv#>VZnG=Oo;Arj| z9F{n3B?LILs4kvrL?pSoK||0pGpray&%J=^uZGcVgChWB5<~>R36b+dCO98=&%|cV zVD6SyOeY2x8R+iP;}ALB2yTxKo=)UY{-zLUu+?EY#L6zR3xzY9gJCR*t|Z9#ARTE# z=!eKv5hwVX(FjBuiR=oPx~!N~st3`NBQsZ`pV6PQ?XTkjz!?m{S<4o1 zfI|p{qf-*9>FX?oR|85b2#p=xzBI71r1mI1Gjj3SlO%(e1;uQd)<;F zB_Z7D z)i_gf&UfjpN2vZ=o>!K(*mULK2+75T>Q<~B>xDphk=^H&Y?BUz%bK(6*G${6DTWlr zp<#m}>cpoPrUTbnw{LNf5PovNIi1~P;Bup&C~vIAB`>>*oTTxjPejJzaqvC0>mP56 zDg+q@Goz@6$mS2C11xMmJ?vLJiU2??1>&B;cp;Mxma=J_qY5cDL^8KB)Wv}d= zhW?3Fsa1&y^hTily~(dN>;ijF+!JjVWyKfSui97V-B9IDko9{wd{it7mAa4NL=0Kt zS{K=rLcNEvP8AGXA5wKMkL@F}W2;L~YtM&|4pYZ34QUu33CB9t+BjD6p4S!>e#i#K zoMGNh5<>7n^+K8Ba2>Z}wo2E=d*1ZC%9pQy#OkidH!0oLrl+kKQ82Z3I%@in78|Si z@Z7|*!WwcO{o~5Vc?KP<=yAEexP(#VfqyV${8|++o=cViM=UM9R^9RyOY-9H8`_$Q zjfqzcO}k189@%GKcv=v)CS5E)tG(xX7Q;Frsm(J>X3ueV%*~zS3b{RoUrJB4ZCt51 zadhJDZT=wI(_ZU3Mq;#G@17LJfg|@sS5EZ1(hk4}eGhKl%5c6IVW9h=HNPLULY;nL zET79N$ouMs(mFX}c`nQc=kC*V)+ok4sKr`hvT5tsmI`UBSjz6hP0pEO@qST18k$pK z7Ub#Xwq|EDoV<#-#-8a(dVTfj$2Ju%bT~Dt(B!jLuAR(qKt?#LHq1XP=HO*BWC&Ri zu3T$YGwQpabyU7T^p#@K*lv%3N-yNumffXKlf!yjo_`!qj<9}|z&s(BOpZS1sPaVM zlG^%)Z}}BfcTGy$X+tYc=qVNx_U&!%EqN$WTGwQtCAE(MkPO1C_EsJ|s^evQzPoVK zdN;vk150@{Tw-ARvIy^4w`}V-X1)I=aW8b6gIDe%hk`G~?612&HOn1x z?yX=?-{9wMDdJ!89H~(GX*$qsPd0C84sUvyt#(H?X-w2c`gPGezk*%QlPEWBcA4lV z3Nlljj9zd1+*nkns~c#zUW^=`OJ@d7YiW#Ybo?bC&$?vDmw})PYAzyk($!g4{j(4R za+1~mt`funHZ{PS(9fFpC4E*$MN}-i;sL|nb~rn>I65}7AsPXOl?TMw6*epmdGqzo zTc7TNpniG6$+1<+dngJZ0E7Tyi$>7(-*@lYCh8W|Dw#y19tv5Yy-{|41d))z*+FjiLAfm z=SuzGfSU#S_ca?8*Xi70lb+hH_bbQ zdG~pSHBO<4&OL-ZBmxI0aj*AW35f|IK5!m(L(ETgbfJnb1j`|;jVIA40H_SYl@WlP z8-qdJ0fUNU5Yd%}r@E1x>BhI&wC^Urdf2YA!u?yycAbi2T2qbi&|CozFVxR;5eLVz51v;WX zY1oBxu@E%>V;mBRT(B<+vyc}Q2Dv~s6c)8$JrowRU|%$X;|PA|4~afUK;(nSsE+ E00q6jApigX literal 0 HcmV?d00001 diff --git a/img/char/PP_unstableStarNode.pdf b/img/char/PP_unstableStarNode.pdf new file mode 100644 index 0000000000000000000000000000000000000000..090d57fd5114f067d6c3c00ce45b75c3dcf7d418 GIT binary patch literal 6449 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 NX0MEluBjgHzW`=d*Bk%< literal 0 HcmV?d00001 diff --git a/img/char/PP_unstableWhirlNode.pdf b/img/char/PP_unstableWhirlNode.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c31b6f07d5317a88bd533d57c38561496b2795f9 GIT binary patch literal 6399 zcmcgxc|4SD_phWyQMOc6cS<45KKATGA^Vn8W6X@vm>IJmdu3lM3h}6yB(zb;8d0(o zA)ZQl8e5yKvJ~aL?-6v*BLo|D#L8zp4aP&N$slFYNHpwXY|M3%{Pn|V+oH< zo{CC7*id2qrf*%^8jt!kzRUy-6vd_~SwFoWciq-ExNWK{a8x;~L_)@1c4>u?b^Sh# zZe2pteqo$U#OQ-%mPS@1h@gDk?MS0siA?DS#_6dsch0kQbluugf$fi+{NN^^8oRrn_1QftsdI9RCDE_aLG;Od za+lD(;(aA`|MDvJUFkJ^(AjXSpuxS~)7s{;sUpK#%cDp`kE4w;xdt20{m?Q!Aa;k# zk9cNv5@m`wxlWyoGRM)LiJZSGt@9Q=^{sjL&asMajmGobL#b&Mf_}{UHnbuksP7g7 zXDz%+U8p!E^JRbEl9BGYcB1TLkHit^uZ_Qjcc z4zGKd_^D~T(PgFeA#NYgm|?Z=H!a=@OLatPFDb5S-{;^niP6}YlQ`CZ64$1lP}n0v zqIksqwL0MN6(3dosNElsjZ|j`>Za@6fKd*nln zN|56*;X~WwxQM@4&tB!9MNrcB2BJD3O_fj`yo3*WH(JRW5s_PQM}^F+<>&n3IO zx_>NdxfqfuK%}|+v{mpIWaW@)L*JlrW0g@*Kh#3b-2tA}8+fw~t=OQ&0~#6-0eoP1 zIM@JSdO83CfD!QECwLFQj+svwj!t9G8%^*`OASoh15_XmZ&I4aR_g9|V zAAngOXAl9HIi5`9@nVi=62YYrv-4o4L>CHPm+lQXf+RSAMk*{x zz==0e59A1($pWAYK69H5nRE_g9+xv)@u;(6T7e8O@iZ0#+Lmy9maGTT^@*Mo0@2b? z7b5-?+mgtlbC?7o3xHH;IZq@Nu)V;osLnC+JGTPqXvY5_00deY`!_$sv37D5vlII< z*jbD!O)rx)|)g zm0)@K%XTpx$6fylzbrzPN!XwtxlS>`lDh3$^U7@svh}nkn(mqnLyhJA0k1V#eWi&k zrHxD0b@7E^6Ana6Gp4r$eK)y=VSl{pd6_gNp`9ahgX#T6`{1X*lqKGdUHz3+qSc9e z%g`njiK`{Ezen_(XiwW6G%V7QCY?U9;`M>MQ4BqKfA)RN$KO_Ettu7Tx;fpRdU9A6 zPgg@ABDF^N-W07mmSH#+H>i3!PPjtbTl{jFz0SI98;fnLLuL3Qr9vfhc9K;TiPkF& zn2Dc;R|I#2O>Licd%qT`Yo>6bc2(V)I7NXS|AMJMBu|KKZVrt#@{Kuts9@02_F+!a zQ?X&OQnB{C4|~V5MRMJnZ4&EyuasPnH%K^# z;x6U8Ngi`w4L7(Bte3_6T&>U;%0K^ZG&0BNMC5)_j(GV^@!E&AW`A5PoBUDe5~J+o zaISpEpO>?YIEiFmz7*dp2W!jJ2i}fc!Ms$@?{9oxKppxs29@RTxTAc_voN=4Z8VK+gtAJRhu1>w>l5rJ`{`VVeVD%m6fe( zNi>dLCV}9<^I)aQ>gP*MS86?IitKg{{hAc5em8{wP)*j|AhTiNCxp%Yj1@!DG5DQ% z5~a;yhrd+nt}Hw%icJ^a-d3#fo{tm4bab#*3J>GLM&c(dIz{Yi?6?Ukat{se$)1@$ z9e6IQXK7mRx(TO%c-ZjmDZvU|HKptEwzv5`)7&QNlxZKZO z(|ZT~tS?OwZBk6TC0}5BW3TrbkkW;UM0fBx@tvpWW5PbPOT`EKH?|K%A6OH6&GFd* zi-4PA*VWXx`XUE)iazU}?)#eEx`pk-^)P(9A>?QYhHF&P>z$Hosuy*o#DuUlAiR?k zrQi6K|C4PiNhU3i9VT;)rgrPmV3O#j@cwD?<~uHv?q^GvUdd}mZ!pbh&347EQ8oJ> z71oh)Gm-XPvNI&hk+yeD$EAF0#TMqPW?53cCOh-#xA<$v7|GK&pK3m+%*x(;{zdGR zzr*lZ_?<&pB4uK?&yqT1r?2966u61f*Ka>^y;E$DoYEg(?l~m5#nj~`Ig|X`Mjk9Zk~k z38`)=iNaNUu_vtkmq}2&N|`U~c4qPqcBpo@or%k#Xa`29kPp8Z?&Ai*1eSbRsotZ# zLu#=92jYEVLI6Xz-aNaIKkRT?X%ZVFdQxdPkCh%)wv~U9)!81*koW%{?vhchx+#k4 zs{hQ|QW1SP$Hr*zVujVIqSv8Or5n6#%G)25H!0I5dr%2ZNit^7^;hQ`tO{--W+q{C zQjcJFGsuh8$kWYFJtC2qIW_)@!n08jimLiV7J*4&u<1-*Sc6Ch@a|xU#O>EHFfrPr z=k88Hz~}mKcy|i*I3P>lk>zISR6Lmlpy$Tu&V)}z6dF)OV&DJ*j#dVg!5=e`a~~T| zr4V#zWGWGuSy+cffP%0x9K%}!VhL(1A`vr->fsqiL<-pz9Dacr+LT#LPfK;ID&MWcBKo2#cGN3=Qw>$a`Y{I96CHu>50EZ%V4tvt=5MH z-wIw&5MFh5qsder;1G@Iqdg5?e>?oqwwO0zh>`A(*Hh8jf-QqiFISlf|Byp*cGfx_xw15G z%TX<jVfgNBt0-x=>Avpdl61FF!zxQ{qX76=VDM^({7y$n(Z(Z$Ol}K~bhDr+Z>*h^ zms>?k)NJe*leTCGzOR1m;~numfri1HD25@b^@DgptEEN8+tH>_^^)UP{WWv1XZP4B zv~_KI7agpRbAA<3<#Khh%{V)XQ&`_;f2|l(C^Oz3+flJM?{mz9(R;6o{Tw}R4!jUK zBaSU&Ne5EKD}7fU?y4<)dC+;}uUO?;<(L3ZB*xd1_Da(spzqXu@fYG*@kIv(?dv?7 ztK3{(xcl88d5+q0dCA3S`$>fT2w6Dta9XnCxUYa8-#omtW2vi)%hqe_E+VQF|_We>iK zmi~U0mL7t)y(JPoR`-wW%2thuR|(CyObPyCf3WbZ5Nv&>M1IbT-fKB*>x9JT?m5!N zC*82Ow8!_{=r#OQa_0HAwF(nK6P0&X2QnY`S=X`8MLYBvCo2s4-4|aw@s7+q0w4B1 zx?>lckQRZ{`_Pg94q=5p`^-e{Mpi-IS68&w=`WTkVO~ydUM&}lVh#qjTT4#1>>Ary zzSSz0zW;a&AzLEeC+bIYYdXw=Hr@KXm0;#1r@UFyczTl6RDHI=rkuorGolJjhqP`u zNPqUf5}s8X<{K7s^pY7Wgr)#jsx_+_^*)>xB=;`#r9#oze(GR_2kJum{*uQ@VSVjw zAIFm-tm_jvr(~08(J6fk`P1|zbf0Mi)y4%s?#uCSZ zPj|Ur_Ybtn9)W$~D>U-B;r-OMoI8DUHGg~2>NRbsJrx7f0cOUz{Gr$RGfVAsI&&#w z;x=1f6}|N-*w>awzh$$}RPUS+C*9fT)$XCEMRj_50frkTXyG?loPcR9&2i1n-vs1Y zmkjzc1VR}-7m=ZCb=Fn?tPLTcT=kz7hag~61FR1n+WSDtYh6@C`HFv0VXAi=FN`gX zj?He4Mk2z>{9_yno0o>X{(A3?S5HCUJ2{urLsA1loBV*6qC6v^$ZfNdyMh6 z;jUeLS7S7=$M2ofyRb4RfwBIHPLY#2C7ROD-!k?+l$N|;&Nh`3`~#NBe|ECNZY9QN z(*179OD^p~maSc;P^P@E*MQX+OiTL3x#G*YzS((W+9!tdO2k?ZJo~(+<|AwMZHXU>pXm3?k$Ob5$3whd>~~gZuk9BnrD|E)u1( zXkR2&1vG^PbCn@vzJR8RT{I4b!YtYsja|$O8Vkbu1?!V`B3Dqp+g*5TUb#uA(KK&IWikF%yxXGzZ|>C@-&KvGGhc@ANS$ NV6j(5#=s0G@NYq~z{&ss literal 0 HcmV?d00001 diff --git a/img/char/PP_unstableZero.pdf b/img/char/PP_unstableZero.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a14480a083739b9325169eef6d7a4481489c6ef4 GIT binary patch literal 6487 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 literal 0 HcmV?d00001 diff --git a/img/char/capsin.pdf b/img/char/capsin.pdf new file mode 100644 index 0000000000000000000000000000000000000000..75e344870e12c059e823f12b846fd97f7e51be4a GIT binary patch literal 7896 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 literal 0 HcmV?d00001 diff --git a/img/char/char_NIK.pdf b/img/char/char_NIK.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a3a07e1e52ad1508f72dec11be06236ef60aef98 GIT binary patch literal 10662 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 literal 0 HcmV?d00001 diff --git a/img/char/char_Schaltung1Grad.pdf b/img/char/char_Schaltung1Grad.pdf new file mode 100644 index 0000000000000000000000000000000000000000..891c0388ab681c138cddb993cf2b1bf7dfa6ea55 GIT binary patch literal 7209 zcmchcc|26__rNLZNPG~5>e>lo7K0GUo+Z1inZ{r+gPD9gPUo&bkN^yD zJM9cnR0O1Su>?o56Ce$Wj3592NNM0)$yg$Ibw!i0YFLb$Jr<&*1R;@$STr7THu1ih zUN{GwwPM12oJIFWlewwgJP-<;HJB)xQZYNj<-sypT{)XgZa;!-naXN}k(DP`Ow-$k ztmhV1=ISe#IKF*n;nLF4l3YoN`fe3kS@MDBpy*O7bj54+<^1O)KF*Q>@CX<-w8CLi91S1%-yyL8hcR9UgItRsYi%ut~Yi{#F@+GZZOe+1!QZr}J zTrrFzThvSr8Rdc$E{^2VOThj~*s-C8{oTip< z)=eBQU-Rb?biWoyb9L3YRo7ed($WUiW!Kb4w{%U~m*`Po&9sTZ4OjSNEy0=0g94 zx>1X^{up=Bmi^RY>}x^(2g+ZY)eOD}J@pTtIA_kTrOsRU(x|y8%$Z#fc!c4r%hO8K znW?V81S0_-PB%4A%TFZ=@iiI}p@bhxf?!%vJm6SAk@3coYw@kIXVd-TVG zs97awiYZLXXWd2WT%7Bgx^!~X2OXvV!g#tOU6`+Y%VeH9k6xBS7e>`**PZmzAn)n}1uO7Jr`1WU00;Wgkdioa2ujB*9t zOb!mGJg3|tetP4&|EZrPYZ{Y5-vbmCDFW~#g@%DQfRw5V00*QnXz&~KNbteNx0Hq( zfxM-(gCtB62B0=Qn$m!SBpejUY>L2o;NOq_WqLAW z?psE=(bc+iQ%z%V07Nu_ zS4cM$2*h5;GVZw@5Iw_IC;{A#3uN)_I*Exu-@`{lq9SqMR3h|rkumjqowckm%Uay8 zmTH9cFcHe!v8!{J@Xn9Qjv!-X+Ri$@P4+pk*u0oj;YiOwB{%G62QWvA2v@I+@1pX% z&=oaOb17}7x^d+W7<0f`O%bnXt$&oX{}rpjD;;wDT?2ZTLhkff#M@$@(C9ow+X(A-7w4QDi{rP_dai!R zM?&@ueBCjk-PmNie^-}G@J-^I_Kbh`)Xehz4-=qTGChLJOj9yqW$!{|^ zG!pD7=`dG%QuQVJA(VB+*W4i_^3LqQAQNYF(Py^qs*DlIcWwONm(Qj1OVQUx2>URK z33m$K$$B}$QN|!NkcQLiunkHpeOkwFUf7xI0ttU+8q~UzyRS5iK{~3xxt&k;L6}nU zLq2Q11o<#MhS>Hm3Hd`I;@wzykl-knX0j}!lFz4u*Y5njB_xn_V`tOuGSKbTb7F~mAkG^zf0 zEZncH>jK;T+%v{;%9$5XqRE1!vjHa&5%lWEo{a>@i%2Kc?`y|#<)|?X=L;4%pD^UA zW)!;hw54OAqx!QSS+8K7#?ixkqf69JE|$5|&-aJWme9(g z4?L+Ftk~Uc$C;aJSMHknjlr;`N;*+B$8lIXF^JuLSH>_fRUE_eR9|h7=}2ffyF9C3 zpa0T#D(=;;$A<~#MM!aE4VnwTqZK}N3VUG9h2MxMD)!+{p9xlpinW*65nv}#d6*Dp zrn5KdXg}~zw~nwW<0$@RK$gS_`$j5@6oDM;1o`xbwV~BbhR5l+uCTW^CT0i~*M5_G zTXl+eHu45juJt4@()CSS5Vaq?vUOO%W$a0;exW$De;G zN;j7&K2o4NllaZS^eY{1tT#+cxY54D?n-TPb(D&Y>FwBRd%t7@C88X^W-LN}mwp#h z#ICF24&tFR@JB)RBQmf3N@Nl=?zXd5RS0zdaMU!*^i6KoqkYK%&Ysjt z{)MhepU#~5kW!^~);o>M2-wZ|eBhY*GM(djnNHds==)$UF%PG@)it}oUV~_rH_%}V z%L7MB+A!y>a-8UD#J?ZsV<-7|c=ELJEo7OwW}n8E51BTb)+Ji>PV~<@L2LcwcvAcXSDTn> z=Nj0qklFK){bi~iY>)xIy&7K6&>x(N=-pipBPH?;6IBP#M;XgsuL>DjR-U)|*j{mF zoV}4{cSZwE%T;V*%~LvbRom4}p1i@dvO~o;$Q+28@A4vv@zqwydWsAw8moX{0l#p7{s*w1GgXgto<8xX~;i^VqNu4qRRApNtnI zbOMW@Hfk7?v3N5;?$?dh<_$#waA{x>0EG&+QUZKy9JGNWl)~#>8hf55ud|SCmf9S(q}G;6vPXl~28T%kN3(8Uqm4N>aWf_0 zD6u3s`F~EsCKhiAN8vx|^{??LMdeLgL%?8if8d&*tFbAE^5T;R1o02H#qs&^GZjir z4t?fDg*NDj>FGiq5@a_o$>w^_ov6T@97Uq_vu=o;lhXCg(Gm_S#~742Bh}bP)m9Az zYj0IQsNKuXTz|{|-9gBsxWYNW90o(Aire{u19-X$?6%{-kYBT2JbvozcozT0iKEmzv#5sjT)d=3B zP1BVEi_fc?MNjYa*lBQ8;*zqxc)$q~y(o(!PXK~dRH0?KqvUA7U96074^6d(#kIO~ zQ#9s+r(PW{fgpUAv!c+VpZ7o!A|>bZF3?(R+%mS@tL5Qs16qAGq-V+R{Dg0*PY zWmX8aPo+n3H+9Pv_h1Z5E$8P$D{8ezCi{}YMUv%}1ig~all*gw&diRR|t$ zYrOZYZ?i`K>wVar5Od$`Xc5yB;pQya&-~B>eWQj~wP9nshD)PHO9_EW_&X^%c_J6g zV2^TIRLz%E&AQkGvZwY0IbLJF9*Cai_gro|*F9fV*Z5Xgszr%~& zLG~3r_n0jkju56^Bdz7jqb1GeMi6Uq{2{4?gi zjQAj;-uB7wem%W%?o3e8(37w30dIQUeSA)KE|j+oDJAulynptj!+Lo&nj{duC?r5E z&nFE$^5Cto^Yt~$jcr=@2Bij<8 z9_#6n{#I}j5mxHkfSt!bXg4!s6SvTJo(jAul2e>h--KLvK`?gt80Q*ZZydTQu|i`*n-b7JG+V@*8gLHgmB}?zkd)+M7WPSU7{O;aF{k|^( zg)(jG(9YK{3o4pMGE0@*q8_x~#5i-JAF^G)eV^Lsk)Z@9V{%enJ!AhhMjQVnQz zyyk|j^D`QJlTqPp4`~mfg=kb-S>71BNpxsCM3r5-DKg>V=+B&Tky>+vp}9t9PLVh8 zlHHDlqnw0G)IE@!sa)rdUSiHWFv@z7A&1(ck;%Lyc zl3LOT`%St;{Y$z<6X0HRYj^G<*L*}Kx)q>n6C+W|m!WM>e3Q5>Yq4WWT3W)--a{{H zr+GySYLZbMLi-|aOR+Wy&FG7U;b=v6nYGzy1V1*5csuzT?}WS8*!PY+*2Bv^K)53k zhmccmU{!1L;xTDscBx7aNy~LLVy-yE>=< zbAr+kvt1Zh6vu9>DVA?qs zCn2bygNbeGtT`W!-qC(`u`|buDnnZ(fsPy5?Xe%Z6M#LjWcGZs zv{x!F?eF)>e?Otj)$P<#oW^UD?!?F4hRs5Dp3D@pG=6vQB`K8@#!HIxc~UX>B(VYJ zEOeYS&is~oq3eE4L+nMCGV!5PzQR6^e=+W6f(bme5z;b0@pEgE<`US zeroIJ8W|da_(}XLeS*^e44=}-P56Y#{U70TgGT>v@Co0@u>VTC!8fBE3ikZce_iYU zhCa91~dpS4^wXH53Ap?5S@8uA(;ApqWP~Zyvy&Mt- z#zos?hqv{CM1pbDpXFqwLG%9J9!eVAO18<6+w?%mqPE!&B`deB4;dH|T$I1}A%lW# zYfnZ7xuq_dhz7%3;`-Y>W866`WiBahY2@Zc2G-Za#%V=~NrCk>x*i0R$Y>&YefDK! O5`!)(nBO%hVNJt3mE*mr=4GKs%EUS(C93XfV>12(u0YI=O4H5tVASiF^fI*_L-wp^2QWk09Y>6b1lq5l8P)LL$iAO@2 zZhN>PoNQ!~uap89BD+9LU`#+na(4bgzPqmg3E>+6yrHn%Gh9p|atH)wKI zo(OY#i!)I_;D_rzSsHAf)(EDN5@0rNrP@{7|I)))XYj(dR*a-m1N9fG{FKT|UM)xC zwZw>W%a&;VQ@ZQu@@ONa0hI#JWN`l=l={GIhdPrVNXPuD^M2^2+!yn6D10v61{x=$ zr_M017@oYRpqlr7#MX0~vF-H^6<;k!&tG*b%Z)Up5EvpNw3v=to^UWpTse43*w@hZ ze0?;~lp^seO6z8O-RQ&I{LlCDS@*zg8#TVfI+A7{6Q1i(nb};Pf?@IavlH^Ck`tzv zh>0WH0y3Ol-1Mg$hPbd77GR#{$K4ydx_x`$<@+)Z_5_i!clWP4zbjQ-;TL(G?pJ(X z9n2j|*Rt3o$zLO7hCWSAt2y;aSS8v*)gbi~tg_bVy4vQ%D>6D%a=Lbv;EfxDhbQ9q z^N0(YN~@dHKq4cU{J>8OLAMKHy!?7q9A)g#Zs!kJZazL2Y5wrEu@MOed7R!GHhG0- z$QPgH2utXM8A8H^RK}8@Nze0|#ryMfU`}f3R<^I+NF<9?N!V-iP7V!Z#+R?BwCW(X zwU&%{Q}Ka(Q!fvdaW;+abmO@d-dm-H_cR&LFA=D6anc!<6T}!uaRd+hMesqd+t`+l zy{K)IUE@i%)_HiHD*a0_S7EI$DfHqTFiTBKcr$d9j|BrK&A;^Z`OwPP9QCcX^KZ+a(WzzOH@ z>U2F!w$jD`s{!7nnYxB{cEg|5Tzxr>r+Eo`F5h#i>KB3aSh;r!aU4J#s67NUy;#= z3n3jUiBuD(NSg1oa8HiPY`g<#P>uOHzgJ-`pM1>GXOOz3H@?){7;E#)Hz~+_L$<`9 z8@B7KVweI9=f2v6k0=>7w#oPEXVGfA+mWFk(^n9}o5|PQb&7H`@GZuxOQq18?pz)OyocC&Y?k|g0X{bG$?@ztQdL68aa$!+cg{$|}Y;!m14=X~%GruwtO z_hOYytOGu6HG1C+eh`XBr<}e0R+~Yxi^Hh9pU87spbAfvbS0fif-qU1L^jK0NP2vu z)uHXAgDI86*n1X+k_gLsuNK`a+6{-J2c(hR3#lYXC(FNQChUK>ISn_F;l8m`83+V} z<0{}T!QZF6qe)KA1EZjc!A@`hadDgh`w>I{u@?YA8EF6rAZUTW{>4sv*n;D~g7VHz zn4fA}@dNpR0O+@A6W4$hKL~4r{b~YZP4I6fY*W~uzg-gk?h-&y%hLr35L8E4Bahru zN1%|{r-8oRCwL8MX^Xhx>;W*unt%XdumB7W6M~5VAi@Gr7+44j1sEUQDTDPAdn+1% zo8ylsbOn^No6Aq0A3y8J`Ym)#tOqEB6WRs$Tno={W*Mwq7J0+g0;!>J1!w#_6&gsi zvm43+i3Z@(s_|1yBG~KSRu&M>;s3m};1YMd27v(BFu=d8HEz20E;RkLlAl&&YKli6 zakei8TDCoQu;q79dYq{D*kMYy7Iu0X!uA+>nVw8od=qe)hb!fIy;C81ZjA7OKw`0^5yyF*;kta~q>Cs*n1SGJ2XOx9nv zo21r;bn*NIOPG2r;_Hp!c$h?UQ{!`DTdN>^JTJPT(WSOqOTpGg5K1hglzYMx@O1(*+;`V(0>DQAQcQ$HEPEbnA z4Dy@~%zzMh@G?HROiu8)s?(|DjQhz;mChW(yNtt2!~Mhw0aqL*M2)+)lkmyaSqs;_ zNv?XSYF;w1Gq1Jh%{QP7IXsaNhq!i`pH_C#=I&Dpg`7>19zV5ONBv9GCGX|fpMgyp z2o?27^;PT3c6{OkCN>=>hN|_9X|6lsuSaR?vAZpBN6ckjo8#~_D~ar*iycw3tbxaN z(faRI4Cp`AeA|;U6<-az)kC}1IwD;mZhT$NWYPHjMm^Vy=-a!U51)nPd@k70YgYqT zi_5-TJS6kJ@Rq?v*PXkYAjQn0U#KOCiE(P;akIMrU@a+CQ3z2qjGt;KI6e#(LeO`$=Zld$lu(dP1m#ubt`wbLJ#CWh$44Ob}!E>oqbojN3RHmqY&Z1Q;W zqG;JA0BmWXX}EML^CJ1RU|3+th{+S>QpaMy^UDL9(|yyyx>H|Chd)o2uiNbJmE5~7 zL&%w!tKKr2;JBWCt5nW3ql+cf# zw1*jW@7jBWoqia9V=KeNXwuHsyyu60NOCEg+-&mDb}aBjXUvL|Yy?EPQnT)&?Tq@2FO!;?HvsLxy_ zw=pP%A)BVM}Mt#1Xb4&Dc19%oYc?%-j;(b2Nwqf7puhn)< z)8-QGS=vI({)}2V>TeYon(t>v5>3&T8q_VH$=2^9%vBC`(1~nSZ(Vd-^J7P76X(W6 zk?4m6IYnQpC*$)Ye^3+BcjC)*v`?Lvqq?3>iW$@MJk-`gY0>A=shN98tx*TBckV9F zDRT^6Y_m+)x*H2wI$$EQtKsbi~fh#lFhKd|1U>l@gbsL7|^ z&N;2moJXM{BzTUhq(3>e6){Sha)*b)!-!Kg_j)01>AIblSRMTXp!}T_uKuQ0mJnGj zxeKutei2>)O4c4-LHE}@@1+Pgwu$ncWhn01=MOX6ldjZ(f6X2cai5K0ca&H8a;llb zRW(&Q&k8>L{^`NVeEKhYQN3289<$o=ad3txgQb=OJE{gi8baI0|6y#P&h~pb9|P%L z{cBCzL78~#l}a<}7bkN0nELwpf^v1;47Z~y-aT|{YTznpx`rRukC(H zkt!)g{B#PBG|S|D+2~Y5BNHETIrjY5EVQBG?gI^WSLwG8(;wgs*4j6pYq)Nhstz6}lK6j&_#x)APS3a8>wAo*vDsK>Q zrchL86*@`8$4SZ!py#@^NR>!g8d09 z5270ls zg6wV{HS;M05n;nq515Byd@sN52Ij#!?IL@1$mbM$FbXluWaCl_xzpp5cf)3DBZbvs zH~eyYqpwBG#G)LGMPMJ5YMS4)OlivSz@6smj3L8`8ma>*U29k-&#K~_8DQoy%Bc93 zo^k|vp{nPVXN74G=0qjM);dcvTVAd!7l?Oz9e#CkI#gZ;8#0rl)>!=R8!11msO}zqrt48sDbFXa+ zG+(=spP3U@JDCZ1);P<&&4H@UIVm!~&|2PJ*I!3AT>pU>WB$J5Zcnw*9FI`++O(o* zckqeOGwG=Hhlm+Z6lLI}S&nK$eAHhC6t@6`hUju${d|()ia-jegqgz^IPm0f75{U| zGxglB^dvCZ;cKm(9qtpK$iv5C>EvVfzSh`!rq_<%r57UyIl-Bcvt|j7ccQl#TYb)0 zRw>O-@wZkrk-I(HElTs%bJc6eBX>V|IXT+ga*HfUB;QA+Zqi-fDtm=z{_RDvXU12) zn0K~>LZZWB(D5MyucM@$#qCBP$B<_ZXeqx}m}r#C_^jv(z*}P_^(ue!C#^U_v48Ul zFiaTy4a9?R82xv|dyI;4$o78{Q;Z*W+4%t}n^!$UM4Zm3yz48wM}+iVe=GHF=LCeo zF^P+<+1Gh2_8~t8aM$$Z=YS`~ugbdebY=cBK_$o18Vt6bMLza{WQg*#NC%A0&M8*KC2bB zLc=C&+(BaGgG#9UI7R)mVnDSlFU4!68cNz}mEeN38Chi7a}F;KYFXO84s&+}R`0}p zja3!OTr}cKJW5ugvyKD(xsa#W)RnXv*adfl=0l$~YBOGlVJOSJmM`oU5y92@+4S;;F zbLE(B@e4r!{9q^$00Khb066xaW1^*mK{(i2NIO|OAOXh>OQS7tqzw*)9<_mU33ts8 z1|2slgK$wq+FILSt3Z$M(8M4ebpXOYE)>6A-~zyo9V8flV^lvgEYLTCi{q+45^(fL zO*eDQ5s{QplEt-vD+V8xTtT3bILkjJ1Y23t6ODC6$;rwYR~y%|2GZIVORTXulE(69 z}Jpj-TVyX);1Y!v- zE~i2e2mlHP0kCft00M&ppkO#a2!>_O!Z552`wbNa7#sgYG;zfH+iUlqvVgN6=l0*i zmvh2OoVbVtzeU8a_)`a3BCtJy%^Vu*=~3=Aj{9HBS=-4LCyruehTpsBXXpObS3%!p zfq$G6aH;*qg27N2Z2X~bZf4|uY=t^KnZfitj8l-m&i}SV~A3QO`YdK zQZhfZ7AQ+{O_4GPbh+-1EU0Kci;_o9nNwXfUGYNlnNV?#j59KNW##FBcRd<%xk>mV zu4=V?Wz{mnX{G=jJfj08yOuV5X-b@x$|Z}ILdIXRfBDqKm1DF=X=hA z#>EcED`HR28u1DvTn7)TidiX*1Zuq7hNEY4I*PQ`8t(bd(2~Ax5gm(3wd3eXx73Jb z=go6hE>*4O@6RuII2HFWNjE;E*hIq3mRmnl;Au4^EmLsBI&;6LA*4VzrGJ~0+0{$x zOHzGzA{hw-UAK)+F!^FqRlESNZ*h3=tXsE=n(7(EyKNdPZTzM{9*uP>K&m&ZYRJ9y zJC-Eq!TE(p7v0?SF`D(#qw#SgVW4{kS=VOy-pSr?7LZ0%>GO8nKuh)Y_|`LnhQjV! zWw_Kd>IEt~CBY!Up*)bQdMWTSC00f`ja+$)QYxUl7z=eh#O-pY7XJcEpQ=cXMp-Vk zwk=r$#m&M|PJ2jr+%2#Bdm5px0lXh61Q z5#me*vOF%UM<}UU+&6HDQk<%=eYcX3QY>qFN!XslJ_Q_>B!|k$xLKMArb_lIdiS)D zUBQ&9Q{GJnRRD)Q(amD{{4TM6!8p6DluRxt?kPpS86$+-M($b-;B4p9>&)UHF$whB z+qFqEWb(FN?=)#0J}$(WOQB}iRKDeTzy(*c6IhX1uXRZtlW^ zI+FV3<&!0c3m+Hv#c3t1n#N4`^5$kf8r9p%K11uOwOD!ZI&FMCpMlAG9(J}mcxudd zgXxR9EPi&>@J6%VmeFvIGECD_mwz^HxWGP44=-_GSC~ncy>hZiA?ysp*V6U7bgK$3 zgU#MzXE;sA6{3OKqk^$F@xLi@@h;oN#JbY2{) zI;9)7LuBH-m}+WWx?R`i@Vr@AXR)`%Ys!Yi1j&pzc(hJ3MHiMRbgOxnX9}1a?b;d` z)Bj-)DX)UgbwWT`6H?<1yPwOm__VzzoSVKeVOHSP)_kH_?ZQCUE{Og0E|rBTk<^y? z>UqOea)er>>1t8;bc++Qmphpt_*U&e)9y=FF$TeB2<@@@+ImhL7=m*4{-2V=2Pzss&=Ec=`w_n4Z)d4+r1^M`tzhz;2d`GuilcIv7zA zo8PuZ_BPD!riWjVQ@&cEMc($rhcIYZU)XSgHWcbbo0@U@OrW}PR9>#5cw?4%-j=yP zQ#;K%z(Sua8l=_u7bE~B&oE^e*7R|g%i^J+njmi@epnCVrL&Y)m(2X=HyJkR(Je_F z0nU}6z;$S|E<;Hu&Gr&~2#u?$a?VRZrcYq2;5mIyZe{so#K(F=kkB0lO|J!pu#W;h z{-EXaDry$P78C7Z*(jlCPU$L;rTHkZ@prRpFJGN{kx4+y(-aA^3dI`DadQrX`8q|)B7y)R zJOv_UfoRNSu-~b6-FH1!Tx6t;K!Y&#WiE^HImFwqVt2lZ^hlnv3eIl&2T+JxMgK;GAI#-fw&TbjlXr0p7kWOAP*{T~a3)+tq!-vy6YcB|SB z;R}~1FftBuzqwFRI7zITReSp5SL>JQg@-C?Y`(YVYzRBX@kN?B3mmBA6HaDVpP+M) ztVVqpwBPfYj+m%7fS|YEY4_%P|kj8IY4>)WM zhJ4TB&+7dTQ1t`69l;_T7&^w*()#iWN(y|kNIQg%nu!QS0G}>Xh+q}k z<8$9R@jPlxZAvq+XZS1f(Hei;WGK~(VBd{|HtXAvtJtf{S1kiGzD1__AJIeu=^1b zI}^CKDOU&O6GDqF2Q9uWqx4yGanw+^>1jwpn+6lX*@o%22oK%1fHp*<6`U(#6)Um^Oq#1H1tVAe?sY%8N>(1~OtS;m@FAc@rD)~B77=Gq?vEJeSHfg)p%usm#vW9g7 zexT5tJNe7~gHUfzYfYILi|xcG1LAvwSIu|sSGmE{eKvfT)XrHl>70?X{6vCXHgSOyDPzZYFPzF35NtB4&55Ms-D>nM#G;)XkR$bTbc@kE0 ziWpa7I@fcV51J8aYbSRQXHLHjG#T(<{O~qhN4EP;(#6Fpe&;r1_H>>&&nLyg8=9LT zd3sd#pKpGl`xgS>-iaXN^wQ>;-b87VzW0f^sYGsTJK( z+qg8^a%r^gR6>iPu#AIA6Iu8qkt-vcq(F>gBRf&!ys!B6SwVgt0bV2R@l7vGHt|As z>&fj`7MAkh42hRrA(#B{tX&M)m`zJKAL_DrrjuMDZc6A;Fw)_;S~1DSw_#?+PLd(f zC7bWKMV~z#OI?;mo-Sh5LmwZ}1omAAw29waq^_APNbX~l;F-x@R^?p^C&X74jis)h=&yQ7gy6 z(#($d~LDiaKd9B*JY-rN~S@Sx<3A={axeFHYA)L$ShyEHcGinN;agyM> z!q&1%Il`s)(2EZ>65^mc!^SsOvGsiJ^K#?eN8zv7o_lDa(E1+jTZAlKtUHqTH&Eq) z;VC=AMk@&wOUYlQk~f$L042xE?q31Q6&K5YNaHt=>sNpR{#jW0u_FIRfTDf%x~7T(R{TT#qxOfj z{yQpx2z`_OfWrTm(%>BRK&N1#)v9-i$gh#C7`(Ye6 ztQZRVNw&nwnm;h54E97NRM&>1QOP0jY7EC*jk_k zoKe<1$AeWJSC&i=g~6bn;-wLyi1u<-j= zn=qEE{AR<7@;E{H*Lolb_>cBLFbKBueys=s#`ZHH>A(20x3x|pPkt;a-PoLo;!hggoEF}DUu7Dy?_#gg>z<__` zMMMPn=e;7hq5Dg`ARtKi_uPYkFrhzfaM(}Jz@QM=jSbY%;bTo(FC=bU;lR3vvoi*8 mG(L}~2;6Q2;OKohngY=n1PXIB5<~bfmWcq4$I;Vxxl~3WA8zq@zeLDo7WRE=@X! zAiaaso4{lDeZKd*f84ch79{zdX=lz%X7=7QteSEPykI^kfVFh-`5r(32m-oVIsnAQ zf&7;dF19E;pdi|$4FCdx{0jC?D1-<4(+Q43$RVs;tq}l8NdOY%fq**$e3CNsTV3d3 z1S9j@B}61avDuWGDAE)T&6J3e(KDtvL~PO){M~$OdlDZUKS#MfA2}NgM+QITkZhmu zhdOP}ENg7FohwQ{1Y2*;M4R(gCTMT=1_+EE2G5wk->X@PT~NGlT2?bu0MecA-&F)` zTuZTAX1EhVk~h5|%(iF8nkzut;7+z@F;-o)Odzrv%(-mXelOYFsk z_?CdD`ZJ3SO>}Y2DY+mns+EtzUEN&D$SL;w_sx(DxZ5=CxLAnJ*?0tYB2s z-%&=T3UhU`#)~gk-7|Scqox$a@_w6UWYAK;b@{S;hVO@()3DYgWZ9(Y1w6)~mx}8) zSJeveq{o~;volR5FIOj+FKro_bFU$xYNL%j9la>Ct@GIz?&O-C-ICmyEol6rpCo{g zkT)|~k+71t4poXe{|q5B9o&h3ttR6AV4{7K4@awQ{1SArdc`lI`kt_wxAH;a-lj#8 z=;f>8%?8VhTXSAj$@EV~Wh(@$uwp>N4<3GISbwE5V4Ci!&D9JL>Tg6uac}mv9X+HA z0qKA;9)30L+s}!ken@|4^RYM&-isq~Q<_#mb@t**yC&cIe0h(^7p(rC$=2+eQ=Y=D}E_!-mgMUl2^MjB@y zwY$oP=Q1Zl0g2w3DO$7dgC$8IGY8o<4`&~-B6bEa_lW6He|%=rC_m-o^X0W zy~SHEoWXn^-})(&jNXT?q*JHev-{MpCGiT~=4O5E=LO~zk_ioJmJkvtm;&L!+Mz=af>0Z)bxVu>-{lH|)hWD^5>OofsC^Th!`V zDxQvIUS{lARkNcT4bl_*P05UASR@?OhV?wxhT^fRl^L{>E?_-PEnOfpihM`@q~Rr9 zY0ze-4n;5C)8^(Ig;QUvHup0Qw=R*d(H%X*FX6S8_hhgLhPewNfubcEp>0Gsdd+!>M~H3 zCbzIr)Pp8%iQve9dV7HA&cvnuF(w zPDAj`I)PO6gLj7?Z97We;3k)N?9u8`OQz5OlA@i}rbHV;IHRuYHds_yZ4k<;Ms(1x zmiI?=_v07j5L&&a!otpzD2*nysG#eQ$kkg15@yev`U7%DLzb_e1MC=fA zjXu17x;q)_0zkM}|FcA*zhM?v%!-QnM6an}0gxaj1LhI(eeFG7ZRLGXiaIFtN(&Sh z#~9EremDsI0OXgI27-b7R&ew?di_NwoV@cZxVoTz%5B37;spVr-_~zT1vb23v`Oe! z69jF7eKVn}LjV2alJIwzfc(0?ZU`X1CfpWr?4Bmv1A%T0{H+|n8p7HhF5~J0G)9}y z6^if)L0}*d3@9kf2Ni+{fS^FrVu3pr};H!!=gK2qJgFx zNo1CcR)Mv26Y42}nld2xy}lAPZ56Bx7W?~AD^FudWD<*;OYVE^-1bT&>gl$xyUea; z+x^f6%j^0}AykUB=R&pBSism`z}WKZGgzm%e9lw3eP%0q#CSN^@xl_vF~mcxOoV}J z@Q|IS=B!kBvrxg~lwj|oQ}Q*nYYcrZ0}>aG4oj%_s}dC7msKO+?(kLxlJTVI$qpikT2u_))&Z?i+WPt(d>xG=omnb_6} zt1P$lC4TT)iuDCu0Le2fuKQ7^rf=F}r{J7Huv0rF>XMA-XgA}`0X63#6$Fy|q!zWF z%#F42wU#Y)W=y&)@*e=)mD zm5#2IqG!VHZC#9wKi0+4FuS_*(efj4uWk|FeW%y0z_i(Tq4?GW?`NfJ;-s!@9)_yJ zab`M#eC2CC2e%F*W$6rTZJ|Q9=fn2vpuqwe6Nj6P`5*bR?Y_j6N?0*$;|x#MrKl#Y z_1*2K>@BOV(6gFk2tYpVHx}sWd1!awu5KFmzWjB(RrJ{^?B|;C9Bn)?6@_^T^)E;g z@5S_GzUWVx4$3YH#tkSA$9>!&f8nm3XGjr_tLrmL>h!p*vqgn;@97LtkBn)Rhwmpn zC`^c8-o$f)jXZksfJr|2@^17Kq9N1EaV_sAGo!FY-rePtzxMET_{AQfEYW<(w&iuU z-oier(Vo(&mb@?N1#HVKF4yg+eDaaKoYGk-w~3OA<=RG*Ts9E_FU+1z3z#z)cYf?H zHc!MR-IQq4%9i!4mu5gv#dlw(3tYwJiW|=*YSl`|>(h-*RP$q%O|^@OW2Xyy+eMzJ z-)~ASt5R;a24K^UUcmbF1Z#OJ+O!Zi)A6>9vv1g=yS1$s>hg5;vrxR-3^`;t%0{bk zYS@q3W5w)}WmzKVN5jd?YTI8;j63Z<3d&4;-|DET`(UY3IKWud2IgQ$eA7DP_CRPd z$Nq&lJz&17ah{;t8>(w8I!n^CTFO;hnzK=F1XU+}t(?zO8@R4Yy#Pll6nwZDQ<$96 zF=uqo8R5{LDMhM>;xQ-)yJ*rKGavf0LH7+syZD8J2WiiTm)!Gw6CDYxpNzC~qxM&x z6xO0)>vSFC;dOs_E+54}c=t8GybynIrkZbwUPzm^n1W)j(ol@n*%dafio`_bFmx0F2ynpph zZqtLxyDYDfO~F>l;e!9}=8SE$q^gg{ShVQ&^8)b<8GP}af^PiB8Z+00*IUGV*S4z5 z*NkE3eFz=lB}6X`!)GVmCR{(pQOL?_kPCkW7|O&pJ3e3oh{&D@HCLsIjn?;`TM<|-O6qVrFMY#xavYgmr z9i}HhZ;^*@)!C>3N(}3#*vx~yqZ9DVS(MaSz515o797)vsi>uoMwDLreI`e2XWXx$ z`_f6xJ45yQcJX}4JCc{5%glL&;vj3&?k^3GW?S^BnZe)VmDT3yFfUu%?#qBDh5VT-s@dHa~5< z$s``%l+RCaILTt^@>s(?Huwvei|)7v?GKaDM3kv|`^@ywI=ag}Ay+WFngM)cH%^g` z?9no3QVWS~d&=~9_S(eiw8p-R=Mfd7-@B^0dxnpT-dgv0eoFLu%@bPJM*$;p_ZmBk z&vxnXV=r%4-vqWQ5zGhW-A46*i*o6r!BvN}3a7E|G^WPNxwEpeezxUZUE-sahp9K_ zlSWE;uC6CaJJ&8D{QMBA8`jsyJhC{MY|kk`ND^+oo#Ak4dfI!lk+{!4Gx2fb^@PX0 z_5Q?WF3rxFbjIBWJTALF!|Qkzy*d+dH;mr`hAW>X8j2KqZb4jdi3JoZ9uM26vGeSo zkqlH_AxpY3wL<5AE_3{m+j*io$%GqVs-U>+Rm<6+ize|#snld7w{a^{WHdP?^#{JT z?(glpFI^hGRKY#GTuEGs9CjQISR!>1>+i51bX-UttY5$tsP}L8f4~2rvVjiXL@hR= zT>n9lFNU-G^1E@-w2E-yfHO5WwkJ#*kfeNXe1*^TtdI}$*WlQW3%&wHuToP_>x8c1 z(gn+gZk}2QdA)+W5WM(;qU`NkMGFe1WySJMDHw`rcWY?J^px`DM{McR1w9TQE(*Vm}hv1)A`M-fW-+3BCgqIR5m;qMTmapp>!+s&t&-dDnEPX*wY zC=j$C#PptV%W5af#6S%5j3M^q@UX|cxfGoVwjz4i0A5}HgC zQC^}Q+BT4BzPnDjwCp@0v79W5!5K4Q(oQP0-MHmM4HilS)%<6N@ITXNd7U{Ft=aCl zPdsOINEms_o1vJ}M#`YAqcWs@5BI3DM?m6+*TdItRtg3Z=0`Q@q45M;LM#KEN}Y~C zNHb%tbBOGFRw`RsICu=-*9CuLRUz_aB{otbN5ObXjP`);vAz`dlo;JMfh5gX&v~B< zdMeAe*LuQ%u;uFjhX%b!eM)dt*ItWuQ1Yr9-!;zp4m)U-Z15fVuS&sf)^chDQBQ1* zh#sKv=+POCJN+ep(wt*d{SVK92t$OvkqR(|GyIOgPf$7rY5z|ulW9zcLm-HxY1ubi z#D!S(L+=P*sAd@@@qw%}1CTA9@B>SO&&ndLKvB?HvK_={TFL5(@~uj!=&9@5dR|l( zoeI85i<7J}(dj}w{8IMRUMdAifmY(-FFlEbOKo1{KfigsVUlhi5WThxC&DblM zf;QZc0%Jwltn zS^VG%)}9wMus2CG>N~TqZ;CS;UV7^~p>y@(Q1ODlGZ{q~A4OMKHVao6AdO3_)cZ+} z7gJT|`=nX0mM>!!nKF~KPPny~cj@3Lq}rB=a@mT`o|H3$_q6j$HMi|Zrph*@SU?!z zU!wkvMxtX0fq}mV{byzGgkE9Tq8tKg8g zLEqC9;Li3=zCaGEV>9Q8-3e}s1PXr7BXhz5c?AT4ybve|2nGqlfH3rz6ZWT!f;-t; zNxRrOA%G_pOCzl?OcDly9@l|!3G>Vg0iRSV3wKjO*xTBnvp`Qu=%5hJdO+bH4@%!2 zFdaZoAOr-6p?N>kKJYizjUmuK0&v``zBRuR~Y=Iog*67~ZqkO+7>3F)i zIU$@eeLn8dPh|eb@Sv4~?;KShXbeKLY)niA1Omx4XwuJNX~v`TNUycPL*7+Jl%u)T1# z1(+shB%3n6&x&m2{JO@)lwSVAcRijTzZ=^={Y?DZNw=?ctg0dW=5jc-CAJfjxht7r zD4F)Fh`4yZ1lnEet@gdJSmTwq+Kj`zQ8Kk(Z@KcD7C9kg#2%kF;Sz?s5AIhMF_4(> zy}a5o950KACF)hY{m-7qOeMyo=syZC zGL!JM=P=CTdt4>>G>d=4HfyiDKK!|UTK^_Kox9(q!<4$NWC8#+WtW{^7~y z+eJ}fpFO)&HPngWA2!Ktu3$HYaB8oT0@JTDsE6NLyWQuujIufkMkNOL-PzTS za1ZACLc(WBMU>}1ogrYSNN!5Pud-0CC9(L_A&k``w#%XTV-n|k_Yrkt>jy2@UKX~^ z-kl|)p3lDjBnZOZBb2VQ=8%p)q>%sY@FfCnV=#G%uk54zb^I$_-H#QR3Pm)9!_55K z<^wVrb-cYgT1$+?DZA7aBbdkElkl&GFG8ZI;^`jQi+PUE8-$lf8pWlW>E6#dR5*=DE-ShXHeK~3-?$p-&Ag+C6K}b5 zmEgLS3El0Q&lB`b=0)xk{;Aa@wZ5d{=Aq>sh%e<VZQ12?sEHiaCn`2-faJkuz! z%HNzAiiAe?Mh-u}0)_ffq-UNb4$(A?&ChcdZ^*XH->?j#Z6#j?S{V|=fpr^R2nKs7 zP)`|0Hh$S*vx?!@;OA<61EHLQlMCR!tNJOtvv z8E?9E{L+AJ>G(XCw=Bq}R7o#K0+Zd#ALcAaF&0peXEMdF$~T!#9qc|o)fBDTJ#|0@ z>q~E*_F{$SpR=M$r%w04^3x>{Vdi~I{^l(ypG0>ZE@kj`Er_@%qzWZum5nc3Wa1Zk z&XA9weIfOn@!N%)(t}jOZ~CxhsXE6B&JD~iE7piPkGNtjmAHp2c6+nbdQEsKoSni~ zR*DzzIlv9>gau39lSwA&7N6y%SZJH2sCV{NqPY960vc%iRJ$CcEyu}9(GqzooxPqP zD)4xr*>6WW>5l-TouCa9I)!%^*iRQ+dH8o=*0g zvtN#Et1}7?R5ciH2h7-=dq0jX(!~1QiBus8E2ru-rITcp$Iu{4#+i#{tW(4HqjR05 zuZLDxkB)CFOorN?IknqFB+`kKRWR?yKIZ;3hD8`K zbb_y?4HXoX6}jaQ4sbnB9rU@z_w;WV`y>g7N&9!84F*9#Kwd#G6bQz^Jup~E=zqf6 zA`s!9U>XK%3!H%OA6Oex&2gUp25h6-{uOPbJ^C@JeuU$s!v6wo|2;haj}i9?g}}he ze-O722z{J}{{IC{fBRYe8?X2qn*Mti{}+h*IL3b>>XVbaA7^-wztC;SztioX5j9v4 zeM0&358hMP(dqn^^M^~Xk+$Bd=ElYxe7wc<4sh?Rg2mg4yhGF<1@G_@<1dkMkCeso zddV{5K9d8311rwr-lN*LqG7!QZW6|_QDv8EVKg3X&h3`MRod6vrx$6ye$@WNA(}!-&c-10w7WSI|4q|r zdy*~ni_{q=PWM(6>Vm#}+BkpM&>v`wORK|ApR{W=HpCow4$l?GyG5lc^w~LRp;YL6 zXDNyQikq{xrd@Y^3er3b7sfbDwQ=sia|2|DJ6g`V#F))HTFgm^y-E_#ffVp+DC>32 zJueS8H{|5c1p}b2GFLhh#r0GNWY z@khffJLeo*n>$PP5kdveIr`fYvy6;IeM>46uf$TWlU;CjaddTz4tKxfxwRCnD5fD9 zFRVY!`+RvW*LC4zVnFfHbU_sHt0IGgy-oa9zv+)r&la_9>#;)wX1ocj_x2;M`r7Kq z##?PBKO7L>9lUJ0b*Iu3mf^p4dqLiaBI~hx1|3g zeg@i%9ZkgVn@bY>cqCaOaWBg2OLjsW`zOQ}Z$NFw&P4!&B~iRP9;N$*th-I{rz==n zaN@I_A!Y+UG((+HdU9PiQrPFwMra6=<&Z) zFf~62Ft*GZCB40-S(G_T^8M&S*OHJ;ICp3&MfNzKN>vQB1= z1W}W??lg>&eDTf=%(xA+x5c$S^Ye1@ahY5hU-v`h;LYW{#oDZ~vQ~g(N>q1*^8}u< zbu(h5GcRV1(Wm##0Lb7qCUq;C=&@WbpJe1-v#?+WWJ+|%J#*fm%K4N)R{E4ML&T<= z>QQtfRby^=de{oACceuWH32cF=#PLD44*lE4IJ0 z&{Ejk9$UJ#6?gRd)q%_CG{13iV>nM&(U(23U{y%Zv%vdFRHI-g;}{oNydEte&rdr>uvuY7bpkcK|38|Uad7`7zuta+4$M5S#Fn=B=jFQgt_N?mW1 z5F0LL;_s-KF$uWP{DStaaZoH0YS^DWHG3)I%GEi!w%pB8vS%*Y6>pIhZf}eAmxT5{ zb!t{*Q`i=SM)h2oSgG+-=b!m=XFXn&z5x`F2<#g`f&468{R2=S|NX7B|BnGmuAjrd z0u&iH>%WBYo6z+uK!N-$to+!K|06)Ta#>49RS_)!di+)YLtFnHl?V!alm9@%|CjRL z?~vqwBmW)mdOr(GkpE_%{ull4k9hpQ1tZ79cY?@&lK=hyBR^yLAA|fW?D`uR`J;FL z8ys>h&;73K9sg>79)O==$cby1yF@3rSJmDcqY)mnj_SYOegab8kpB;)Ckscb*{-(7@jdR%Klh=26!P&v*Z@F4hzJ1m{RI?)LIt2e8{mlz z3=&2ww8yDHmw#*^upov}U|v6LAP@#;|7rsZh@iv&s||hI3Jt%1wFyHp0_-m~FbD=h zFRj1W&@G_Z!|yg2><|A0g+%`FPY{L~^k3_Pf?$8K{l#Yi=%4vuus?i(3H=!>7)JH} ztzDRi@E@@f2BDXt-|`7VV1M*OSP1retUw}YLwSqVvHaiTX<7 zO9zS+QK)<}>PxxOicq2c@4Kb+`L6%yWCWQF#Zx}-e*+EQh5QMU_LJ5R?h!Kv8 z%B#&2g0C}jhW1zAX-S!(YHQn5dQiJ(yH7-OXsnOv`w=acYQB2R>+OH^ z>8|Y``Cz^z=hf3$UDivUf62w(v>xNhsX}3`--Iu_>IY7ZetfDh`|I-)36f)$n3TfJ zfwNGgwzt(f_B4?tIV5$gdEpMf=*onFCF7kjPev3rzZ9V@HEwu+c{P2_#R|;+{IbT? zWnBq^-jv(##%czj$eM$S_1u&G)oMi7-o^r(;HQqtizKnjs733@^rXC=E6$>mR?gKGpZnabx4Ohk&-(XW+CEE*N$VF&S!NxdU*G4_{1292C}vrXqHct1k$<0A;^Ys31XMX&Y z*nG5V5p~B+HA2g_R`(Czc4@ufya<`$*VH^1nMQuO0KK@{*GI+Hf$GVkqEFO>+$i7> zGJwqB;{}{ko_lVpruUIkh}e6_w(BlmFfYwQy)}K&`TM(nSGlJ_De5p#T3|BAyL0v& zT~@=XQj~(@9oI{qp%31Ooeti7>6o;0S%!YjSOIT8s>0i)%)49c6u;w)-=1@q7Df)h_KkJma)gsc2blADaPK&uAV5VBHxkNV>5*gAc*$ zfD`kuYoQ=E!MpL5#B!BqQ0FQef%O^E^_r4TVjlIS9N=5mo(Cik zp(IPu`c?YiDl0}mV|4b4*}lW?mK^sRGw%NF)^PKu8qKWtGrHU77%>&LruIL%ptIb< z<*KUf;bOamWuy}puLn^0pyqwXqM2a5;UOYeXX}j_X}ek3*v~UBdL69X9e>>A>iqJn zQJeFL)5i++POR_Sv3su1lHzmT`})1>J+m^`_a=uG)i>>~D1PQrSP_zZaDBaBy8B!8 zz|<{@dTqAm?!LX;kG&KMsp#*EwBd^b(_*tokIfYo*Z5(KLkhUVl=4!gE8yiSe07;O{p_2$}9X*)AM zdO34mZW!nO08X&hhD=D#$qf%oZSCK1E+qQ+rWeun7sUaiM{N>ou2{4T8xLBq%S&CT zVXECXuHKYzF(7xf>N)($gbj~2jfq-{11bc}(R#VWOIq}88)!-I)6Uy-vG+nE+w6vh zyQ`jMo6oC`CJ@Irysy6H(kSWZRDU=AFmH?MmCB++UK$@HpI3W*JY}hoi{1u>(2tY& z({m{IAIZ-O(CTnXUaf1?Vt>@!cBQ?ghoQN5a9t_OxXFT=SgJ)XKC9MJSta-!(6=f{ z|MMZC-C<~}evd{8L#6kFT%&kf)jqANRCeC2bDFiv@?~lrAJEs76Vs+`6g#Rd65k0G zTzOMcXm=g6IkU+rftKK8?P5)9KdsoZuw~90kANP;VoFdr%BIPyc83lbBykP^sd?cp0}vGBY5Mk zrCD@Q4Z9~sbp;Q7m#3c0Q^p31MowglBAG^@#7^|2+_Fa^zvJVz!9nz}Uv6u9#u12I zpI%o;-ZuDg@f^eYucwRV_dkpq)Bzq77&o*{o+&qo+V+DNEy0~hZx2)uk7dX27B|Pu zH*e#vZtc~)@G#R=Ph|-)YSxBYWooFOR-U4KhUGfSWwWa;%+BVItBc)NsqHR2xr`Iw z`?w!}`r#Lmk(FkwRZ&~fh~MQt)&Bl%F~gt4be8jin2wfj8s(i0SJBb-+Qcp>eJyLn z>C-fQb0wXW10Rz{g%8?KX!^DG<^W0ak{`Q!oY}5h6jSzlMw|1~6my6D0eI6if;DA ztgtK%aCz?#gcu?*==-(O_?vUu%;3?PHo+eomuUkIk#v|x(3zHzx z=-YpXrGyOj2lg^>x9w>ePleJFY2Jn^N;%Gdi3V&prC4o%0ku!)R#b z4cm$%#A|lF2SZ6dp+((WmY4tOS-kgIaYg>(QNHTjb>O1b;TbdHuJ>jGE&i2aLS1Ca*}F=O3NEI1lay|4KQ;d(=SEBh zH-$@hvpgtqG@{Wo;--D`6~NkA(D=u#?ywiz9p$DCq#CEsUxvPp8UOkiYd9|6rAyU2 zG<{#m{@CU>UT(9~yXh>KuHGTfQtP|Dhm{w#4e8X|?Gv=f(~?!}eKS2CUh{AcDE;>3 zf$QAHxGjN^{(pH5eJb`L6(7|R{aJCvup?Wd^1#-!<-;b^HjO%kstcIfKi0*?%iVh< z(4I=Cl%(%`;t9kFIzgl^PgFTsHATw49VB4#**qbaFRjD~||E_wuy7Y2nRK1)5Cq{@CC z4Gr3}Q8Q!fF#I z={mAQ3Sz))!|VuPYoz>o$j;c4>&0Os_a6Ys;$Kc-ifM>`6iC-}VFw`#ArjN$hcb+S zSpg^c22Q?$QQ?~v9J+8kGT3}B0AfHK1`im72!*^=SXk)7AdAo7g|L|d442O`lm)Ci zpBogxgl}s9ecDd}3{Hq}9#fO4Xa3+vYxE~KdCXomv zAQYTp^zUXEI-U*`~8&AcQ|8l{~my kI3|#Dkfj5Xet&~NGWbF%;{-B^h|<%ucXL4f4{TxwNB{r; literal 0 HcmV?d00001 diff --git a/img/char/char_diode_real.pdf b/img/char/char_diode_real.pdf new file mode 100644 index 0000000000000000000000000000000000000000..127e619e1d1bc447dd4404833ad47fd591ecb815 GIT binary patch literal 3755 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 D>M66D literal 0 HcmV?d00001 diff --git a/img/char/char_nullator.pdf b/img/char/char_nullator.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7ef38249678e9b2432739afb8f0ab204f79b81c7 GIT binary patch literal 3787 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 literal 0 HcmV?d00001 diff --git a/img/char/char_resistor.pdf b/img/char/char_resistor.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c410ed7d91e2d45259b321b6fb565a4c875189f3 GIT binary patch literal 4414 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 B-0J`U literal 0 HcmV?d00001 diff --git a/img/char/opencircuit.pdf b/img/char/opencircuit.pdf new file mode 100644 index 0000000000000000000000000000000000000000..af45bbc7b12afdcf5e6410229056cd6f3ba8b911 GIT binary patch literal 4118 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 NekmZ>Y+bz(;SbxJHl_do literal 0 HcmV?d00001 diff --git a/img/exponenzierer.pdf b/img/exponenzierer.pdf new file mode 100644 index 0000000000000000000000000000000000000000..912f76d12f6cbcc92a0b0a8ec7ab42a46a75b576 GIT binary patch literal 5603 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 agzcF|B%ukUO~#RMm-**_J z+f|aynFPi-Iy)3$EWiwuqm7Ki0oV#C2XGMN5Xi#-0N4^Kgdrl&kcgoR`V>E83JMqv zBPcdAZ3DM^xbAga(%Hz;1@ERkef^czvL;QfpRUbJ4KrO&UN%mDJO0Tqe*Rq7nWQPh z;>6WA!L*Ngp@oH};r#90Qs>DRz4K#+jp>&51E0gm+txdb;o@2Dn%JHdxjR+;@ReaO>*;Inhnx48F8@8<@iQXterM<_`%+%j zu{ng$aQ^if*S)c0{uI|pMNvwo>&T%8b2VtoVBJ=)Fgji_x3IYH$NN9owy(*W`_YUr zQvCdPGaQsH`U4?*kivg(T zbc+ben1sb_s)T+?EK=IQVFH-}Z#U%v&SnzqyxqowT0O|A$e2WFfEpfkw-hNYY67ol z86AyLttQ2hC~GP$>1&U{PJ+8&tK@^8(jp2*8(=+9Q(BM@YJke%Noa?Xjg8q#JDN_d zT=Hv#I_=mKXWK$MOh{l&NZ=&nhZO`ee4>ODz?nF+i3b@$jMY4rC`!Np64jvO(@Y8q zWM=AR+(_}a_{cc_f7ps0wuJIg{!S5#Atew^O{~$D4Oxk4L$HA{13P1mFJKh}ivSux z46|B@V{`#Ij#&hv)+)@*5qVZ&7Cv_kmctW&SDmxwu8p;mQFxI mna-(4Q81v5N5`d1ZcqTVLHAX|BEouyc3Tc(G!`EyVg3Ouw^CyO literal 0 HcmV?d00001 diff --git a/img/gate_not.pdf b/img/gate_not.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6512528ad2b4603dca7260284a7a0a1512737e56 GIT binary patch literal 1106 zcma)6T}TvB6ppllp%5SXp(rktrEKlY?CegfYzw)otNFLCVTehNv)A2`b!MBnYwHr! zOF=?`Vh{Z+gkgb#L{PLshWV3`)RPrxVnnD9;U8j958XTKu8Y2O8Sb6?-FwdY&UemC zmfKl)iZxoOtQWuf{!koXfYQ)J*=&F=g|ZL%ff+*{3IISCN&y5_yaogWolsP~kh0q; z4XIFQros=Sm4oNf+1;<#4AV6Xe^2IOk<9drUe^-XTkV~F7Fk>?dm0s{c4Y9K%SFr6 zB@rsqa%3U6a`5tRs=X!m!GVD@p@p@hwl}~tTw8y9Fs*zhHs5bQ+39}5bo9J6jN0nA z8{UtN4Uby8V6=9pYhiYx;_H>~gQ1boT~yuXU7hQGC;gSnY1Bb-4k>dLohrW$Xt$q-fVxLOC#G;cwR<5s};4dw{ z>)C&&sB5TyZnF1UWn0CutFiGt^Y*{nK8`mxP*C=+=ZxQoT0|nUVv$T7N6yL4l+;pJ zuON(ERR}8wY&HVmK?@At0NQaDuz(f?JYzla0iN-*?#Gh!1L*UuK?rEK;DfqPx1d59 zVY5Vu%Ai*g@|7^C#SjBbR%0$;O-3`Q)9*VJ8DRqrkUGbU>Qa?ZFojY)f{rFwR^hm+ zAZtMqO>9lT4vaftizGsiE1!UI?z9JLN=Ox<28aTlluQWEM0aguqUqF1B(H{9lVm+f zwjq*SiUU5yfdh9PQdE#F3X-Y-*2pqO6Ug=>6wITsm>Be_LeMXXno&`GIXQY5x2kwU zBJSe6Gws{tf{N0mT=0jjN)q*J8satinc$0al7h4!~P1oCP$31jd`NGGqWb ziE(BeZ4<_@Se{K7XWELH+1xGncqYsj<6oHsBX;F`&AV3n2 dw@b0yr~pz1y{;M(RHSEUiIt^cEEE+aX7|pz>!L4RhC6f5%=dH7`9|j| zcI;sF9Hs01c6XLC0tU!+^_0y9=u#N;AwS5+kedPk&<-hppn~rK9>HQL$ReZ)3MdsR zkUvC4T073N4JmAT%i;Nx=FDsR`(WGayq2O9J;Johop%2H8F6U*bScVT*&$_}V#|ld zGs^p)O!*!^o2z;HYwealP0fYbx2n#4@b^0VH&0BC++G)LuNb6u&5mBqoSSgG%yvBY zrq|xw(DnJo#;wPDI`5R{MLYj?&%KClAFUswGR8Wt(}k0?=X+t*2;A$a7VA=U?WVL9 z^=~={e!Tni`_-dk4G*Tue$H>YFm}nFT|M1Zc`?;E()y+1%9^9KMco|--`*b(DQU*u zGxN2NYkPQgIJL1U%Q{A_KQjE$7T$Jma8*yVbu|Tp;sR&?ngAahV?*=TO1s?BMPy7P!_*%%rCGr5evMB@s?c#k<%jx13 z7(_TMZc!N&CB8_GfEo-jz+ll^0c+NCW{zQ4a6k*P%Rz*rR6xv*IqOv9a44y-SQ!nC zx9Y*g6+WnjNJ*h74%;za3>zf@x}8M?j1i#SP?f`q098O_a3|3r&BjM;k&ddhwoejO z+&W?GPIMb443iR=k`mbQ=pk7FIRY;!GGO&Aqc?yYKSH6MG*%RYK7|kYB|+88iZ3@; zE8|jRF)ZLw{{OH=JIqPtWBuEC#0O+wEH$=9T`*)ZCZa$u#Q+P%Bo;7noRI@w5XVdg zOpGiLOkl=*Tx|))uvnfYn9;Bt%V(|2zB5^|`b%OhtYr~H3NHnqqW%9KsTtyy$(*`n h8395(HZFUDUKtP@G+$N3D@bE#F*B4-S5oev{sDf>R|o(A literal 0 HcmV?d00001 diff --git a/img/gate_xor.pdf b/img/gate_xor.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ac43e49f523b04ce085ac591f9e2d5235769e66d GIT binary patch literal 1135 zcmY!laBvoz?S7qg+j-sjr)A`8x>7@s_M)!XqyfNdB1 z$^e1y0k%JW&z%tYcF~qB&cw>YZ>lGMPZO7TyC=8stH{P$e!;hQ)(UufU0m{G!>!)C z(?5L3xZ3eNVC5q*>)#tq^egMN_)YdN=c;VG zmC!o#=E7ikfv5X@PAZFrwrfgmPEzn|QVDTC=n<-Iwj;jlPhC`a!5g8qEC0klz7QSU zaYXCvv_r-T%aT;MSMNG-QD9PQomRT?ZIKR^6t!;Hy&1=IjQ9F#?0UQ z`u_L+(SIIWr>yV&m03T3_wM)kFP?qh*821H2KK^7>tAxE=A}Tx0>}b|A}HuUG%)at zOwB>^Af6FCjKQJmT2bO2TmlSH1sfZX01)UW8UQ&8`p%9Dh6?)0i9iw<&Oiwu2}DqH zOyTAz=!aAmq$=nKB&Mf=%?wB^O3f<)YJ)|cZ)!?rqEmi_LNrjwK*7jD&r-qAT+h_p z)WE<{Ar`F3IX|xisH<23ln5X(?p~B%T7cv(h&5nQm{Ws+mKP=F6&HZ4Os<3pI|IdC zQp+-vQ-j={K!Okt=m(`1=a&{Grxq)Kf*}aWJ0Qoxk{-f4#bBp-XQmVboeuJG5Ztw; zARi(bV1{IXGcZY(mlxUPAo~x$xnwE4UC#%XoMj2R1~GAaTzFBa2ddX zf|;qQv8h6u0!+-z6c}S5ppXX_Gd2f?7MhrWAuxE*#EeZWF~m$vfbol_&K!$g3lm@r z!PJ!$C1&QN7JV+NOJMaOUqXPMFTiqi%SxVO29s}ur%RP KRdw}u;{pJF@nkXp literal 0 HcmV?d00001 diff --git a/img/hfunk.pdf b/img/hfunk.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5b2712ee3022fa020fe4a96b13b5ae1a325c9a5e GIT binary patch literal 7700 zcmds6c|4SD_YWlvMd{H(+$Bra*^S6LcFJ1GQiCzZGBakzWG_M`6-COHltic~ipo+- zWlMVOOHT;dk}QdS_dQaidY|{7_mAIvd}iF|+Ri!Gxz6`|uUo+anZ zpUyDC1IB8;emLPF!0}e$;|}SDTq38KREN{}#s2BFU$U<4>Cp}{_S79hO+=p?<$6EW z8^Aec-+=5)=pN;wxoQ{-`14!Fa;s)pkBLR0g>D--NGEllk%1dzC@>6+&e_*)Jv{7d za~voDW>&)^CkpwZ?s258(CDb(M8~f7-k1BOVPj~ek6U!@p{H6Kl0)kH`A-S^9Z1N{ zms9L%H!F{dg3)R?Sj$paS2-2*FF$^bFs(Ry0np1kx*D#+63`+KiUf6)>hG^S($(vp z5Y*S`oZ_i;;8^9^jL^O#qx6_^XT=*UeFCgxbgmd!b=JjjXTFcfx!}LQFDRSzpd*uP zC3#82eQ9jWO@)Y1W#j7fUENxrb)(}nPMD9^JyvOox2laPRQ_a}ymf;%y<<&vpH)!T z#;wuFuo)q@8-17n)y&he>m91z`h2xqC;IejkGxi<b1YmPVcD^QC0(RC<0Vx7;V^ z{-Y;G^{(%`@vJ=Rc_lJA;fZ5RArluDKys@86!Q5xUz^$Sb7jT|qtC64Eg}c+YCpTK z5@&pT) ziBZNu?a&kQd*HG|RmYpDXTb!+6i`)#1mH)J00$ocMQu$00Vp~Wz;7^k!G_syMO`X| zIj^^~JX{_QVCI4!n!s5e0gA8-MMzMjG$#V50{_0Lg!`@%plInsBLa%11QL<0o+*J& z1Xn}MjZ-usI*|!lRBylr6u|*yv;r1|#$f;~Tmb=BLSxZ@9ebcQs3bU&0YC?J_EhT8 zsa~{siq9^^md;sj0V+TzP#835Sx28au{J2j6Iod(Hb0UN4MRz1J0LZK6 z^Gs3(pMOdZ2uR=G=Lg7dvxx)&AW%5?f`nleZRa9lwf1TCz459CD3wB$TvV=DqvX_v zgZZ8x@5EO$F`MyCx}m|x@}e_B&fi{%C{bPNG35|!+Tyj~86pfi-?BRwjUV*)>m209K zSB?ywRm{$6y$kD2gq>7h+Hrb!ww!`kpL$#Be)Y)i8Jo%}a4srE|Y!-&b1 zBLjC1o)c=Uo>(zi9VKS7|NcV`#gccO7bS|8@;zUID`mMT!Je>IKPmJxET(4JrBBzj zzKsaG`GU)uw{wTY2hW52Tn`du()tE0??gN)nNe$=oN~Qj#~GJfGZiykHCQZjpTFbt zfbrNhKSLQZ0lxDU?&hW<6z0Uh?km#PS#@rodaG`?e;^Btk<6YkC5<*m+hlFCzEPRd zPBF_E+OCO@tov|h-;Ox-&#zacO(eBWS7?5uYs0vRW0jZa73EJDaoGmVUc7l71}D;O zFI`HjH##HX80=Pxbnul^^Sf&MPhbqnj^;LfEkAup!5IvwS{N72#F#!mZ#!f_X&kC(Fy^oO|9W zYDZR9e-N>$M?cBW578=(IqmCdD9K@0$vHy#J_rqQ1dB`!I-?q%23O_ES-AFPVEoG#MRK4`ik(*5ajH2ACxH+ba^!e&m`SK1AFYJ_F(25<~iV9-e z&cArFV)aw+T%YW{<^H*f2nSsqvA^Gm`$z0AHSiA2P|vL1!qO5>99KX8B^h~II>OOO ze9hxL7G8Q_*@oQv_S%9TdaL}-NS)YFV5o+x2ssdDsNa=ZzU#{Qt6du@DW;o@U3Ak> z>fIX$jo-fx;xIGWe%4B}*jCXZNyKW>QSSJDK-N<`5-tYAkACM-Mrr zSTyX0=#gt?tNa>Xbs*Jyc6jH=!=}BGut9FOOD~!x?^7!=Hw8SFt{Rq{`K#-dJ!QPQ zL`$Nk`+%Il496b%`|QlPFqyNn$G2>bfFs~@xf21U#-B6IY&L>2%73av>`XOXAHfCg zzyHh6c$H?Jwl6a5jJ?0hzP>SzoZIweceegLQc`r|K5QFPGq|yFLs(S(OzOBokbhe8 za^nMuN+Cvj4a6gG%8Gs55wChrP1NUxYdL?oDZk=fTQkrk)Tt*Kix(D2GFksYdWpuv zC{21`@S}P!>Fb1(AC{9wSIE5dI#APTeKeCRfuB3 z@8VOVqA!}>wn|#HFFsAMr&4{!*7EY}_V9^cou=`D`O3d7qK13r2cEXGH~92A0%LZYzWJvzU%o5ctS@$f{3Bb`iR zQt51bfkZnA9w1g(8|}v9O=VpfCIqI7yrYK)8QdMV@4+s*1P`*i4Ol|sa}SU?V5|_40EArgkqj|cMnEOO4|mK?;pM<& z$RmzV&10nT0`tAX2;9&WH!lFRmDFav> z3cw(h0Xw^S_zjgabEoQeMnm#hSN;oYbtoVUfDBNaGeBOS?Wx&qb0UEL2mQqW6=Qqc ze720Sq*_tP5PtyJ2YtcD%-8W71wnkTxqf-_Ay3ZL7)nUo!V=?5wVQ>ez*7=ye84EK z-5?%cwpB5Gh@c-=Qx|P$ctYA&+S?Q#ZmLzg5ncl5Sn!+URee4*6#_z!mum9Aj(>8Z zKIseBKP8bTlm-}B#nijJDj%o&53+<<92~{V3X3^hvs{Ipb$2Z}5BR2!(NvakH*XF& zdHZg2OQSEQt4MQ_cS%1Qd;L??`zf2I{o=bR0yTSvIeJM~NWxhIr;e3u@2$@;`WTo6 zTOKJfed@Nmm5Rq*n3(>dt%;o6+==l-Kc?`e?gE}r!(Ho!-5$!`5sMKeMQg>%W^QYF zB{7peYWl&voX0xV^ohoJay!ZIP(B|k{?rkPDJi`?e&Hoi^lb%uPw9AVD2}MRS4WiF zD2`4lD;o)2_TqN!xqHD~d(C`|qz1oUB|01D#ATS48Sm?=w;p~;F@#@2P;8k>0s;2b z{Uh>KROi&)G6^Gz7lg_s_`?*a1zpxpH>ip6_uY@Iuk>w7FihIX$UFC)fh8chYQ>B}s&<{arc`xq z?4y$!T}s{)8rBchX6Qq>rlWb1Yus@&UKQkQ*M^$E4NM<6r@j*k&nive{JP}1z30JSWKk&Oz5x>kgZ!RFp;CYD1kFV!ROtV{0tOH6 zcZO^iSpwn`U)WF}Y*Vwgr+JV3Qr&~k2sYMv%W3Y)7`Ys?1nsuKaN+Iei@AHhs(-Zk z-1LC87TF`L*X+nGR*tChB%FYEtk-`{qLp+%kj+mtHs99~n26fBY4Tbe_h{NNM)zN< z6ctu^TP{gfZ`izie4e(@UBQ-~5wZW@i;^>5WV6~NA90=Y zGYhO)u={GxHw^1-S5L~kTZb*Ak$>UFIT8e(Q6v)c-Hr2!#E(SuBeAh_2$VTy!N>%! zV~F4N{|1Z@v$XODRYXE0YA&pP_=D{Qi+_PezxB`m7>#C87Rtx-&IkwEhIW zze1tkTKQj~5Zlv>QD~OI&)bk+)St*d*PruI2!Vj37r>BRw2_OT=K7~aiLI1cho;e} z+XZT@_`F_mY=Ev@c$P_c>JGdkanCi(C_z@}hz)I-ux-))drZmt+>OQy322Q zKgw8b-olDFXmNp&n==E1(a!6iS2_4*BzoeFk6^c`czv4GE5Y{{_h+p+uIzG)%p)4~ zKzD}Mr**XdOUm%sQhY6?vyFG%(^p?iI=y;28%G_&VsgdG#miq;q&|x2tTk4hX^r`RWH> z=Z!tz>vePc`fDTQqRK7B7YDPs5Hprav`X>i8Qwai<@E)H-epbYt5b6x5)bwdM~%_E zbc}AIYvR^6f5B|hJU;ncM&89!lY5!cYW$_dM}&J8=^Z{wKA`6 zY)D|s8rkE%_us6OJ&90voZ0*KdFz65HF&&kWgM3k4t|>~_4I?q zC9SKqrSU$?iUbp^oXRDs=7(f>^7(9N+0AR)bB*oSJgw@_H#m09)j^W7f)sU=C&YPW z)Oxe!a<>9ILPU|47MSHy#$FnUJ9q6hf1u*vP>W8<(AgHiJ#Ao@>${RDn}CiGozQR5 zqX!sst$N41>Yd&4^V;~pxEPE{+2e8PPHb1+3Qmu8zPy~QV3qJsD{RUo zThrb3E$#}`YHj?R{P;s-S=6QIq+&yi}+zt2Ds#RY;Uc|M=XgIR{ zb&-wa;QGa2!9HN$FjonuJO>uY`OM`T<|6<7t+ZXFiR)uHU+B16=($&A2S^1ggOIIG zFU8`bLukDywr{s3;hfa%|plTu5IfW?R<5NAGTyv*soJxFyUeLBM)?@^4E?C z%i?Rueb;tE^aV?(zxu;HVu;Z|yv^2FRfWdwPDX+mf9reIaHsFw zJbCD|=E;%(o9sc|mM5xleQMn*`G-bCpJ!E^Nu#82H;Us+r*i1eRjjHN(U~-dUwCnj z*{~rO{oRZ6>*^m6^IOO@);BgXvHk(M^gq!*u<_6A4< zhW*WU`8VtjIeXJOFTejA4Eh88`<-|Gw|I-3ts~~)EqG%M2dVXZ&Nshe{ju*0ON(Ej z?e9$dZ@`w#+kU2e?DM>U@+~TUpo?+_TSX(X6GR@_CHD6_a4(P)Bj(Xs|HyKt52Tl!r z0Lq*Ut_0oi{3L@zCFM^ttTI?tE|j65%a@;IXeB6_F6@WJBEhX&D1+m`L;RBrd^fRZ z4J1NokuFGt@}jZeea@nFkr))Xl?&HJ;=q*glMDqevPgyl-;(^?4~JXS4~*r3g?$1UOah(BjzlFm3JsHx(AlL6 F`#((#NRR*k literal 0 HcmV?d00001 diff --git a/img/integrierer.pdf b/img/integrierer.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a2bcc1e6922bc265f21faa0405bb2573bdc0ed81 GIT binary patch literal 5799 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 Q(I_~QftUA!iX6lL0gu9?asU7T literal 0 HcmV?d00001 diff --git a/img/invamp.pdf b/img/invamp.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e50a61f2d3c81573b38492b2e13e29fc5793c6f7 GIT binary patch literal 7952 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 literal 0 HcmV?d00001 diff --git a/img/logarithmierer.pdf b/img/logarithmierer.pdf new file mode 100644 index 0000000000000000000000000000000000000000..748e1e96eefc2eb65ae8da45267c8a99e5ac12cf GIT binary patch literal 5599 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 TQMMUJ!C?r9sHld4CglGBJqsAV literal 0 HcmV?d00001 diff --git a/img/norator.pdf b/img/norator.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b86aebbdf57ba75037ceff0858a2dcdb73b66b8a GIT binary patch literal 1142 zcma)6ZAep57=}`#8)9e~7{U4BP*Hd9<~HY?qHZc`=D1T3`+)1+aa(S?>wd@-Oh`k@ zNU{(lA*D|nNJT=XWNGyy`a+5Vi^2p2i6S9P3p?k|eX#y?xSVs(bKdj5&-=VDM`1CS zWvi50LNWGrbe+fn6yO?<5=J8+_d}0ebN~&4XaWF0mN{J_tMWnDfL9sxX~O-uJl!Y>ADj$Hd3FoY&lC$yoDJHRN}-9$}rlTJ?mcF zmw9ALI{wh}TDZKiLt|*X*j-V_WyR0*Om~&!J&Q{*mhO#P`rUD@!OBWfa`lHI>Cn4| zD|0XNl|#Z}?A>_BVtcQ9qd)cO^wr_C%H?Yx6MVyowuSon3-|S(*XF0*eEOlcF1WWo zuYFu|Dt{%mIj&PfK#y%x81#oF#X8~@DXGq-@HyV8LxRf^m-@tVtBB+UMk5B$AQ=j6 z0BI@)DnPOfnvv+}0L|#z^rH>=0c35f7Xs44*rDvx!tl@|qHDoARzsVUDdBwJAc82M z)+_UXPN@TjWpfkf5s|$Ba4!T3U(R!qH-b?hfQ$x7T2WY@@d#cVjBO3VCWM<|i<5

HYOIM78nFrm&AIUc05 zjFabpN~xlhYLM;_MX!NGS|ZTSGhT<26_gxr&&ZI&Sa{ARv8dDk|5~^Zxe?(5{7sC= zxHx;jH7bg*S&Hx-9}k-d3g`(cG=NU4&C!A;5X5v^wV0E@ZL>YG|&2b{Yi3i%H!qdb7Tn4$Wg2?cq PoM9fNA{2_!nlj=q7ByhE literal 0 HcmV?d00001 diff --git a/img/notinvamp.pdf b/img/notinvamp.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5a79a680ece53cbaeda52cd8369a3f87f62145cd GIT binary patch literal 7948 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 literal 0 HcmV?d00001 diff --git a/img/nullator.pdf b/img/nullator.pdf new file mode 100644 index 0000000000000000000000000000000000000000..acc75c93afcbfb42fef867c9e5a941d48b00672c GIT binary patch literal 1088 zcma)5Uq}=|7{@G##VE2~Dq_gaH0XBs&b>SBu=36mOYJy)P)cgt8`rJt_L!a1vxlSy zA+5qt!VF*14LYP>QqF_|^5WWaPCIn_lGke~7=u5-0v-2Ci@B4kf-?t{O z+jBxROPpzFabT6R0s&}MS2(8=@I@%7kQ$IhAs+_-;5}-9AWZiFB*=|q&5yX;Tuvt# z!E0Qkv(fva#3iPDS>A6?gHW7o8AwP<<8Btc3y3r7@u}e))uDs-EL}r zH`|?N;!_67l%~1yQbik4N`LyTavEGt}u8EIFP&NQU1P0fUQTLKP! zq^$Bu@J_70!}9b=;EP34}f=_ z0V3dKNZ(XCdO_dxSG)Ax;7uv;Gni*b)-B=!_8!gA5s} zSOcP26wDToQA0>5ho^c{P{A-%qsqEj!%AkRQO1ike^{n7`~P7ZX4n(TNBO%TfdNg4 zrl!W|>vn9!L@=u61mNI=_yRUbvPz&D#4wvc{a_0O HyodV-ye~_) literal 0 HcmV?d00001 diff --git a/img/opamp_ideal.pdf b/img/opamp_ideal.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5766c4311ed7d812c2c7b08cb465d6a8fbeb4c34 GIT binary patch literal 1182 zcmY!laBvvl%CKW0Oow(mBr=_);Mk9h9cq@ZXh;&!B= z>k8M`wnGPAKi)E3JJ&UOWtZQ@`G3A2-8i>YA>;8+#&`EP#qKw5IMl!1?$>w8xcdzg z9w@6+G?{)lR&#q<#D*>*!!zv*GNKgJ&ZHS^vF&5su_Grb*OGwK^76EYrW zGX~qV%-Y;pY4Yfzh>mzm!ilX`lLA)tWwCxYf9_{-d}>dQRik^QY$V4`-F?e8E_BzO zXERm%=EVzMZ$vHDo!I|om5A=#l;R_sP9J;_>GyNel$fTpGmqAE1xoLF-6FC+t@?(Q zX~#py>OY>@+5ay8)$5scN^fthw%Dh%&Kcc4r_^Wf`5YE6+<0JHp=*8oEAd<5ckg`d zxb<%rKcDrdig#jHlYt_;ZFV_Vw{HHxePa4qU9Qx;6lll+S)ecn1vH2T2DPz)F-RW7 zGlItmI1XGZO5B4>fZ?xTV*?TZ0{uh-AV)#p*-^nzK|eVWNCIO8C;=pa2x^Wg+#Ch{ zkjjEo1^s};^i;5!0f|Mac_lz?u!#0eP037j%CAs}1_~J{m>B38nJO5Y>sc6?8W=jW9GwG}IX(hMYlxEJM@79cqcVh>mp=GI`K?L~=s#RVWclPh7u&OmXO)UwRv z)F5{!kRZed`a!A1`K3k4sl^JQa0o*356HE!l#1|AG1zI|nJL9Uw}ZSK1b1yI$csn@ zm?0V93{1f#`9%sE$%&ao`3i=5hCnYXXk?U>6j6s4wd87NqA8Nh*pnW?F< zsY03pOw7y@Xfg;Wu`eQ0T7$fc_4>hHz{07b@p A`~Uy| literal 0 HcmV?d00001 diff --git a/img/opamp_real.pdf b/img/opamp_real.pdf new file mode 100644 index 0000000000000000000000000000000000000000..90f5ff496386941d27bc8ec2dd237c8cc64c6d1b GIT binary patch literal 1112 zcma)6TSyd97^a5`CP5<0r{rj@XtX;sdsmi?b#>QUwCsk6k}}Pn-5pzJwlimKP4=OO zULxEyO4J}C6E9E@1%?k{LL!twU}O(vBovhpq#4vh=ghk6qAwkWnK|E_|MGp`&**&B z9zAccFuKR9_x~^^zyalK2jg%6wh_u<906tm`56EJ>ye@uBJzw17*<132|~u{WK@ix z(8(lj-RpZ|H4#Ki1uC@|G2Vr<7w*0T3+e%*4nALA|$u1u}vLAgS#J0Uz_hQEq^b;`Q&VTQlP#lA5#M33(YgNE$Y$hZz{+1H*J9fqf;%l z$5YF$Hg8kcz{qFx{fldIcwoK0%lxpPE&QGAJF%o!AFZ*iC5t0>7d`X%-PgfoMSZp6 znEO@{xl^*xQJ{L;aY^ryp2N;ve;va;43vYLoXHzii%LYFL?olhM8DIWF{`DfUQGgf z1DGfW91aSQ#R?qR0M_jSJYYqE+=-s#1G$rHGmj;k2e7BRV-T=DAq=&gJ^?`)ldz0M zCt*+$s+0t1B@hS9oWW=TCY!--v~U~`&S+6?MaCpd1=Q`dwO*veV>ykb>u6}E*8r)G z1X+#Inqqebb`!iBc1a@id#fmzX2ANPs>G29RX}y{=kTH3W@c=QkE*rSAO%&@JEiQ; zb{nS@a}ro{61d6iVFiIQQIL=Vcmq!;gR%(5u}YRmO29A@Vi8GH4GIdEmuqEwND0P8 zGRyxTw&jN{r+m79w}6GH5>BTk-l&_7Y{euH3^5$AGhB87tHolnfDp)FRwKzw7m%}< z$-EQecp}gCbHwKDn3=EGfmthv8{1;-x#utvq$ot%4^JkR)TrZ#@iubFc6|7 zK=v|G-PU4xaXgOM`SnjycQf7F=kHe+6(w#}+&h|^)3DIgc=bc5`Q>BiOY}4?rQcpG zo!OTX`lbIoa%pfnIWG0f;_fZMw!7-p_@Ua#wYs_F$z3b)jfCN2*Kp;}n$`Vf^?mfR zD!rl;Shw#PEpEP(8u+$MBwUy{8FU`urVrf=9&DL7m1#0s15amfERo`nvA5@ankqOu z*jC333_L$D|K?rF?AZOTg{k4|walyW)1e=M(T7)HVn^#(ah0n*DX+7=;MUvn@wUB> z?3LS^&a{Rqdsal(c)-zdPI$dzYBXWw+SmYDI1`v}_NP54v3{R>RuoK~Hmp6V*9|84 zeGQ)o$l2HRKwnr%EFYecfJ!Zc_wh;@)mc_HzgjA^N=Q|p*JA(;ilxy4P^MhK0LsRq zH_{qypf`Hf^Jt=Z09EeyLO_{WCzNxVSpjkq3X9lR2JLRv$XA222%>>9o75@QI-L%v zNHxu9l?*s92by?JLXjfC%@B6JP~d&u7;fRKWHdt8iUo}0DnW)zlDs(-QWb$tf%UrFHj(57XJ)2+jalIBJ{xNF{}0=+BrE3nFn<#( zu^!$TPL1pl*G<`osTQDvpg}f4M+eYqG%5{nfC#45WCM8@a8XQ^g`~hE2BVpOF_i{+ zx#^r*jhJr2vXuXx%hsT7iJX%J*6o3U{C}{zYapVGd)31862OIr+vOPN-~qNl_EnTv RL6R%f(Mm$0$Ujj)`~@bBXSx6Y literal 0 HcmV?d00001 diff --git a/img/pfaddauer.pdf b/img/pfaddauer.pdf new file mode 100644 index 0000000000000000000000000000000000000000..85c444d527b5fe43f3d256e875fd82565e8d8e5f GIT binary patch literal 6641 zcmchcc|4Tg_rQ~)&>~A&dt^_T)zD_o7Fm`Rd~N%o{7 zCCQSdh(xxMt?x5LTE5@c_xJtdH!o)9InTY%z31F>?|Gjy!n!IaB%xABCgI{w`3p>N z00NM#?U;@p1*A{nhAhhURSY3SPcxho2m;D7pXHZDioehwOS$)XA|bJ{va~}-k?UeY#O21= z;md+|-o{3dXOsHIV+C3El-taG+H!nk+P~r(!-XxS`491Kn~9u^3+gH%O6+|znOBwg z%Yfl65deooQ=NRDgn7hS`3VKsP@;f!u!*y`LipzGS_XW#xwMdO6E35}F|!xPaW=eA z&&c!jJa=~r&Oh_#+Fj)R(+v?TWG# z4YC*2c$l6~{TqMFxFqXj#h^bXw@LJp>u#ZZ#q#~6uDh?N0|%>Y^0Y(SDW9w7qoVW+ zxfjy-auO2SMKL0eh3z|vhhvu*XJR^h>swybBSlCe-Y4TkJ8eO)8Z>UUBoFX zDW=QMDJ4Lt8_#VPRW-x{5#=~r5rgq(hey%osFBIiCpu&wj1eaIs&-IX28Wz>?tY0I z;#=b~M_Km8Y@M&`yNFiJdqsZp?(&FzFn8v@GL}$rS3F-iYgR(8kPJJIy?uUorcCO^ z?gYmn`mXtF?$tsBf0fSbA})vPh3o1K?GJFI4~84cp{IP@wLj#^))oqudhoXhjzcVD z9ru+AQC(r030w=KR@OYw>dd%T^KGMUU6;;hMQWFJO5L=MGE6O%#J-X3t8yXn7#~7$ zCSCcyV=PZmen@j^5e)N}v24aQ?+NJ=L%6J?TqoJzlvyQD)V>;F9xb(i)QxSp8o6vW%); z{8>iT7(I?Oy#P~{p!n1NW~$=CVnT{W2aNRUBX+B@hRi8uP6^6qz7(tLy6c~ieWkl6 z&Z$Mtsb%Sb+;BG?eP3e>a5k*v9bWHidkfvUtGTs# zeO?Gv0WF@Wd-r;O)ltRAJe#VHR7%K0V|dFMGf|IT!L=_w^t5KX8K7>3Jmxg#CRXpG z>alku*_*LJ{Hn*r8O1h1__x8kbBxD@j%nS4dXhWF!s%ZLv_)L*WwG2M5n91)YkN{{ z&^#c!uHU~QMouwb?vmpB2QbzN1+Pn7GPROas2F5IZqM6?hWTEDy8FTn`*-e-;Xz|0 z`88aNOp(dwUvhiB=M&E~H4E79p=_V1#4NnUviC_!bcf-jdB><`lLvv3+g{%yE9CmP zRE}QzOIiCdd_*A@Z-i4}v%?8>c3vJG!CmLap2j$-8b=Hp5qxB*$L&Zx7CBq&YKE9! z@VErDbd-`h&C;&C8uhW1mq)_fJ%xy!JbThBTX`|Qy+!HYi?b90<_Aj~Wn>z!o?tLo zs^XEB6c`G8yWd!+F>r8bRDh@cC40Ge>HxdUS&PG+Rr!^2yoR$6c1Afphe>tcLc5zo zbmq_{Q?H%%*r{M>cu3F=vMCW8+4SCit`2_m@VJQ>A;KBrbc;`v!MdzOKsf zB+sBc;u=a-&BE^KzwfGFzB)$wdX=Gl?3C#Kj}ts{CSHs(@4qI#`*3rtMAWowce->< z%E{ceC7&J#$FJEUkwJO65r!AM{z=6e6h9Wy@@T*7Ay;u4gVLMdrESF4q+`7ozf1cw zd^9dXVm8FAYX&JXdZ?kq;x;z>t*=vZ?nL0U_C3p!c}op`d5q6)2TeWIOE|{wXlasR z_qfd}rBGxhuR`joxA$IQqyAG?z4Rn<_LqU6^X`SAA)P>0Ys4X|U?snCF?OXhK1!

VVdV*QJMbW;CJDwEBl+Pnj_vNOr4s# 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 literal 0 HcmV?d00001 diff --git a/img/shortcircuit.pdf b/img/shortcircuit.pdf new file mode 100644 index 0000000000000000000000000000000000000000..185231c33579de58fb2bdf43287795440fedd9b6 GIT binary patch literal 982 zcma)5zl#$=6h7`qGb&hk2x9S?U=GRtN;a3(aNOl5qGH$tEW~1NGf7tBPMn=cPHZgF zTy=sVf*fceUUQ%#DB4_QbA^9|U?GBqRwDRj^OIb2!?LsU&Aj)%?|rlJYO$O&HJilW z|J?seQeXhzyhCz1(66zeCEJij$Rz-vm;H`p0_P5utjIjxU}SBLgipEquCs_6K1>V^k5p6jw!1 z%}CKSQfgnVtcj9{d#NugHHo|-ms0=^of^0Ry|4i$=pMy4s=*C><1@-*Px63X-|8~Z ztF*(9PErblPvYKP19mfGfvsZ1n9Yqy*ATcZi)$3tnD}wjB zGsK2c{F#`62%Tm9)cK!_??aIC5kf(-*8s49F5=G9Y8yDI1zF#?lUE zRs(_wW|>DZ!^HN?oim-In3YA_=g!#~bYl+7%$}2i`W+^s->>FBU`SbARF`uJO8D@) aTnU;Slns%up`=1a3Rlx6iN{Mf%H%(I;R#Rx literal 0 HcmV?d00001 diff --git a/img/source_curr.pdf b/img/source_curr.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c579ab23bc827713da0af1ab95f84d71f9431ea2 GIT binary patch literal 1093 zcma)5Ur19?7_UT%ODRGlh|mMJnxVV*Zr*LKA?DO6R-4mEiKye)bQhBnwv2 zgFZwUSt%6Qqltp4P%lDS5LxucKq-PSkb0C7F*@hY&0#McF8AE~JNNs(-}n1{*XXON zDG|*QXB_|ec#X3H0jRAVoXZ9H<0u>??VyxGehvV@*C-)^Fx^9tpeiJ*0mPM;a~i=2 zUf^N_gAJo6-Qw=Wb%Xu%^r!gC`ln+}m93^;LsnO9^(kv#&ieXN-adoxdPV-N9_{

-L%55#+0iW5$cqwmoB6=(m0nf)K&uF&v&OU~=Wx5-@X-oo$Y zi_;6a^WNr$wa?4lSLcYibt=EYZGJ9^~qdfd& z2VOM{ZX5E3COH%iY;;JUm^Mrhwo^$gqQuVGnrm26#Wx)F_sb2AB-~jCL5=)Ie>vqv_P@m4HU6vyS~~wo%q$Mgm(#0yiBrqGDi@ zp@LN)nnl5E0j73BB2JzvO2Ht8k#rPiwUqsX2_lt;t<3KP%4!Q% zN)6wN+3eKwE#En4rZh${R6+>re|w|Sg(zhfHj^Rm%4D93YZPLuNr}v=p8yF L3uiP|duzDA$52Jb literal 0 HcmV?d00001 diff --git a/img/source_volt.pdf b/img/source_volt.pdf new file mode 100644 index 0000000000000000000000000000000000000000..43c9742a5b9e6d0c918eb481d8ab881bfb19dab7 GIT binary patch literal 1075 zcma)5O-K}B7^WnO$+ClxM!|R4Qlt6V-Enti74}CrGillFP-utG+0S)kompnS&9y^^ zv_C75t_cQ(CXuKWMB$+>(!n75(L)FlDv?112C{{{->kbXdg)`C*?ETdeV?CqY~f(T z35l0E+w&h|8P0)3q_=f)UM~_(6D>|VkQ1N?hY%7P)C464+!L6RAW`%f;p*x*lNtnf zap}R-z(i+}bRd}d+do<~zjEr>laDW@ver4ixj(t%`oM9X|C9N=_WMfno|YRUpKf0( zZxm;6?`-$$HUFE+U-Ixs_xX`m;nJe2 zmUnxPj=jAP+!ebh>Sq^HyJP{fmX-+Gmr)C0&>||7MkN51qKGz%p{wu^yJ_G;6ZXxRY)Y{XJA%^5Fw_XG8AGW=0&7H6JwlP zpG{4sMXgDVnZTdPj^x>S z?2u7A%3-nxVq*tsdCVb#*e#eSfjwI=yBqd!3+8aSw_z}I8|HFDLb+OMU^PJu>)Vd1 omk3a1%No&jikR^1x-@F-I$|+cxtbIk)KchnI60fG{!9b+4_6pK5C8xG literal 0 HcmV?d00001 diff --git a/img/techdraw.svg b/img/techdraw.svg new file mode 100644 index 0000000..1919f84 --- /dev/null +++ b/img/techdraw.svg @@ -0,0 +1,8744 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Vorlage für technische Zeichnungen + + + Emanuel Regnath + + + + + Emanuel Regnath + + + + + Emanuel Regnath + + + + + + + + + + + + + + + + + + + Maßpfeile 1mm + Maßpfeile 2mm + Linien + Widerstand + + Hilfslinien + + + + + + + + + + + + Quellen + + + Knoten + + + + + + + + + + + + + + + + + + + + + + + + + + + Ecken + + + + + + + + + + + Kondensatoren + + + + + + + + + + + Masse + + + + + + + + + + + Zählpfeile + + + + + + + + + + + + + + + + + + + + + + + + OP-Amps + Nullator + + + + + + + + + + Dioden + + + + + + + Klemmen + + + + + + + MOS-FETs + Bipolartransistoren + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gatter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kennlinien + + + + + + + + + + + + + + + + + u + + + + + + + + + + + + + + i + + + + + + + + + + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + G + R + + + + i + u + + + + + + + i + u + + + + + + + + + i + u + + + + + + + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R + + + uout + uin + + + + + + + C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R + + + uout + uin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R + + + uout + uin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R + + + uout + uin + + + + + + + C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R0 + R1 + + + + uout + uin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R0 + R1 + + + uout + uin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uout + uin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R + R + RL + + u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R0 + + + + uout + uin + + + + + + + + + + + + + + + + + + + + + + + + + + + G1 + Gi + G1 + + + + i + ! + + + !0 + + + + + ¼ + 20 + –40 + 0dB + –20 + 40 + ! + + + + + + + + !0 + + + + + 20 + –40 + 0dB + –20 + 40 + + + + + + + 10!0 + + + + + + + 0:1!0 + + + + + + + !0 + + + + + '=0 + + + + + + 10!0 + + + + + + + 0:1!0 + + ¼ + ¼=2 + ¼ + –¼=2 + + + + Q=1/2 + + Q→ + + + diff --git a/img/transistor_npn.pdf b/img/transistor_npn.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a0d08af49a3073ea2a567539dc3ec5ef46af5cde GIT binary patch literal 1151 zcma)6Ye*DP6sA8>Ls_hvQ9(CkQ;T+HAG43#q*`4yt+w3?A`E6{uj`i1YYqPch+5({ncfdJNLVsbH4MPkI}kv zo$K^Ep3!!WwNElezyaC2pRwBkTMQ*XE(0b4xfuWe>kO1*h{#?pV3-R<*$0`N97e$i z3KdMK`K-HZTldDr;qPm&JG~Dc{l04|C`hT(>;UPSysPt4rgFM+-p#Ko7-~GcZ0uz? z^y^n|cmMRl_KO?(SN3{zdB=u4MfWD855vj!nuqu6v%^o)hu@gnn_5qr7Gw|HG#{_k zdi~d4b!Z&P4?oRm6~7+2HMn~GMzQO}muq*b+Zx{9{=wGTpZ{ro&0IXU$eTP;(832V z_Z+NxUi|s!+!T#u#AgOy6o)T0BqeVd>4X{MKUY6VntQ*cdF3*meZCgK9SodRUB z0!I#jb!-B9z={HS6UoU1d6Q=*4&2w0ckhiXojfS`m)Sagb8p)Vk8mP24K zfjD5`bSBPXG1-9LqT?+#o6QPJ)JTUcVG^nUYKn*h@{wE_j3XDRrJ_;39>M?#k`knK z#hNJWAb2jU3W(61znOxOE?75IqN0XW-7BWAp}bq4p4w3qw@B|J)LYbP?Ez20t#v^tq aluBhl$Dqzt!2-f+hc-ROXtjCUoyGd0N8pV^S-?q6*i<-|ud>8XxRNg6$(&Y~`> zyZBlg_xI0zvQB=BP)y0ky()EemHTWZu6+E{P_EtlTHinyRkx zGa<*1h<}mLdb{&bD(^sezEi4p{$!-OoQhZd3;pU(6VvTOO9kxT z=U=%nP4mlSc0Z>{n_ZP&pZTS~H7^AkB0v@>EI|PX zqJcqZWM&MK2l0&HAq@^&*NPJN;1XcCD%jY71b{$4(E!L%(06uJFjUY_P6U#`&<08X zNg#rnV+uD%K|iFjAXPy>ATd1^Y-T`WQEFZZP#Y`)eN$616P@xa6rzDb1`0+7dM1YE z3Wnx-rskHGmKF-JU~SI%c_l!7#R{Or0Ev0`qWsbVB$q)f0*k^N8w|9*C^4_N0Ay)$ zB}~{EDDIM4mYJLycyT0RCc literal 0 HcmV?d00001 diff --git a/img/voltagefollower.pdf b/img/voltagefollower.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e5cd993861eefe862db6bc9253f2c8d8fbbc8a03 GIT binary patch literal 5087 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 af_^RxL|bF25IrdLBOqy@g&6o%2HpW<-h_$( literal 0 HcmV?d00001 diff --git a/packages/extern/accents.sty b/packages/extern/accents.sty new file mode 100644 index 0000000..d44b535 --- /dev/null +++ b/packages/extern/accents.sty @@ -0,0 +1,281 @@ +% +--------------------------------------------------+ +% | Typeset accents.tex to get the documentation. | +% +--------------------------------------------------+ +% +%% Copyright (C) 1998, 1999, 2000, 2006 Javier Bezos +%% All Rights Reserved +%% http://www.tex-tipografia.com +%% +%% This work may be distributed and/or modified under the conditions +%% of the LaTeX Project Public License, either version 1.3 of this +%% license or (at your option) any later version. The latest version +%% of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% This Current Maintainer of this work is Javier Bezos. +%% +%% This work consists of the files accents.tex and accents.sty. +% +% Changes +% ~~~~~~~ +% +% 2006-05-12. TeX converts to ord any symbol with a math accent. +% Accents now emulates this behaviour with braces around the +% nucleous; otherwise, the original category is preserved and +% the accents could look misaligned. (Reported by Viet-TrungLuu.) +% +% Release +% ~~~~~~~ + +\ProvidesPackage{accents}[2006/05/12 v1.3 Math Accent Tools] + +\let\cc@palette\mathpalette + +\DeclareOption{nonscript} + {\renewcommand\cc@palette[2]{#1\textstyle{#2}}} + +\DeclareOption{single} + {\renewcommand\cc@accent[1]{\mathaccent#1}} + +\newdimen\cc@skew +\newdimen\cc@wd + +\newcount\cc@code +\newcount\cc@group +\newcount\cc@skewchar + +\newif\ifcc@more + +% Code for real accents +% ~~~~~~~~~~~~~~~~~~~~~ + +\def\cc@accent#1#2{% + \begingroup + \cc@code=#1\relax + \let\math@bgroup\@empty + \def\math@egroup##1{\cc@setchar##1}% + \cc@palette\cc@@accent{#2}% + {\cc@nuc}% + \endgroup} + +\def\cc@iaccent#1#2{% + \cc@fetch{#2}% + \mathaccent#1{% + \ifcc@more#2\else + \cc@phant{#2}% + \gdef\cc@nuc{#2}% + \fi + \kern\cc@skew}% + \kern-\cc@skew}% + +\def\cc@@accent#1#2{% + \let\cc@style=#1% + \cc@fetch{#2}% + \mathaccent\cc@code{% + \ifcc@more#2\else + \cc@phant{#2}% + \gdef\cc@nuc{#2}% + \fi + \kern\cc@skew}% + \kern-\cc@skew + \kern\cc@wd}% + +% The accents are redefined: + +\begingroup + +\def\mathaccentV#1{\string"\noexpand\accentclass@}% +\let\protect\@empty +\let\mathaccent\@empty + +\def\cc@set#1{% + \xdef#1{\noexpand\protect\noexpand\cc@accent{#1}}} + +\cc@set\grave %{\protect\cc@accent{"7012\relax}} +\cc@set\acute %{\protect\cc@accent{"7013\relax}} +\cc@set\check %{\protect\cc@accent{"7014\relax}} +\cc@set\breve %{\protect\cc@accent{"7015\relax}} +\cc@set\bar %{\protect\cc@accent{"7016\relax}} +\cc@set\hat %{\protect\cc@accent{"705E\relax}} +\cc@set\dot %{\protect\cc@accent{"705F\relax}} +\cc@set\tilde %{\protect\cc@accent{"707E\relax}} +\cc@set\ddot %{\protect\cc@accent{"707F\relax}} +\cc@set\vec %{\protect\cc@accent{"017E\relax}} +\gdef\ring{\protect\cc@accent{"7017\relax}} + +\@ifundefined{mathring}{}{\cc@set\mathring} + +\endgroup + +% Faked accents +% ~~~~~~~~~~~~~ + +\newcommand\accentset[2]{% + \begingroup + \def\cc@a{#1}% + \let\math@bgroup\@empty + \def\math@egroup##1{\cc@setchar##1}% + \cc@palette\cc@accentset{#2}% + {\cc@nuc}% + \endgroup} + +\def\cc@accentset#1#2{% + \let\cc@style#1% + \cc@fetch{#2}% + \sbox\z@{$\m@th\cc@style\mathgroup\cc@group + \ifcc@more#2\else\cc@phant{#2}% + \gdef\cc@nuc{#2}\fi$}% + \cc@align{% + \hidewidth\kern\cc@skew + $\m@th\scriptscriptstyle\mathgroup\cc@group\cc@a$% + \hidewidth\cr{\box\z@}}% + \kern\cc@wd}% + +\def\cc@iaccentset#1#2{% + \cc@fetch{#2}% + \sbox\z@{$\m@th\cc@style\ifcc@more#2\else\cc@phant{#2}% + \gdef\cc@nuc{#2}\fi$}% + \cc@align{% + \hidewidth\kern\cc@skew + $\m@th\scriptscriptstyle#1$\hidewidth\cr + {\box\z@}}}% + +\def\cc@align#1{% + \vbox{% + \baselineskip\z@skip + \lineskip.25ex + \ialign{##\crcr#1\crcr}}} + +% Shared by real and faked accents +% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +\def\cc@phant#1{% + \v@true\h@true + \finph@nt}% with \box0 from \cc@fetch + +\def\cc@setchar{% + \cc@skewchar\ifnum\mathgroup=\m@ne + \skewchar\textfont\@ne + \else\ifnum\skewchar\textfont\mathgroup=\m@ne + \skewchar\textfont\@ne + \else\skewchar\textfont\mathgroup\fi\fi + \advance\cc@skewchar"7100 } + +\def\cc@fetch#1{% + \cc@group=\the\mathgroup + \let\cc@accent\@gobble + \let\accentset\@gobble + \sbox\z@{$\m@th\mathgroup\cc@group\cc@setchar + \cc@style#1{}\mathchar\cc@skewchar$}% + \sbox\@ne{$\m@th\mathgroup\cc@group\cc@setchar + \cc@style#1\mathchar\cc@skewchar$}% + \cc@morefalse + \def\cc@accent##1{\global\cc@moretrue}% + \def\accentset##1{\global\cc@moretrue}% + \global\cc@skew2\wd\@ne + \global\advance\cc@skew-2\wd\z@ + \sbox\z@{$\m@th\mathgroup\cc@group\cc@style#1$}% + \global\cc@wd-\wd\z@ + \let\cc@accent\cc@iaccent + \let\accentset\cc@iaccentset} + +% Two useful faked accents +% ~~~~~~~~~~~~~~~~~~~~~~~~ + +\def\dddot{\accentset{{\cc@style.\mkern-1.7mu\textstyle.\mkern-1.7mu.}}} +\def\ddddot{\accentset{{\cc@style.\mkern-2.1mu.\mkern-2.1mu.\mkern-2.1mu.}}} + +% Underaccents +% ~~~~~~~~~~~~ + +\newcommand\underaccent[2]{% + \begingroup + \def\cc@a{#2}% Stores the nucleous... + \cc@palette\cc@underaccent{#1}% ...and the accent is passed + #2% + \endgroup}% + +\def\cc@underaccent#1#2{% + \let\cc@style#1% + \expandafter\in@\expandafter\cc@accent\expandafter{#2}% + \ifin@ + \expandafter\cc@uaccent#2\@@% + \else + \cc@uaccentset{#2}% + \fi} + +\def\cc@uaccent#1#2#3\@@{% #1 and #2 gobbles \protect\cc@accent + \cc@under{% + \vbox to.2ex{% + \hbox{% + $\m@th + \cc@style + \mathgroup\cc@group + \cc@shift + \mathchar#3$}% + \vss}}} + +\def\cc@uaccentset#1{% + \cc@under{% + \hbox{% + $\m@th + \cc@style + \mathgroup\cc@group + \cc@shift + \scriptscriptstyle#1$}}} + +\def\cc@under#1{% + \cc@group\the\mathgroup + \sbox\z@{$\m@th\cc@style\mathgroup\cc@group\cc@a$}% + \sbox\tw@{$\scriptspace\z@\m@th\cc@style\mathgroup\cc@group\cc@a_{}$}% + \rlap{% + \oalign{% + \vrule \@depth\dp\z@ \@width\z@ + \kern\wd\tw@ + \crcr + \hidewidth#1\hidewidth}}} + +\def\cc@shift{% + \dimen@=-.000008ex + \multiply\dimen@\ifnum\mathgroup=\m@ne + \fontdimen\@ne\textfont\@ne + \else + \fontdimen\@ne\textfont\cc@group\fi + \kern\dimen@} + +% And \undertilde +% ~~~~~~~~~~~~~~~ + +\newcommand\undertilde{\cc@palette\cc@undertilde} + +\def\cc@undertilde#1#2{% + \cc@group\the\mathgroup + \sbox\z@{$\m@th\mathgroup\cc@group#1#2$}% + \oalign{% + $\m@th\mathgroup\cc@group#1#2$% + \crcr + \hidewidth + \vbox to.5ex{% + \hbox{% + $\hss + #1% + \mathgroup\cc@group + \widetilde{\hbox to\wd\z@{\hss}}% + \hss$}% + \vss}% + \hidewidth}} + +% The following command is used by \DeclareMathAccent +% and it's the only part requiring modification + +\def\set@mathaccent#1#2#3#4{% + \xdef#2{\noexpand\protect\noexpand\cc@accent + {"\mathchar@type#3\hexnumber@#1#4\relax}}} + +\ProcessOptions + +\endinput \ No newline at end of file diff --git a/packages/extern/booktabs.sty b/packages/extern/booktabs.sty new file mode 100644 index 0000000..cf25d78 --- /dev/null +++ b/packages/extern/booktabs.sty @@ -0,0 +1,182 @@ +%% +%% This is file `booktabs.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% booktabs.dtx (with options: `package') +%% +%% ----------------------------------------------------------------- +%% Author: Simon Fear +%% Maintainer: Danie Els (dnjels@sun.ac.za) +%% +%% This file is part of the booktabs package for publication +%% quality tables for LaTeX +%% +%% Copyright (C) 1995--2005 Simon Fear +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License as +%% published by the Free Software Foundation; either version 2 of +%% the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% +%% You should have received a copy of the GNU General Public +%% License along with this program; if not, write to the Free +%% Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, +%% MA 02111-1307 USA +%% ----------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{booktabs} + [2005/04/14 v1.61803 publication quality tables] +\newdimen\heavyrulewidth +\newdimen\lightrulewidth +\newdimen\cmidrulewidth +\newdimen\belowrulesep +\newdimen\belowbottomsep +\newdimen\aboverulesep +\newdimen\abovetopsep +\newdimen\cmidrulesep +\newdimen\cmidrulekern +\newdimen\defaultaddspace +\heavyrulewidth=.08em +\lightrulewidth=.05em +\cmidrulewidth=.03em +\belowrulesep=.65ex +\belowbottomsep=0pt +\aboverulesep=.4ex +\abovetopsep=0pt +\cmidrulesep=\doublerulesep +\cmidrulekern=.5em +\defaultaddspace=.5em +\newcount\@cmidla +\newcount\@cmidlb +\newdimen\@aboverulesep +\newdimen\@belowrulesep +\newcount\@thisruleclass +\newcount\@lastruleclass +\@lastruleclass=0 +\newdimen\@thisrulewidth +\def\futurenonspacelet#1{\def\@BTcs{#1}% + \afterassignment\@BTfnslone\let\nexttoken= } +\def\@BTfnslone{\expandafter\futurelet\@BTcs\@BTfnsltwo} +\def\@BTfnsltwo{\expandafter\ifx\@BTcs\@sptoken\let\next=\@BTfnslthree + \else\let\next=\nexttoken\fi \next} +\def\@BTfnslthree{\afterassignment\@BTfnslone\let\next= } +\def\toprule{\noalign{\ifnum0=`}\fi + \@aboverulesep=\abovetopsep + \global\@belowrulesep=\belowrulesep %global cos for use in the next noalign + \global\@thisruleclass=\@ne + \@ifnextchar[{\@BTrule}{\@BTrule[\heavyrulewidth]}} +\def\midrule{\noalign{\ifnum0=`}\fi + \@aboverulesep=\aboverulesep + \global\@belowrulesep=\belowrulesep + \global\@thisruleclass=\@ne + \@ifnextchar[{\@BTrule}{\@BTrule[\lightrulewidth]}} +\def\bottomrule{\noalign{\ifnum0=`}\fi + \@aboverulesep=\aboverulesep + \global\@belowrulesep=\belowbottomsep + \global\@thisruleclass=\@ne + \@ifnextchar[{\@BTrule}{\@BTrule[\heavyrulewidth]}} +\def\specialrule#1#2#3{\noalign{\ifnum0=`}\fi + \@aboverulesep=#2\global\@belowrulesep=#3\global\@thisruleclass=\tw@ + \@BTrule[#1]} +\def\addlinespace{\noalign{\ifnum0=`}\fi + \@ifnextchar[{\@addspace}{\@addspace[\defaultaddspace]}} +\def\@addspace[#1]{\global\@belowrulesep=#1\global\@thisruleclass=\tw@ + \futurelet\@tempa\@BTendrule} +\def\@BTrule[#1]{% + \global\@thisrulewidth=#1\relax + \ifnum\@thisruleclass=\tw@\vskip\@aboverulesep\else + \ifnum\@lastruleclass=\z@\vskip\@aboverulesep\else + \ifnum\@lastruleclass=\@ne\vskip\doublerulesep\fi\fi\fi + \ifx\longtable\undefined + \let\@BTswitch\@BTnormal + \else\ifx\hline\LT@hline + \let\@BTswitch\@BLTrule + \else + \let\@BTswitch\@BTnormal + \fi\fi + \@BTswitch} +\AtBeginDocument{% + \providecommand*\CT@arc@{}}%% colortbl support +\def\@BTnormal{% + {\CT@arc@\hrule\@height\@thisrulewidth}% + \futurenonspacelet\@tempa\@BTendrule} +\def\@BLTrule{\@ifnextchar({\@@BLTrule}{\@@BLTrule()}} +\def\@@BLTrule(#1){\@setrulekerning{#1}% +\global\@cmidlb\LT@cols +\ifnum0=`{\fi}% +\@cmidruleb +\noalign{\ifnum0=`}\fi +\futurenonspacelet\@tempa\@BTendrule} +\def\@BTendrule{\ifx\@tempa\toprule\global\@lastruleclass=\@thisruleclass + \else\ifx\@tempa\midrule\global\@lastruleclass=\@thisruleclass + \else\ifx\@tempa\bottomrule\global\@lastruleclass=\@thisruleclass + \else\ifx\@tempa\cmidrule\global\@lastruleclass=\@thisruleclass + \else\ifx\@tempa\specialrule\global\@lastruleclass=\@thisruleclass + \else\ifx\@tempa\addlinespace\global\@lastruleclass=\@thisruleclass + \else\global\@lastruleclass=\z@\fi\fi\fi\fi\fi\fi + \ifnum\@lastruleclass=\@ne\relax\else\vskip\@belowrulesep\fi + \ifnum0=`{\fi}} +\def\@setrulekerning#1{% + \global\let\cmrkern@l\z@ + \global\let\cmrkern@r\z@ + \@tfor\@tempa :=#1\do + {\def\@tempb{r}% + \ifx\@tempa\@tempb + \global\let\cmrkern@r\cmidrulekern + \def\cmrsideswitch{\cmrkern@r}% + \else + \def\@tempb{l}% + \ifx\@tempa\@tempb + \global\let\cmrkern@l\cmidrulekern + \def\cmrsideswitch{\cmrkern@l}% + \else + \global\expandafter\let\cmrsideswitch\@tempa + \fi + \fi}} +\def\cmidrule{\noalign{\ifnum0=`}\fi + \@ifnextchar[{\@cmidrule}{\@cmidrule[\cmidrulewidth]}} +\def\@cmidrule[#1]{\@ifnextchar({\@@cmidrule[#1]}{\@@cmidrule[#1]()}} +\def\@@cmidrule[#1](#2)#3{\@@@cmidrule[#3]{#1}{#2}} +\def\@@@cmidrule[#1-#2]#3#4{\global\@cmidla#1\relax + \global\advance\@cmidla\m@ne + \ifnum\@cmidla>0\global\let\@gtempa\@cmidrulea\else + \global\let\@gtempa\@cmidruleb\fi + \global\@cmidlb#2\relax + \global\advance\@cmidlb-\@cmidla + \global\@thisrulewidth=#3 + \@setrulekerning{#4} + \ifnum\@lastruleclass=\z@\vskip \aboverulesep\fi + \ifnum0=`{\fi}\@gtempa + \noalign{\ifnum0=`}\fi\futurenonspacelet\@tempa\@xcmidrule} +\def\@xcmidrule{% + \ifx\@tempa\cmidrule + \vskip-\@thisrulewidth + \global\@lastruleclass=\@ne + \else \ifx\@tempa\morecmidrules + \vskip \cmidrulesep + \global\@lastruleclass=\@ne\else + \vskip \belowrulesep + \global\@lastruleclass=\z@ + \fi\fi + \ifnum0=`{\fi}} +\def\@cmidrulea{% + \multispan\@cmidla&\multispan\@cmidlb + \unskip\hskip\cmrkern@l% + {\CT@arc@\leaders\hrule \@height\@thisrulewidth\hfill}% + \hskip\cmrkern@r\cr}% +\def\@cmidruleb{% + \multispan\@cmidlb + \unskip\hskip \cmrkern@l% + {\CT@arc@\leaders\hrule \@height\@thisrulewidth\hfill}% + \hskip\cmrkern@r\cr}% +\def\morecmidrules{\noalign{\relax}} +\endinput +%% +%% End of file `booktabs.sty'. diff --git a/packages/extern/esint.sty b/packages/extern/esint.sty new file mode 100644 index 0000000..d50f35b --- /dev/null +++ b/packages/extern/esint.sty @@ -0,0 +1,69 @@ +%% +%% This is file `esint.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% esint.dtx (with options: `package') +%% +%% esint package to typeset integrals signs. +%% +%% See also http://perso.wanadoo.fr/eddie.saudrais (in french) +%% +%% Run LaTeX on esint.ins to generate files. +%% +%% Install the files: +%% +%% -- esint.sty and uesint.fd on TEXINPUT; +%% -- esint10.mf, mathint.mf and bigint.mf on MFINPUT; +%% -- generate tfm files running METAFONT on esint10.mf files, and put +%% the *.tfm file on the right location. +%% +%% Run LaTeX on esint.dtx to generate +%% documentation. +%% + + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{esint} +\def\re@DeclareMathSymbol#1#2#3#4{% + \let#1=\undefined + \DeclareMathSymbol{#1}{#2}{#3}{#4}} +\DeclareSymbolFont{largesymbolsA}{U}{esint}{m}{n} +\re@DeclareMathSymbol{\intop}{\mathop}{largesymbolsA}{'001} + \def\int{\intop\nolimits} +\re@DeclareMathSymbol{\iintop}{\mathop}{largesymbolsA}{'003} + \def\iint{\iintop\nolimits} +\re@DeclareMathSymbol{\iiintop}{\mathop}{largesymbolsA}{'005} + \def\iiint{\iiintop\nolimits} +\re@DeclareMathSymbol{\iiiintop}{\mathop}{largesymbolsA}{'007} + \def\iiiint{\iiiintop\nolimits} +\re@DeclareMathSymbol{\dotsintop}{\mathop}{largesymbolsA}{'011} + \def\dotsint{\dotsintop\nolimits} +\re@DeclareMathSymbol{\ointop}{\mathop}{largesymbolsA}{'013} + \def\oint{\ointop\nolimits} +\re@DeclareMathSymbol{\oiintop}{\mathop}{largesymbolsA}{'015} + \def\oiint{\oiintop\nolimits} +\re@DeclareMathSymbol{\sqintop}{\mathop}{largesymbolsA}{'017} + \def\sqint{\sqintop\nolimits} +\re@DeclareMathSymbol{\sqiintop}{\mathop}{largesymbolsA}{'021} + \def\sqiint{\sqiintop\nolimits} +\re@DeclareMathSymbol{\ointctrclockwiseop}{\mathop}{largesymbolsA}{'027} + \def\ointctrclockwise{\ointctrclockwiseop\nolimits} +\re@DeclareMathSymbol{\ointclockwiseop}{\mathop}{largesymbolsA}{'031} + \def\ointclockwise{\ointclockwiseop\nolimits} +\re@DeclareMathSymbol{\varointclockwiseop}{\mathop}{largesymbolsA}{'033} + \def\varointclockwise{\varointclockwiseop\nolimits} +\re@DeclareMathSymbol{\varointctrclockwiseop}{\mathop}{largesymbolsA}{'035} + \def\varointctrclockwise{\varointctrclockwiseop\nolimits} +\re@DeclareMathSymbol{\fintop}{\mathop}{largesymbolsA}{'037} + \def\fint{\fintop\nolimits} +\re@DeclareMathSymbol{\varoiintop}{\mathop}{largesymbolsA}{'041} + \def\varoiint{\varoiintop\nolimits} +\re@DeclareMathSymbol{\landupintop}{\mathop}{largesymbolsA}{'043} + \def\landupint{\landupintop\nolimits} +\re@DeclareMathSymbol{\landdownintop}{\mathop}{largesymbolsA}{'045} + \def\landdownint{\landdownintop\nolimits} +\endinput +%% +%% End of file `esint.sty'. diff --git a/packages/extern/esint10.mf b/packages/extern/esint10.mf new file mode 100644 index 0000000..bb97599 --- /dev/null +++ b/packages/extern/esint10.mf @@ -0,0 +1,115 @@ +%% +%% This is file `esint10.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% esint.dtx (with options: `mffile') +%% +%% esint package to typeset integrals signs. +%% +%% See also http://perso.wanadoo.fr/eddie.saudrais (in french) +%% +%% Run LaTeX on esint.ins to generate files. +%% +%% Install the files: +%% +%% -- esint.sty and uesint.fd on TEXINPUT; +%% -- esint10.mf, mathint.mf and bigint.mf on MFINPUT; +%% -- generate tfm files running METAFONT on esint10.mf files, and put +%% the *.tfm file on the right location. +%% +%% Run LaTeX on esint.dtx to generate +%% documentation. +%% + + +if unknown cmbase: input cmbase fi + +font_identifier:="ESINT"; font_size 10pt#; + +u#:=20/36pt#; % unit width +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +tdec#:=6u#; % space between integrals signs (textstyle) +ddec#:=6.5u#; % space between integrals signs (displaystyle) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +body_height#:=270/36pt#; % height of tallest characters +asc_height#:=250/36pt#; % height of lowercase ascenders +cap_height#:=246/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=155/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=87/36pt#; % height of crossbar in lowercase e +comma_depth#:=70/36pt#; % depth of comma below baseline +desc_depth#:=70/36pt#; % depth of lowercase descenders + +crisp#:=0pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=9/36pt#; % lowercase hairline breadth +stem#:=25/36pt#; % lowercase stem breadth +curve#:=30/36pt#; % lowercase curve breadth +ess#:=27/36pt#; % breadth in middle of lowercase s +flare#:=33/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=38/36pt#; % diameter of dots +cap_hair#:=11/36pt#; % uppercase hairline breadth +cap_stem#:=32/36pt#; % uppercase stem breadth +cap_curve#:=37/36pt#; % uppercase curve breadth +cap_ess#:=35/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.4pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=20/36pt#; % vertical distance from serif base to tangent +jut#:=28/36pt#; % protrusion of lowercase serifs +cap_jut#:=37/36pt#; % protrusion of uppercase serifs +beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs +beak#:=70/36pt#; % vertical protrusion of beak serifs +vair#:=8/36pt#; % vertical diameter of hairlines +notch_cut#:=10pt#; % maximum breadth above or below notches +bar#:=11/36pt#; % lowercase bar thickness +slab#:=11/36pt#; % serif and arm thickness +cap_bar#:=11/36pt#; % uppercase bar thickness +cap_band#:=11/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches +serif_drop#:=4/36pt#; % vertical drop of sloped serifs +stem_corr#:=1/36pt#; % for small refinements of stem breadth +vair_corr#:=1/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=8/36pt#; % of overshoot for curves +apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions + +slant:=0; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=1; % factor applied to weights of heavy characters +math_spread:=0; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? + +fontdimen 8: % parameters $\xi_8$ through $\xi_{13}$ will now be listed + rule_thickness#, % default\_rule\_thickness + 40/36pt#, % big\_op\_spacing1 + 60/36pt#, % big\_op\_spacing2 + 72/36pt#, % big\_op\_spacing3 + 216/36pt#, % big\_op\_spacing4 + 36/36pt#; % big\_op\_spacing5 + +generate mathint % switch to the driver file +\endinput +%% +%% End of file `esint10.mf'. diff --git a/packages/extern/iosscientific.sty b/packages/extern/iosscientific.sty new file mode 100644 index 0000000..8c49eee --- /dev/null +++ b/packages/extern/iosscientific.sty @@ -0,0 +1,222 @@ +% Wissenschaftliche Macros für LaTeX4EI Stand 24.01.13 +% Erstellt von Emanuel Regnath, Martin Zellner +% +% Lizenz: Dieses package darf nur für Dokumente für LaTeX4EI verwendet werden! +% Bei anderem Verwendungszweck bitte Erlaubnis einholen: info@latex4ei.de +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{scientific}[2013/01/12 Scientific Macros for LaTeX4EI] + + +% Benötigte Pakete laden +\RequirePackage{xifthen} % If Then Else Anweisungen +\RequirePackage{amsmath} % erlaubt mathematische Formeln +\RequirePackage{accents} % Für eigene Ableitungspunkte benötigt +\RequirePackage{xcolor} % Farbiger Text möglich + +% Zusätzliche Pakete +\RequirePackage{amssymb} % Verschiedene Symbole +\RequirePackage{esint} % erweiterte Integralsymbole +\RequirePackage[version=3]{mhchem} % chemistry \ce +\RequirePackage[strict]{siunitx} % SI gerechte Darstellung von Zahlen + + + +% .:: Eigenschaften setzen +% ====================================================================== + +% Einrückung bei itemize verkleinern: +\setlength{\itemindent}{0em} +\setlength\leftmargini{1.8em} + + +% .:: Externe Befehle +% ====================================================================== + +% \utilde: aus Package undertilde.sty +\newlength\knuthian@fdfive +\def\mathpal@save#1{\let\was@math@style=#1\relax} +\def\utilde#1{\mathpalette\mathpal@save + {\setbox124=\hbox{$\was@math@style#1$}% +\setbox125=\hbox{$\fam=3\global\knuthian@fdfive=\fontdimen5\font$} +\setbox125=\hbox{$\widetilde{\vrule height 0pt depth 0pt width \wd124}$}% + \baselineskip=1pt\relax + \vtop{\copy124\copy125\vskip -\knuthian@fdfive}}} + +% Laplace Befehl aus trfsigns.sty +\newcommand{\laplace}{\mbox{\setlength{\unitlength}{0.1em} + \begin{picture}(25,10) + \put(3,3){\circle{4}} + \put(5,3){\line(1,0){13}} + \put(19,3){\circle*{4}} + \end{picture}}} +% Fourier Befehl von Laplace übernehmen +\newcommand{\fourier}{\laplace} + + + +% .:: Eigene Befehle und Abkürzungen +% ====================================================================== + +% Bestehende Befehle sichern +\let\oldvec = \vec +\let\olddot = \dot +\let\oldfrac = \frac +\let\oldlaplace = \laplace + +% Eigene Bruchdarstellung: +\renewcommand{\frac}[3][]{% + \ifthenelse{\isempty{#1}}% + {\oldfrac{#2}{#3}} + {\genfrac{}{}{}{}{\raisebox{#1}[\height+0.1em][\depth]{$\scriptstyle #2$}}{\raisebox{-#1}[\height][\depth + 0.2em]{$\scriptstyle #3$}}} +} + + +% Eigene Befehle +\newcommand{\ul}[1]{\ensuremath{\underline{#1}}} % Untersteichen +\newcommand{\ol}[1]{\ensuremath{\overline{#1}}} % Überstreichen +\newcommand{\bs}[1]{\ensuremath{\boldsymbol{#1}}} % Fett und kursiv im mathmode +\newcommand{\iset}[2]{\ensuremath{\bigl\{ \bigl. #1 \, \bigr| \, #2 \bigr\}}} % intensional set +\newcommand{\eset}[1]{\ensuremath{\bigl\{#1\bigr\}}} % extensional set +\newcommand{\norm}[1]{\ensuremath{\left\|#1\right\|}} % Norm +\newcommand{\mat}[1]{\ensuremath{\begin{bmatrix} #1 \end{bmatrix}}} % Matrix +\newcommand{\ma}[1]{\ensuremath{\utilde{\boldsymbol {#1}}}} % Matrixsymbol +\newcommand{\vect}[1]{\ensuremath{\begin{pmatrix} #1 \end{pmatrix}}} % Vektor +\newcommand{\mvect}[1]{\ensuremath{\left.\begin{matrix} #1 \end{matrix}\right]}}% Matrixvektor +\newcommand{\tensor}[1]{\ensuremath{\underline{\underline{\boldsymbol #1}}}} % Tensor +\newcommand{\gk}[1]{\ensuremath{\left\lfloor#1\right\rfloor}} % Gaußklammer +\newcommand{\sprod}[2]{\ensuremath{\left\langle #1, #2 \right\rangle }} % Skalarprodukt +\newcommand{\abs}[1]{\ensuremath{\left\vert#1\right\vert}} % Betrag +\newcommand{\chem}[1]{\ensuremath{\displaystyle{\mathrm{#1}}}} % chemische Formeln die gut aussehen ;) +\newcommand{\ir}[1]{\sf #1} % index roman: Indizes aufrecht schreiben +\newcommand{\interior}[1]{\ensuremath{\overset{{}_\circ}{#1}}} % Das Innere +\newcommand{\rom}[1]{$\underline{\overline{\textrm{#1}}}$} % Römische Zahlen + + +% Komplexe und Hyperkomplexe Zahlen +\newcommand{\cx}[1]{\boldsymbol{#1}} % komplexe Zahl +\newcommand{\cxc}[1]{\ensuremath{\boldsymbol #1^*}} % Konjugiert komplexe Zahl +\newcommand{\hx}[1]{\ensuremath{\mathfrak #1}} % hyperkomplexe Zehl +\renewcommand{\i}{\ensuremath{\mathrm{i}}} % imaginary unit +\renewcommand{\j}{\ensuremath{\mathrm{j}}} % imaginary unit +\renewcommand{\k}{\ensuremath{\mathrm{k}}} % imaginary unit + +% Überschreibungen +\renewcommand{\vec}[1]{\ensuremath{\underline{\boldsymbol {#1}}}} % Vektor fett und unterstrichen +\renewcommand{\emph}[1]{\textbf{#1}} % Hervorhebungen fett +\renewcommand*{\dot}[1]{\accentset{\mbox{\textrm{\large\bfseries .}} }{#1}} % Dicker Ableitungspunkt +\renewcommand*{\ddot}[1]{\accentset{\mbox{\textrm{\large\bfseries .\hspace{-0.25ex}.}}}{#1}} % Dicker Doppelableitungspunkt +\renewcommand*{\dddot}[1]{\accentset{\mbox{$\overset{\textrm{\large\bfseries .}}{\textrm{\large\bfseries.\hspace{-0.25ex}.}}$}}{#1}} + +% Abkürzungen für Symbole +\newcommand{\Ra}{\ensuremath{\Rightarrow}} % Rightarrow +\newcommand{\ra}{\ensuremath{\rightarrow}} % rightarrow +\newcommand{\lra}{\ensuremath{\longrightarrow}} % Longrightarrow +\newcommand{\bdot}{\ensuremath{\boldsymbol \cdot}} % Dicker Punkt für Skalarprodukt +\newcommand{\svdots}{\ensuremath{\olddot :}} % small vertical dots +\newcommand{\shdots}{\ensuremath{\!\cdot \!\cdot\!\cdot\!}} % small horizontal dots +\newcommand{\diff}{\ensuremath{\ \mathrm d}} % differentielles Delta + +\newcommand{\capdot}{\cap\hspace{-0.84em}\cdot\hspace{0.5em}} % Schnittmenge bzw. AND +\let\cupplus\uplus % Vereinigunsmenge bzw. OR + + + % Abkürzungen für Mengensymbole + \DeclareMathOperator{\N}{\mathbb N} % Natürliche Zahlen + \DeclareMathOperator{\R}{\mathbb R} % Reele Zahlen + \DeclareMathOperator{\C}{\mathbb C} % Komplexe Zahlen + \DeclareMathOperator{\K}{\mathbb K} % Reele oder komplexe Zahlen + \DeclareMathOperator{\B}{\mathbb B} % Binäre Zahlen 1,0 + \def\O{\operatorname{\mathcal O}} % Landau + %\def\P{\operatorname{\mathbb P}} % Primzahlen + \DeclareMathOperator{\lpo}{\Delta} % Laplace Operator + + + +% Aufrechtschrift für Funktionen +\DeclareMathOperator{\grad}{grad} % Gradient +\def\div{\operatorname{div}} % Divergenz +\DeclareMathOperator{\rot}{rot} % Rotation +\DeclareMathOperator{\Sp}{Sp} % Spur +\DeclareMathOperator{\ggT}{ggT} % ggT +\DeclareMathOperator{\sgn}{sgn} % Signum +\DeclareMathOperator{\sinc}{sinc} % Sinus Cardinalis +\newcommand{\heavi}{\ensuremath{\Theta}} % Heaviside Funktion +\DeclareMathOperator{\const}{const.} % Konstante + + + +% Stochastische Befehle: +\renewcommand{\P}{\textsf{P}} % Wahrscheinlichkeitsmaß +\DeclareMathOperator{\F}{\mathbb F} % Ereignisalgebra +\DeclareMathOperator{\X}{\textit{X}} % Zufallsvariable X +\DeclareMathOperator{\Y}{\textit{Y}} % Zufallsvariable Y +\DeclareMathOperator{\Z}{\textit{Z}} % Zufallsvariable Z +\DeclareMathOperator{\E}{\textit{E}} % Erwartungswert +\newcommand{\ew}[1]{\textit{E} \left[ #1 \right]} % Erwartungswert (mit Parameter) +\DeclareMathOperator{\Var}{\textit{Var}} % Varianz +\DeclareMathOperator{\Cov}{\textit{Cov}} % Kovarianz + + +% Eigene Tabellenlinien +\def\trule{\noalign{\vspace{1pt}\hrule\hrule\vspace{2pt}}} % top rule +\def\mrule{\noalign{\vspace{1pt}\hrule\vspace{2pt}}} % middle rule +\def\brule{\noalign{\vspace{2pt}\hrule\hrule\vspace{1pt}}} % bottom rule + + + + +% .:: Farbige Elemente +% ====================================================================== + +\definecolor{lightblue}{RGB}{235,235,255} +\definecolor{lightred}{RGB}{255,240,240} +\definecolor{lightgreen}{RGB}{240,255,240} +\definecolor{lightyellow}{RGB}{255,255,240} +\definecolor{lightblue}{RGB}{220, 240, 247} +\definecolor{darkblue}{RGB}{23,110,138} +\definecolor{notsodarkblue}{RGB}{119,193,214} +\definecolor{tablecolor}{RGB}{0,128,0} + +% Für die Überschriften und Linien +\definecolor{lila}{RGB}{128,0,128} +\definecolor{latex4eiblau}{RGB}{86,124,136} +\definecolor{latex4eigruen}{RGB}{150,163,110} + +% Farbige Boxen +\newcommand{\topicbox}[2]{ +\fcolorbox{blue}{lightblue}{\color{blue}\parbox{\columnwidth-2\fboxsep}{{\large \textbf{ #1}}\\\hspace*{-\fboxsep}\rule[2pt]{\columnwidth}{0.5pt}\\ \color{black}#2}}} + +\newcommand{\emphbox}[1]{{\fboxrule1pt\fcolorbox{red}{lightyellow}{\parbox{\columnwidth-2\fboxsep-2pt}{\centering #1}}}} +\newcommand{\symbolbox}[1]{{\fboxrule1pt\fcolorbox{orange}{lightyellow}{\parbox{\columnwidth-2\fboxsep-2pt}{#1}}}} +\newcommand{\tablebox}[1]{{\fboxsep0pt\colorbox{lightgreen}{\parbox{\columnwidth}{#1}}}} +\newcommand{\sectionbox}[1]{{\fboxsep0.5em\hspace*{-\fboxsep}\hspace*{-1pt}\fcolorbox{gray}{gray!3}{\parbox{\columnwidth}{ + \titlespacing{\subsection}{0em}{0.2em}{0.2em} + \titlespacing{\subsubsection}{0em}{0.2em}{0.2em} +#1 +}}}} +\newcommand{\cookbox}[2]{{\fboxsep0pt\colorbox{lightblue}{\parbox{\columnwidth}{ +{\color{darkblue}\hrule\hrule}\vspace{2pt} + \begin{center} +\textbf{#1} +\end{center} +\vspace{3pt}{\color{notsodarkblue}\hrule\hrule} +\vspace{3pt} +\begin{itemize} +#2 +\end{itemize} +\vspace{2pt}{\color{darkblue}\hrule\hrule} +}}}} + + +% Farbige Tabellenlinien +\def\ctrule{\noalign{{\color{tablecolor}\hrule\hrule}\vspace{2pt}}} % colored top rule +\def\cmrule{\noalign{\vspace{1pt}{\color{tablecolor}\hrule}\vspace{2pt}}} % colored middle rule +\def\cbrule{\noalign{\vspace{2pt}{\color{tablecolor}\hrule\hrule}}} % colored bottom rule + + + + +% Ende von /input +\endinput + diff --git a/packages/extern/mhchem.sty b/packages/extern/mhchem.sty new file mode 100644 index 0000000..831a8cf --- /dev/null +++ b/packages/extern/mhchem.sty @@ -0,0 +1,2104 @@ +%% mhchem.sty +%% Copyright 2004-2011 M.a-r.t-i.n H.e-n.s-e.l +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c +% which can be found at +% http://www.latex-project.org/lppl/lppl-1-3c.txt +% +% This work has the LPPL maintenance status "maintained". +% The Current Maintainer of this work is M.a-r.t-i.n H.e-n.s-e.l. +% +% ( In order to fight spam, the maintainer's contact ) +% ( information is "encrypted" with ROT13. ) +% ( If you do not know ROT13 yet and have no tool for ) +% ( decryption, simply do an Internet search for "ROT13". ) +% +% ,---[ ROT 13 ]--- +% | Gur Pheerag Znvagnvare bs guvf jbex vf Znegva Urafry +% | jub pna or pbagnpgrq ivn +% | zupurz@ZnegvaUrafry.qr +% | be ivn znvy +% | Znegva Urafry +% | Cbfgfge. 20 +% | 09232 Unegznaafqbes +% | Treznal +% `---------- +% +% This work consists of the files mhchem.sty, rsphrase.sty, +% mhchem.pdf and legal.txt. +% +% +\ProvidesPackage{mhchem}[2011/06/03 v3.11 for typesetting chemical formulae] +\RequirePackage{ifthen} +\RequirePackage{calc}[1998/07/07] +\RequirePackage{twoopt} +\RequirePackage{amsmath} +\RequirePackage{keyval} +\RequirePackage{graphics} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%% misc %%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\DeclareMathSymbol{\mhchem@hyphen}{0}{operators}{45} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%% \cee %%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newcommand*{\cee}[1]{% + \ifnum 1<\mhchem@option@version% + \def\mhchem@ce@out{}% + {\mhchem@ce@v#1\mhchem@empty\\\mhchem@END\mhchem@ENDEND}% + \ensuremath{% + \mhchem@ce@out% + }% + \else% + \PackageWarningNoLine{mhchem}{% + The \string\cee{} command of mhchem is only available\MessageBreak + when you secify [version=2] or greater}% + \fi% +}% + +\def\mhchem@ce@v#1\\#2#3\mhchem@ENDEND{% + \ifx\mhchem@END#2% + \mhchem@ce@vii#1&\mhchem@END\mhchem@ENDEND% + \else% + \mhchem@ce@vii#1&\mhchem@END\mhchem@ENDEND% + \g@addto@macro\mhchem@ce@out{\\}% + \mhchem@ce@v#2#3\mhchem@ENDEND% + \fi% +} + +\long\def\mhchem@ce@vii#1#3\mhchem@ENDEND{% + \ifx\mhchem@END#2% + \g@addto@macro\mhchem@ce@out{\ce@main{#1}}% + \else% + \g@addto@macro\mhchem@ce@out{\ce@main{#1}}% + \g@addto@macro\mhchem@ce@out{&}% + \mhchem@ce@vii#2#3\mhchem@ENDEND% + \fi% +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%% \ce %%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% + +\def\mhchem@protect{\protect\noexpand\protect}% + +\newcommand\ce[1]{\mhchem@ce@xiii{\mhchem@ce@viii#1 \mhchem@END\mhchem@ENDEND}}% +% +% +\def\mhchem@ce@viii#1 #2\mhchem@ENDEND{% + \ifx\mhchem@END#2% + \ifx\@empty#1\@empty + \else + \mhchem@ce@x#1\mhchem@END\mhchem@ENDEND% + \fi + \else% + \mhchem@ce@x#1\mhchem@END\mhchem@ENDEND% + \space\mhchem@ce@viii#2\mhchem@ENDEND% + \fi +} +\def\mhchem@ce@x#1#2\mhchem@ENDEND{% + \ifx\@empty#1\@empty% + \mhchem@ce@xi{}\mhchem@END\mhchem@ENDEND% + \else%\ifx\mhchem@END#1\else + \mhchem@ce@xi#1\mhchem@END\mhchem@ENDEND% + \fi%\fi% + \ifx\mhchem@END#2% + \else% + \mhchem@ce@x#2\mhchem@ENDEND% + \fi% +} +\def\mhchem@ce@xi#1#2\mhchem@ENDEND{% + \ifx\mhchem@END#2% + \ifx\@empty#1\@empty% + {}% + \else\if\noexpand#1##% + \mhchem@protect\tbond% + \else% + \mhchem@protect#1% + \fi\fi% + \else% + {\mhchem@ce@xii#1#2}% + \fi% +} +\def\mhchem@ce@xii#1\mhchem@END{\mhchem@ce@viii#1 \mhchem@END\mhchem@ENDEND}% +\DeclareRobustCommand\mhchem@ce@xiii[1]{% + \bgroup% + \ifnum 4>\mhchem@option@version% + \def\hyphen{\mhchem@hyphen}% + \fi% + \def\mhchem@protect{\noexpand}% + \edef\mhchem@tmp{#1}% + % + \expandafter\ce@main\expandafter{\mhchem@tmp}% + \egroup +} + + +%%% + +\DeclareRobustCommand*{\ce@main}[1]{% + \bgroup% + \ifnum 1<\mhchem@option@version% + \ifmmode\else\def\mhchem@option@alwaystextmode{1}\fi% + \fi% + \def\bond{}\def\sbond{}\def\dbond{}\def\tbond{}% + \ifx\@empty#1\@empty\else% + \ifmmode\else\mhchem@option@textFont\fi% + \ensuremath{% + \mhchem@ce@xx#1 \mhchem@END\mhchem@ENDEND% + }% + \fi% + \egroup% +}% + +\def\mhchem@ce@xx#1 #2\mhchem@ENDEND{% + \mhchem@ce@i#1\mhchem@empty\mhchem@ENDEND% + \ifx\mhchem@END#2% + \else% + \mhchem@ce@xx#2 \mhchem@ENDEND% + \fi% +} +\def\mhchem@ce@i#1#2\mhchem@ENDEND{% + \ifcat a#1 {\mhchem@ce@ii{#1#2}}% + \else\ifx 1#1{\mhchem@ce@ii{#1#2}}% + \else\ifx 2#1{\mhchem@ce@ii{#1#2}}% + \else\ifx 3#1{\mhchem@ce@ii{#1#2}}% + \else\ifx 4#1{\mhchem@ce@ii{#1#2}}% + \else\ifx 5#1{\mhchem@ce@ii{#1#2}}% + \else\ifx 6#1{\mhchem@ce@ii{#1#2}}% + \else\ifx 7#1{\mhchem@ce@ii{#1#2}}% + \else\ifx 8#1{\mhchem@ce@ii{#1#2}}% + \else\ifx 9#1{\mhchem@ce@ii{#1#2}}% + \else\ifx 0#1{\mhchem@ce@ii{#1#2}}% + \else\ifx (#1{\mhchem@ce@ii{#1#2}}% + \else\ifx [#1{\mhchem@ce@ii{#1#2}}% + \else\ifx \{#1{\mhchem@ce@ii{#1#2}}% + \else\ifx ^#1{\mhchem@ce@ii{#1#2}}% + \else\if ^#1{\mhchem@ce@ii{#1#2}}% + \else\ifx _#1{\mhchem@ce@ii{#1#2}}% + \else\ifx $#1{\mhchem@ce@ii{#1#2}}% + \else\ifx -#1{\ifx\@empty#2\@empty#1\else\mhchem@ce@dash#2\mhchem@END\fi}% + \else\if\noexpand#1<{\ifx\@empty#2\@empty#1\else\mhchem@ce@lt#2\mhchem@END\fi}% + \else\ifx +#1+ \mhchem@ce@ii{#2}% + \else\ifx \protect#1{\mhchem@ce@ii{#1#2}}% + % + \else\ifx\ce#1 \mhchem@ce@i #2 \mhchem@END% + \else\ifx\cf#1 \mhchem@cf{#2}% + \else\ifx\cmath#1 \mhchem@ce@cmath#2\mhchem@END% + \else\ifx\bond#1{\mhchem@ce@ii{#1#2}}% + \else\ifx\sbond#1{\mhchem@ce@ii{#1#2}}% + \else\ifx\dbond#1{\mhchem@ce@ii{#1#2}}% + \else\ifx\tond#1{\mhchem@ce@ii{#1#2}}% + \else\ifx\label#1 \mhchem@ce@label#2\mhchem@END% + \else\ifx\tag#1 \mhchem@ce@tag#2\mhchem@END% + % + \else #1#2% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% +} + +% +\def\mhchem@ce@dash#1#2\mhchem@END{% + \if\noexpand#1>% + {}\ifx\@empty#2\@empty\mhchem@gives#2% + \else\mhchem@ce@deploycommand{mhchem@gives}#2{}\mhchem@END\fi{}% + \else% + -#1#2% + \fi% +}% +\def\mhchem@ce@lt#1#2\mhchem@END{% + \ifx =#1\mhchem@ce@equal#2\mhchem@END% + \else\if\noexpand#1<\mhchem@ce@equiL#2\mhchem@END% + \else\ifx-#1% + \ifx\@empty#2\@empty% + {}\mhchem@givesleft#2{}% + \else% + \mhchem@ce@dashtwo#2\mhchem@END% + \fi% + \else% + <#1#2% + \fi\fi\fi% +} +\def\mhchem@ce@equal#1#2\mhchem@END{% + \if\noexpand#1>% (<=)>... + \ifx\@empty#2\@empty{}\mhchem@equilibrium#2{}% + \else% + \mhchem@ce@equi#2\mhchem@END% + \fi% + \else% + <=#1#2% + \fi% +} +\def\mhchem@ce@equi#1#2\mhchem@END{% + \if\noexpand#1>% + {}\ifx\@empty#2\@empty\mhchem@equilibriumRight#2% + \else\mhchem@ce@deploycommand{mhchem@equilibriumRight}#2{}\mhchem@END\fi{}% + \else% + {}\mhchem@ce@deploycommand{mhchem@equilibrium}#1#2{}\mhchem@END{}% + \fi% +} +\def\mhchem@ce@equiL#1#2\mhchem@END{% + \ifx =#1\mhchem@ce@equiLi#2\mhchem@END% + \else<=#1#2% + \fi% +} +\def\mhchem@ce@equiLi#1#2\mhchem@END{% + \if\noexpand#1>% (<<=)> + {}\ifx\@empty#2\@empty\mhchem@equilibriumLeft#2% + \else\mhchem@ce@deploycommand{mhchem@equilibriumLeft}#2{}\mhchem@END\fi{}% + \else% + <<=#1#2% + \fi% +} +\def\mhchem@ce@dashtwo#1#2\mhchem@END{% + \if\noexpand#1>% + {}\ifx\@empty#2\@empty\mhchem@mesomeric#2% + \else\mhchem@ce@deploycommand{mhchem@mesomeric}#2{}\mhchem@END\fi{}% + \else% + {}\mhchem@ce@deploycommand{mhchem@givesleft}#1#2{}\mhchem@END{}% + \fi% +} +\def\mhchem@ce@deploycommand#1#2#3\mhchem@END{% + \ifx T#2\csname#1T\endcsname#3% + \else\ifx C#2\csname#1C\endcsname#3% + \else\csname#1\endcsname#2#3\fi\fi% +} + +\def\mhchem@ce@ii#1{% + \mhchem@ce@iii#1% +} +\newtoks\tok@mhchem@ce@iii% +\def\mhchem@ce@iii@tmp@i{}% +\def\mhchem@ce@iii@tmp@ii{}% +\def\mhchem@ce@iii#1\mhchem@empty{% + \tok@mhchem@ce@iii{#1}% + \edef\mhchem@ce@iii@tmp@i{\the\tok@mhchem@ce@iii}% + % + \def\mhchem@ce@iii@tmp@ii{(^)}% + \ifx\mhchem@ce@iii@tmp@i\mhchem@ce@iii@tmp@ii% + {}\mathop{\uparrow}{}% + \else\def\mhchem@ce@iii@tmp@ii{^}% + \ifx\mhchem@ce@iii@tmp@i\mhchem@ce@iii@tmp@ii% + {}\mathop{\uparrow}{}% + \else\def\mhchem@ce@iii@tmp@ii{(v)}% + \ifx\mhchem@ce@iii@tmp@i\mhchem@ce@iii@tmp@ii% + {}\mathop{\downarrow}{}% + \else\def\mhchem@ce@iii@tmp@ii{v}% + \ifx\mhchem@ce@iii@tmp@i\mhchem@ce@iii@tmp@ii% + {}\mathop{\downarrow}{}% + \else% + \mhchem@cf{#1}% + \fi\fi\fi\fi% +}% + +\def\mhchem@ce@cmath#1#2\mhchem@END{\mhchem@cmath{#1}\mhchem@cf{#2}} +\def\mhchem@ce@label#1#2\mhchem@END{\label{#1}\mhchem@cf{#2}} +\def\mhchem@ce@tag#1#2\mhchem@END{\tag{#1}\mhchem@cf{#2}} + +%%%%%%%%%%%%% +%%% arrows + +\newlength{\mhchem@arrowminlength} +\setlength{\mhchem@arrowminlength}{1em} +%TODO: adapt min length to each of the math modes + +%%% for font arrows +%%%%% idea taken from http://www.texnik.de/misc/harpoon.phtml +\def\mhchem@rightharpoonupfill@{\arrowfill@\relbar\relbar\rightharpoonup} +\def\mhchem@leftharpoondownfill@{\arrowfill@\leftharpoondown\relbar\relbar} +\newcommand*\mhchem@xrightleftharpoons[2][]{% + \mathrel{% + \rlap{\protect\raisebox{.22ex}{$\ext@arrow 3399\mhchem@rightharpoonupfill@{}{\mhchem@mathbox[#1]{#2}}$}}% + \raisebox{-.22ex}{$\ext@arrow 3399\mhchem@leftharpoondownfill@{#1}{\hphantom{#2}}$}}}% +\newsavebox\mhchem@arrows@box% +\newcommand*\mhchem@xlongrightshortleftharpoons[2][]{\mathrel{% + \sbox{\mhchem@arrows@box}% + {$\mkern9mu\ext@arrow 3399\mhchem@leftharpoondownfill@% + {#1}{\hphantom{#2}\mkern-6mu\mkern-12mu}$}% + \rlap{\protect\raisebox{-.22ex}{\usebox{\mhchem@arrows@box}}}% + \protect\raisebox{.22ex}{$\ext@arrow 3399\mhchem@rightharpoonupfill@% + {\hphantom{\usebox{\mhchem@arrows@box}}\mkern-6mu}{#2}$}% + }} +\newcommand*\mhchem@xshortrightlongleftharpoons[2][]{\mathrel{% + \sbox{\mhchem@arrows@box}% + {$\mkern9mu\ext@arrow 3399\mhchem@rightharpoonupfill@% + {\hphantom{#1}\mkern-6mu\mkern-12mu}{#2}$}% + \rlap{\protect\raisebox{.22ex}{\usebox{\mhchem@arrows@box}}}% + \protect\raisebox{-.22ex}{$\ext@arrow 3399\mhchem@leftharpoondownfill@% + {#1}{\hphantom{\usebox{\mhchem@arrows@box}}\mkern-6mu}$}% + }} +%\newcommand*\mhchem@xleftrightarrow[2][]{\ext@arrow 3095\leftrightarrowfill@{#1}{#2}} + + +%%% for pgf arrows +\newcommand*\mhchem@rightarrow@pgf[1]{% + \begin{tikzpicture}[baseline]% + \draw[use as bounding box] (0,0) (#1,0.85ex); + \draw[cap=round, join=round, line width=0.09ex] + (0cm,0.575ex) -- ++(#1,0cm) + arc (250:198:0.6ex) arc (198:250:0.6ex) + arc (110:162:0.6ex); + \end{tikzpicture}% +}% +\newcommand*\mhchem@leftarrow@pgf[1]{% + \begin{tikzpicture}[baseline]% + \draw[use as bounding box] (0,0) (#1,0.85ex); + \draw[cap=round, join=round, line width=0.09ex] + (#1,0.575ex) -- (0cm,0.575ex) + arc (70:18:0.6ex) arc (18:70:0.6ex) + arc (-70:-18:0.6ex); + \end{tikzpicture}% +}% +\newcommand*\mhchem@leftrightarrow@pgf[1]{% + \begin{tikzpicture}[baseline]% + \draw[use as bounding box] (0,0) (#1,0.85ex); + \draw[cap=round, join=round, line width=0.09ex] + (0cm,0.575ex) + arc (70:18:0.6ex) arc (18:70:0.6ex) + arc (-70:-18:0.6ex) arc (-18:-70:0.6ex) + -- ++(#1,0cm) + arc (250:198:0.6ex) arc (198:250:0.6ex) + arc (110:162:0.6ex); + \end{tikzpicture}% +}% +\newcommand*\mhchem@leftrightharpoon@pgf[1]{% + \begin{tikzpicture}[baseline]% + \draw[use as bounding box] (0,0) (#1,1ex); + \draw[cap=round, join=round, line width=0.09ex] + (0cm,0.575ex+0.22ex) -- ++(#1,0cm) arc (250:198:0.9ex); + \draw[cap=round, join=round, line width=0.09ex] + (#1,0.575ex-0.22ex) -- ++(-#1,0cm) arc (70:18:0.9ex); + \end{tikzpicture}% +}% +\newcommand*\mhchem@longrightshortleftharpoons@pgf[1]{% + \begin{tikzpicture}[baseline]% + \draw[use as bounding box] (0,0) (#1,1ex); + \draw[cap=round, join=round, line width=0.09ex] + (0.0cm,0.575ex+0.22ex) -- ++(#1,0cm) arc (250:198:0.9ex); + \draw[cap=round, join=round, line width=0.09ex] + (#1+0.5em-1em,0.575ex-0.22ex) -- (0.5em,0.575ex-0.22ex) arc (70:18:0.9ex); + \end{tikzpicture}% +}% +\newcommand*\mhchem@shortrightlongleftharpoons@pgf[1]{% + \begin{tikzpicture}[baseline]% + \draw[use as bounding box] (0,0) (#1,1ex); + \draw[cap=round, join=round, line width=0.09ex] + (0.5em,0.575ex+0.22ex) -- ++(#1-1em,0cm) arc (250:198:0.9ex); + \draw[cap=round, join=round, line width=0.09ex] + (#1,0.575ex-0.22ex) -- ++(-#1,0cm) arc (70:18:0.9ex); + \end{tikzpicture}% +}% + +%%% for pgf-filled arrows +\newcommand*\mhchem@rightarrow@pgffilled[1]{% + \begin{tikzpicture}[baseline]% + \draw[use as bounding box] (0,0) (#1,0.85ex); + \draw[cap=round, join=round, line width=0.09ex, shorten >=0.01ex] + (0cm,0.575ex) -- ++(#1,0cm); + \filldraw[cap=round, join=round, line width=0.09ex] + (#1,0.575ex) + -- ++(-0.6ex,0.2ex) -- ++(0.15ex,-0.2ex) + -- ++(-0.15ex,-0.2ex) + -- cycle; + \end{tikzpicture}% +}% +\newcommand*\mhchem@leftarrow@pgffilled[1]{% + \begin{tikzpicture}[baseline]% + \draw[use as bounding box] (0,0) (#1,0.85ex); + \draw[cap=round, join=round, line width=0.09ex, shorten >=0.01ex] + (0cm,0.575ex) -- ++(#1,0cm); + \filldraw[cap=round, join=round, line width=0.09ex] + (0cm,0.575ex) + -- ++(0.6ex,0.2ex) -- ++(-0.15ex,-0.2ex) + -- ++(+0.15ex,-0.2ex) + -- cycle; + \end{tikzpicture}% +}% +\newcommand*\mhchem@leftrightarrow@pgffilled[1]{% + \begin{tikzpicture}[baseline]% + \draw[use as bounding box] (0,0) (#1,0.85ex); + \draw[cap=round, join=round, line width=0.09ex, shorten >=0.01ex] + (0cm,0.575ex) -- ++(#1,0cm); + \filldraw[cap=round, join=round, line width=0.09ex] + (#1,0.575ex) + -- ++(-0.6ex,0.2ex) -- ++(0.15ex,-0.2ex) + -- ++(-0.15ex,-0.2ex) + -- cycle; + \filldraw[cap=round, join=round, line width=0.09ex] + (0cm,0.575ex) + -- ++(0.6ex,0.2ex) -- ++(-0.15ex,-0.2ex) + -- ++(+0.15ex,-0.2ex) + -- cycle; + \end{tikzpicture}% +}% +\newcommand*\mhchem@leftrightharpoon@pgffilled[1]{% + \begin{tikzpicture}[baseline]% + \draw[use as bounding box] (0,0) (#1,1ex); + \draw[cap=round, join=round, line width=0.09ex, shorten >=0.01ex] + (0cm,0.575ex+0.22ex) -- ++(#1,0cm); + \filldraw[cap=round, join=round, line width=0.09ex] + (#1,0.575ex+0.22ex) + -- ++(-0.6ex,0.25ex) -- ++(0.15ex,-0.25ex) + -- cycle; + \draw[cap=round, join=round, line width=0.09ex, shorten >=0.01ex] + (0cm,0.575ex-0.22ex) -- ++(#1,0cm); + \filldraw[cap=round, join=round, line width=0.09ex] + (0cm,0.575ex-0.22ex) + -- ++(0.6ex,-0.25ex) -- ++(-0.15ex,0.25ex) + -- cycle; + \end{tikzpicture}% +}% +\newcommand*\mhchem@longrightshortleftharpoons@pgffilled[1]{% + \begin{tikzpicture}[baseline]% + \draw[use as bounding box] (0,0) (#1,1ex); + \draw[cap=round, join=round, line width=0.09ex, shorten >=0.01ex] + (0cm,0.575ex+0.22ex) -- ++(#1,0cm); + \filldraw[cap=round, join=round, line width=0.09ex] + (#1,0.575ex+0.22ex) + -- ++(-0.6ex,0.25ex) -- ++(0.15ex,-0.25ex) + -- cycle; + \draw[cap=round, join=round, line width=0.09ex, shorten >=0.01ex] + (0.5em,0.575ex-0.22ex) -- ++(#1-1em,0cm); + \filldraw[cap=round, join=round, line width=0.09ex] + (0.5em,0.575ex-0.22ex) + -- ++(0.6ex,-0.25ex) -- ++(-0.15ex,0.25ex) + -- cycle; + \end{tikzpicture}% +}% +\newcommand*\mhchem@shortrightlongleftharpoons@pgffilled[1]{% + \begin{tikzpicture}[baseline]% + \draw[use as bounding box] (0,0) (#1,1ex); + \draw[cap=round, join=round, line width=0.09ex, shorten >=0.01ex] + (0.5em,0.575ex+0.22ex) -- ++(#1-1em,0cm); + \filldraw[cap=round, join=round, line width=0.09ex] + (#1-0.5em,0.575ex+0.22ex) + -- ++(-0.6ex,0.25ex) -- ++(0.15ex,-0.25ex) + -- cycle; + \draw[cap=round, join=round, line width=0.09ex, shorten >=0.01ex] + (0cm,0.575ex-0.22ex) -- ++(#1,0cm); + \filldraw[cap=round, join=round, line width=0.09ex] + (0cm,0.575ex-0.22ex) + -- ++(0.6ex,-0.25ex) -- ++(-0.15ex,0.25ex) + -- cycle; + \end{tikzpicture}% +}% + +\newlength{\mhchem@arrowlength@pgf} +\newlength{\mhchem@arrowminlength@pgf} +%TODO: use \mhchem@arrowminlength +\def\mhchem@labeledarrow@pgf#1#2#3#4#5#6#7{% 1-4 muskips 5 arrow 6 text above 7 below + \setlength\mhchem@arrowlength@pgf{\widthof{\ensuremath{% + \mkern#3mu% + \mathop{}% + \limits% + \@ifnotempty{#7}{^{\if0#1\else\mkern#1mu\fi% + #7\if0#2\else\mkern#2mu\fi}}% + \@ifnotempty{#6}{_{\if0#1\else\mkern#1mu\fi% + #6\if0#2\else\mkern#2mu\fi}}% + \mkern#4mu% + }}}% + % + \setlength\mhchem@arrowminlength@pgf{10pt+0.5em}% + \ifthenelse{\equal{mhchem@longrightshortleftharpoons@pgf}{#5}}{ + \setlength\mhchem@arrowminlength@pgf{1.85em}% + \setlength\mhchem@arrowlength@pgf{\widthof{\ensuremath{% + \mkern#3mu% + \mathop{}% + \limits% + \@ifnotempty{#7}{^{\if0#1\else\mkern#1mu\fi% + #7\if0#2\else\mkern#2mu\fi}}% + \@ifnotempty{#6}{_{\if0#1\else\mkern#1mu\fi% + \hspace{1em}% %% + #6\if0#2\else\mkern#2mu\fi}}% + \mkern#4mu% + }}}% + }{}% + \ifthenelse{\equal{mhchem@shortrightlongleftharpoons@pgf}{#5}}{ + \setlength\mhchem@arrowminlength@pgf{1.85em}% + \setlength\mhchem@arrowlength@pgf{\widthof{\ensuremath{% + \mkern#3mu% + \mathop{}% + \limits% + \@ifnotempty{#7}{^{\if0#1\else\mkern#1mu\fi% + \hspace{1em}% %% + #7\if0#2\else\mkern#2mu\fi}}% + \@ifnotempty{#6}{_{\if0#1\else\mkern#1mu\fi% + #6\if0#2\else\mkern#2mu\fi}}% + \mkern#4mu% + }}}% + }{}% + \ifthenelse{\equal{mhchem@longrightshortleftharpoons@pgffilled}{#5}}{ + \setlength\mhchem@arrowminlength@pgf{1.85em}% + \setlength\mhchem@arrowlength@pgf{\widthof{\ensuremath{% + \mkern#3mu% + \mathop{}% + \limits% + \@ifnotempty{#7}{^{\if0#1\else\mkern#1mu\fi% + #7\if0#2\else\mkern#2mu\fi}}% + \@ifnotempty{#6}{_{\if0#1\else\mkern#1mu\fi% + \hspace{1em}% %% + #6\if0#2\else\mkern#2mu\fi}}% + \mkern#4mu% + }}}% + }{}% + \ifthenelse{\equal{mhchem@shortrightlongleftharpoons@pgffilled}{#5}}{ + \setlength\mhchem@arrowminlength@pgf{1.85em}% + \setlength\mhchem@arrowlength@pgf{\widthof{\ensuremath{% + \mkern#3mu% + \mathop{}% + \limits% + \@ifnotempty{#7}{^{\if0#1\else\mkern#1mu\fi% + \hspace{1em}% %% + #7\if0#2\else\mkern#2mu\fi}}% + \@ifnotempty{#6}{_{\if0#1\else\mkern#1mu\fi% + #6\if0#2\else\mkern#2mu\fi}}% + \mkern#4mu% + }}}% + }{}% + % + \ifdim\mhchem@arrowlength@pgf<\mhchem@arrowminlength@pgf% + \setlength\mhchem@arrowlength@pgf{\mhchem@arrowminlength@pgf}% + \fi% + \mathrel{\mkern#3mu\mathop{\csname#5\endcsname{\mhchem@arrowlength@pgf}% + }% + \limits + \@ifnotempty{#7}{^{\if0#1\else\mkern#1mu\fi% + #7\if0#2\else\mkern#2mu\fi}}% + \@ifnotempty{#6}{_{\if0#1\else\mkern#1mu\fi% + #6\if0#2\else\mkern#2mu\fi}}% + \mkern#4mu% + }%} +}% + +\newcommandtwoopt*\mhchem@gives[2][][]{} +\newcommandtwoopt*\mhchem@givesleft[2][][]{} +\newcommandtwoopt*\mhchem@mesomeric[2][][]{} +\newcommandtwoopt*\mhchem@equilibrium[2][][]{} +\newcommandtwoopt*\mhchem@equilibriumRight[2][][]{} +\newcommandtwoopt*\mhchem@equilibriumLeft[2][][]{} + +\newcommand\mhchem@definearrows[1]{% + %%% font + \ifthenelse{\equal{#1}{font}}{% + \renewcommandtwoopt*\mhchem@gives[2][\hspace{\mhchem@arrowminlength}][]{\ensuremath{% + \xrightarrow% + [{##2}]% + {##1}}}% + \renewcommandtwoopt*\mhchem@givesleft[2][\hspace{\mhchem@arrowminlength}][]{\ensuremath{% + \xleftarrow% + [{##2}]% + {##1}}}% + \renewcommandtwoopt*\mhchem@mesomeric[2][\hspace{\mhchem@arrowminlength}][]{\ensuremath{% + \ext@arrow 3399\leftrightarrowfill@% + {##2}% + {##1}}}% + \renewcommandtwoopt*{\mhchem@equilibrium}[2][\hspace{\mhchem@arrowminlength}][]{\ensuremath{% + \mhchem@xrightleftharpoons% + [{##2}]% + {##1}}}% + \renewcommandtwoopt*{\mhchem@equilibriumRight}[2][\hphantom{\makebox[\mhchem@arrowminlength]{}}][]{\ensuremath{% + \mhchem@xlongrightshortleftharpoons% + [{##2}]% + {##1}}}% + \renewcommandtwoopt*{\mhchem@equilibriumLeft}[2][][\hspace{\mhchem@arrowminlength}]{\ensuremath{% + \mhchem@xshortrightlongleftharpoons% + [{##2}]% + {##1}}}% + }{%%% pgf + \ifthenelse{\equal{#1}{pgf}}{% + \renewcommandtwoopt*\mhchem@gives[2][][]% + {\ensuremath{\mhchem@labeledarrow@pgf{1.5}{5}{1.5}{1}{mhchem@rightarrow@pgf}{##2}{##1}}}% + \renewcommandtwoopt*\mhchem@givesleft[2][][]% + {\ensuremath{\mhchem@labeledarrow@pgf{5}{1.5}{1}{1.5}{mhchem@leftarrow@pgf}{##2}{##1}}}% + \renewcommandtwoopt*\mhchem@mesomeric[2][][]% + {\ensuremath{\mhchem@labeledarrow@pgf{5}{5}{1}{1}{mhchem@leftrightarrow@pgf}{##2}{##1}}}% + \renewcommandtwoopt*\mhchem@equilibrium[2][][]% + {\ensuremath{\mhchem@labeledarrow@pgf{6}{6}{1}{1}{mhchem@leftrightharpoon@pgf}{##2}{##1}}}% + \renewcommandtwoopt*\mhchem@equilibriumRight[2][][]% + {\ensuremath{\mhchem@labeledarrow@pgf{6}{6}{1}{1}{mhchem@longrightshortleftharpoons@pgf}{##2}{##1}}}% + \renewcommandtwoopt*\mhchem@equilibriumLeft[2][][]% + {\ensuremath{\mhchem@labeledarrow@pgf{6}{6}{1}{1}{mhchem@shortrightlongleftharpoons@pgf}{##2}{##1}}}% + }{%%% pgf-filled + \ifthenelse{\equal{#1}{pgf-filled}}{% + \renewcommandtwoopt*\mhchem@gives[2][][]% + {\ensuremath{\mhchem@labeledarrow@pgf{1.5}{7}{1.5}{1}{mhchem@rightarrow@pgffilled}{##2}{##1}}}% + \renewcommandtwoopt*\mhchem@givesleft[2][][]% + {\ensuremath{\mhchem@labeledarrow@pgf{7}{1.5}{1}{1.5}{mhchem@leftarrow@pgffilled}{##2}{##1}}}% + \renewcommandtwoopt*\mhchem@mesomeric[2][][]% + {\ensuremath{\mhchem@labeledarrow@pgf{7}{7}{1}{1}{mhchem@leftrightarrow@pgffilled}{##2}{##1}}}% + \renewcommandtwoopt*\mhchem@equilibrium[2][][]% + {\ensuremath{\mhchem@labeledarrow@pgf{7}{7}{1}{1}{mhchem@leftrightharpoon@pgffilled}{##2}{##1}}}% + \renewcommandtwoopt*\mhchem@equilibriumRight[2][][]% + {\ensuremath{\mhchem@labeledarrow@pgf{7}{7}{1}{1}{mhchem@longrightshortleftharpoons@pgffilled}{##2}{##1}}}% + \renewcommandtwoopt*\mhchem@equilibriumLeft[2][][]% + {\ensuremath{\mhchem@labeledarrow@pgf{7}{7}{1}{1}{mhchem@shortrightlongleftharpoons@pgffilled}{##2}{##1}}}% + }{% + \PackageError{mhchem}{The option font=#1 is not supported}% + }% + }}% +} + +\newcommandtwoopt*\mhchem@givesT[2][\hspace{\mhchem@arrowminlength}][]% + {\mhchem@gives[\text{#1}][\text{#2}]}% +\newcommandtwoopt*\mhchem@givesC[2][\hspace{\mhchem@arrowminlength}][]% + {\mhchem@gives[\ce@main{#1}][\ce@main{#2}]}% +\newcommandtwoopt*\mhchem@givesleftT[2][\hspace{\mhchem@arrowminlength}][]% + {\mhchem@givesleft[\text{#1}][\text{#2}]}% +\newcommandtwoopt*\mhchem@givesleftC[2][\hspace{\mhchem@arrowminlength}][]% + {\mhchem@givesleft[\ce@main{#1}][\ce@main{#2}]}% +\newcommandtwoopt*\mhchem@mesomericT[2][\hspace{\mhchem@arrowminlength}][]% + {\mhchem@mesomeric[\text{#1}][\text{#2}]}% +\newcommandtwoopt*\mhchem@mesomericC[2][\hspace{\mhchem@arrowminlength}][]% + {\mhchem@mesomeric[\ce@main{#1}][\ce@main{#2}]}% +\newcommandtwoopt*{\mhchem@equilibriumT}[2][\hspace{\mhchem@arrowminlength}][]% + {\mhchem@equilibrium[\text{#1}][\text{#2}]} +\newcommandtwoopt*{\mhchem@equilibriumC}[2][\hspace{\mhchem@arrowminlength}][]% + {\mhchem@equilibrium[\ce@main{#1}][\ce@main{#2}]} +\newcommandtwoopt*{\mhchem@equilibriumRightT}[2][\hspace{\mhchem@arrowminlength}][]% + {\mhchem@equilibriumRight[\text{#1}][\text{#2}]} +\newcommandtwoopt*{\mhchem@equilibriumRightC}[2][\hspace{\mhchem@arrowminlength}][]% + {\mhchem@equilibriumRight[\ce@main{#1}][\ce@main{#2}]} +\newcommandtwoopt*{\mhchem@equilibriumLeftT}[2][][\hspace{\mhchem@arrowminlength}]% + {\mhchem@equilibriumLeft[\text{#1}][\text{#2}]} +\newcommandtwoopt*{\mhchem@equilibriumLeftC}[2][][\hspace{\mhchem@arrowminlength}]% + {\mhchem@equilibriumLeft[\ce@main{#1}][\ce@main{#2}]} + + +%%%%%%%%%%%%% +%%% bonds %%% +% +\newlength\mhchem@bondwidth% +\newlength\mhchem@bondheight% +\newlength\mhchem@smallbondwidth@tmpA% +\newlength\mhchem@smallbondwidth@tmpB% +\newlength\mhchem@smallbondwidth% + +\def\mhchem@setbondwidth{% + \setlength\mhchem@bondwidth{\widthof{\sbond}}% + \setlength\mhchem@bondheight{\heightof{\sbond}}% + \setlength\mhchem@smallbondwidth@tmpA{% + \mhchem@bondwidth-\mhchem@option@minussidebearingleft-\mhchem@option@minussidebearingright}% + \setlength\mhchem@smallbondwidth@tmpB{% + \widthof{\sbond\sbond\sbond}-\mhchem@option@minussidebearingleft-% + \mhchem@option@minussidebearingright}% + \setlength\mhchem@smallbondwidth{\mhchem@bondwidth*% + \ratio{\mhchem@smallbondwidth@tmpA}{\mhchem@smallbondwidth@tmpB}}% +} +\def\mhchem@halfbond{\rlap{\hspace{\mhchem@option@minussidebearingleft}% + \resizebox{\mhchem@smallbondwidth}{\mhchem@bondheight}{\sbond}\unskip% + \resizebox{\mhchem@smallbondwidth}{\mhchem@bondheight}{\sbond}% + \resizebox{\mhchem@smallbondwidth}{\mhchem@bondheight}{\sbond}}% + \phantom{\sbond}} +\def\mhchem@bond#1{% + % + \if ##\noexpand#1% + \tbond% + \else\ifx \tbond#1% + \tbond% + \else% + \ifthenelse{\equal{#1}{-}}{\sbond}{% + \ifthenelse{\equal{#1}{=}}{\dbond}{% + \ifthenelse{\equal{#1}{~}}{% + \mhchem@setbondwidth% + \mhchem@halfbond}{% + \ifthenelse{\equal{#1}{~-}}{% + \mhchem@setbondwidth% + \rlap{\protect\raisebox{.2ex}{\mhchem@halfbond}}% + \protect\raisebox{-.2ex}{\sbond}}{% + \ifthenelse{\equal{#1}{~--}}{% + \mhchem@setbondwidth% + \rlap{\protect\raisebox{.4ex}{\mhchem@halfbond}}% + \rlap{\sbond}% + \protect\raisebox{-.4ex}{\sbond}}{% + \ifthenelse{\equal{#1}{~=}}{% + \mhchem@setbondwidth% + \rlap{\protect\raisebox{.4ex}{\mhchem@halfbond}}% + \rlap{\sbond}% + \protect\raisebox{-.4ex}{\sbond}}{% + \ifthenelse{\equal{#1}{-~-}}{% + \mhchem@setbondwidth% + \rlap{\protect\raisebox{.4ex}{\sbond}}% + \rlap{\mhchem@halfbond}% + \protect\raisebox{-.4ex}{\sbond}}{% + \ifthenelse{\equal{#1}{...}}{{\cdot}{\cdot}{\cdot}}{% + \ifthenelse{\equal{#1}{....}}{{\cdot}{\cdot}{\cdot}{\cdot}}{% + \ifthenelse{\equal{#1}{->}}{{\rightarrow}}{% + \ifthenelse{\equal{#1}{<-}}{{\leftarrow}}{% + % + \PackageError{mhchem}{unknown bond type in \string\bond (#1)}% + }}}}}}}}}}}% + \fi\fi% +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%% \cf %%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newtoks\mhchem@cf@result% +\newcommand*\mhchem@cf[2][]{% + \bgroup% + %%% + \def\sbond{{\ensuremath{-}}}% + \ifnum 2=\mhchem@option@version% + \let\bond\sbond% + \else\ifnum 2<\mhchem@option@version% + \DeclareRobustCommand*\bond{\mhchem@bond}% + \fi\fi% + \DeclareRobustCommand\dbond{\rlap{\protect\raisebox{.2ex}{\sbond}}\protect\raisebox{-.2ex}{\sbond}}% + \DeclareRobustCommand\tbond{\rlap{\protect\raisebox{.4ex}{\sbond}}% + \rlap{\sbond}\protect\raisebox{-.4ex}{\sbond}}% + \def\hyphen{\mhchem@hyphen}% + %%% + \ifmmode\else\def\mhchem@option@alwaystextmode{1}\fi% + \if 1\mhchem@option@alwaystextmode% + \edef\mhchem@mathOrText##1{\noexpand\text{##1}}% + \edef\mhchem@mathOrText@ii##1##2{##2}% + \else% + \ifnum 1<\mhchem@option@version% + \edef\mhchem@mathOrText##1{\ifmmode\noexpand\mhchem@option@mathFont{##1}\else\noexpand\text{##1}\fi}% + \edef\mhchem@mathOrText@ii##1##2{\ifmmode\noexpand\mhchem@option@mathFont{##1}\else ##2\fi}% + \else% + \edef\mhchem@mathOrText##1{\ifmmode ##1\else\noexpand\text{##1}\fi}% + \edef\mhchem@mathOrText@ii##1##2{\ifmmode ##1\else ##2\fi}% + \fi% + \fi% + \ifmmode\else\mhchem@option@textFont\fi% + %%% + \def\mhchem@cf@state{s}% + % + % + % + % + % + % + % + % + % + % + \def\mhchem@cf@startedWithBond{0}% + %%% + \mhchem@cf@outputReset% + \mhchem@cf@result={}% + %%% + \mhchem@cf@continue#2\mhchem@END% + %%% + % + % + \ifthenelse{\equal{#1}{}}% + {% + \ensuremath{\the\mhchem@cf@result}% + }{% + \ensuremath{\overset{#1}{\the\mhchem@cf@result}}% + }% + %TODO: insert kerning if full stop (or similar) follows superscript + %\@ifnextchar,{\kern-0.2em}{} ??% + \egroup% +}% +\def\mhchem@cf@i{% + % + % + %%% + \ifx\mhchem@END\mhchem@cf@lookahead% + \if -\mhchem@cf@state% + \ifnum 4>\mhchem@option@version% + \mhchem@cf@sup=\expandafter{\the\mhchem@cf@sup -}% + \else% + \if 0\mhchem@cf@startedWithBond% + \mhchem@cf@sup=\expandafter{\the\mhchem@cf@sup -}% + \else% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \mhchem@cf@result=\expandafter{\the\mhchem@cf@result\sbond}% + \fi% + \fi% + \fi% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \let\mhchem@cf@action\mhchem@gobble% + \else\ifx\relax\mhchem@cf@lookahead% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\ifx\protect\mhchem@cf@lookahead% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + %%% + \else% +% +% +% +% + \if -\mhchem@cf@state% + % + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \mhchem@cf@result=\expandafter{\the\mhchem@cf@result\sbond}% + \def\mhchem@cf@state{+}% + \fi% + \if s\mhchem@cf@state% + \ifx \{\mhchem@cf@lookahead% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifx \}\mhchem@cf@lookahead% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifx\bond\mhchem@cf@lookahead% + \ifnum 2=\mhchem@option@version% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else% + \def\mhchem@cf@state{C}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \fi% + \else\if =\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \mhchem@cf@result=\expandafter{\the\mhchem@cf@result\dbond}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if ##\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \mhchem@cf@result=\expandafter{\the\mhchem@cf@result\tbond}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\ifcat\noexpand\mhchem@macro\noexpand\mhchem@cf@lookahead% + \def\mhchem@cf@state{c}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else\if ^\mhchem@cf@lookahead% + \def\mhchem@cf@state{p}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if _\mhchem@cf@lookahead% + \def\mhchem@cf@state{q}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if `\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \def\mhchem@cf@state{P}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \fi% + \else\if ,\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \def\mhchem@cf@state{Q}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \def\mhchem@cf@state{1}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@amount}{{,}}}% + \fi% + \else\if .\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% + {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% + \else% + \def\mhchem@cf@state{1}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% + \fi% + \else\if +\mhchem@cf@lookahead% + \def\mhchem@cf@state{+}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@sup}}% + \else\if -\mhchem@cf@lookahead% + \ifnum 1<\mhchem@option@version% + \def\mhchem@cf@state{-}% + \def\mhchem@cf@startedWithBond{1}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \def\mhchem@cf@state{+}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@sup}{-}}% + \fi% + \else\if |\mhchem@cf@lookahead% + \let\mhchem@cf@action\mhchem@cf@switchState% + \else\if (\mhchem@cf@lookahead% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if )\mhchem@cf@lookahead% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if [\mhchem@cf@lookahead% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if ]\mhchem@cf@lookahead% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if *\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% + {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% + \else\ifcat a\mhchem@cf@lookahead% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifcat 1\mhchem@cf@lookahead% + \def\mhchem@cf@state{1}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% + \else\if\mhchem@lbracechar\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@result}}% + \else% + \def\mhchem@cf@state{1}% + \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@amount}}% + \fi% + \else\if $\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendMath{\mhchem@cf@element}}% + \else% + \def\mhchem@cf@state{1}% + \def\mhchem@cf@action{\mhchem@cf@appendMath{\mhchem@cf@amount}}% + \fi% + \else% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% + \else\if C\mhchem@cf@state% + \if\mhchem@lbracechar\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@result}}% + \else% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \fi% + \def\mhchem@cf@state{c}% + \else\if c\mhchem@cf@state% + \if\mhchem@lbracechar\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@result}}% + \else% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@continue}% + \fi% + \else\if 1\mhchem@cf@state% + \ifx \{\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifx \}\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifx\bond\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \ifnum 2=\mhchem@option@version% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else% + \def\mhchem@cf@state{C}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \fi% + \else\if =\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \mhchem@cf@result=\expandafter{\the\mhchem@cf@result\dbond}% + \def\mhchem@cf@state{+}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if ##\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \mhchem@cf@result=\expandafter{\the\mhchem@cf@result\tbond}% + \def\mhchem@cf@state{+}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\ifcat\noexpand\mhchem@macro\noexpand\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{c}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else\if ^\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{p}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if _\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{q}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if `\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{E}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% + \fi% + \else\if ,\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{F}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@amount}{{,}}}% + \fi% + \else\if .\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% + {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% + \else% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% + \fi% + \else\if |\mhchem@cf@lookahead% + \PackageWarning{mhchem}{The symbol | is not allowed here}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if (\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if )\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if [\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if ]\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if *\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% + {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% + \else\ifcat a\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifcat 1\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% + \else\if\mhchem@lbracechar\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@result}}% + \else% + \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@amount}}% + \fi% + \else\if $\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendMath{\mhchem@cf@amount}}% + \else% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% + \else\if a\mhchem@cf@state% + \ifx \{\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifx \}\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifx\bond\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \ifnum 2=\mhchem@option@version% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else% + \def\mhchem@cf@state{C}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \fi% + \else\if =\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \mhchem@cf@result=\expandafter{\the\mhchem@cf@result\dbond}% + \def\mhchem@cf@state{+}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if ##\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \mhchem@cf@result=\expandafter{\the\mhchem@cf@result\tbond}% + \def\mhchem@cf@state{+}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\ifcat\noexpand\mhchem@macro\noexpand\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{c}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else\if ^\mhchem@cf@lookahead% + \def\mhchem@cf@state{e}% + \expandafter\ifx\expandafter\@empty\the\mhchem@cf@sup\@empty\else% + \mhchem@cf@sup=\expandafter{\the\mhchem@cf@sup ,}% + \fi% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if _\mhchem@cf@lookahead% + \def\mhchem@cf@state{f}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if `\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \def\mhchem@cf@state{E}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \fi% + \else\if ,\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@element}{,}}% + \fi% + \else\if .\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% + {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% + \else% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \fi% + \else\if +\mhchem@cf@lookahead% + \def\mhchem@cf@state{+}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@sup}}% + \else\if -\mhchem@cf@lookahead% + \ifnum 1<\mhchem@option@version% + \def\mhchem@cf@state{-}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \def\mhchem@cf@state{+}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@sup}{-}}% + \fi% + \else\if |\mhchem@cf@lookahead% + \PackageWarning{mhchem}{The symbol | is not allowed here}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if (\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if )\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if [\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if ]\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if *\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% + {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% + \else\ifcat a\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifcat 1\mhchem@cf@lookahead% + \def\mhchem@cf@state{2}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% + \else\if\mhchem@lbracechar\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \def\mhchem@cf@action{\mhchem@cf@appendNextGroupAsMath{% + \mhchem@cf@element}}% + \else% + \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@element}}% + \fi% + \else\if $\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendMath{\mhchem@cf@element}}% + \else% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% + \else\if 2\mhchem@cf@state% + \ifx \{\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifx \}\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifx\bond\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \ifnum 2=\mhchem@option@version% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else% + \def\mhchem@cf@state{C}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \fi% + \else\if =\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \mhchem@cf@result=\expandafter{\the\mhchem@cf@result\dbond}% + \def\mhchem@cf@state{+}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if ##\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \mhchem@cf@result=\expandafter{\the\mhchem@cf@result\tbond}% + \def\mhchem@cf@state{+}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\ifcat\noexpand\mhchem@macro\noexpand\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{c}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else\if ^\mhchem@cf@lookahead% + \def\mhchem@cf@state{e}% + \expandafter\ifx\expandafter\@empty\the\mhchem@cf@sup\@empty\else% + \mhchem@cf@sup=\expandafter{\the\mhchem@cf@sup ,}% + \fi% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if _\mhchem@cf@lookahead% + \def\mhchem@cf@state{f}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if `\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \def\mhchem@cf@state{E}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% + \fi% + \else\if ,\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \def\mhchem@cf@state{F}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@amount}{,}}% + \fi% + \else\if .\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% + {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% + \else% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% + \fi% + \else\if +\mhchem@cf@lookahead% + \def\mhchem@cf@state{+}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@sup}}% + \else\if -\mhchem@cf@lookahead% + \ifnum 1<\mhchem@option@version% + \def\mhchem@cf@state{-}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \def\mhchem@cf@state{+}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@sup}{-}}% + \fi% + \else\if |\mhchem@cf@lookahead% + \PackageWarning{mhchem}{The symbol | is not allowed here}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if (\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if )\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if [\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if ]\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if *\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% + {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% + \else\ifcat a\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifcat 1\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% + \else\if\mhchem@lbracechar\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@result}}% + \else% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@element}}% + \fi% + \else\if $\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendMath{\mhchem@cf@element}}% + \else% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% + \else\if e\mhchem@cf@state% + \def\mhchem@cf@state{+}% + \if $\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendMathAsGroup{\mhchem@cf@sup}}% + \else% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@sup}}% + \fi% + \else\if f\mhchem@cf@state% + \def\mhchem@cf@state{+}% + \if $\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendMathAsGroup{\mhchem@cf@amount}}% + \else% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% + \fi% + \else\if p\mhchem@cf@state% + \def\mhchem@cf@state{*}% + \if $\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendMathAsGroup{\mhchem@cf@presup}}% + \else% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@presup}}% + \fi% + \else\if q\mhchem@cf@state% + \def\mhchem@cf@state{*}% + \if $\mhchem@cf@lookahead% + \def\mhchem@cf@action{\mhchem@cf@appendMathAsGroup{\mhchem@cf@presub}}% + \else% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@presub}}% + \fi% + \else\if E\mhchem@cf@state% + \def\mhchem@cf@state{+}% + \def\mhchem@cf@action{% + \mhchem@cf@appendNextTokenAsMathrm{\mhchem@cf@sup}}% + \else\if F\mhchem@cf@state% + \def\mhchem@cf@state{+}% + \def\mhchem@cf@action{% + \mhchem@cf@appendNextTokenAsMathrm{\mhchem@cf@amount}}% + \else\if P\mhchem@cf@state% + \def\mhchem@cf@state{*}% + \def\mhchem@cf@action{% + \mhchem@cf@appendNextTokenAsMathrm{\mhchem@cf@presup}}% + \else\if Q\mhchem@cf@state% + \def\mhchem@cf@state{*}% + \def\mhchem@cf@action{% + \mhchem@cf@appendNextTokenAsMathrm{\mhchem@cf@presub}}% + \else\if +\mhchem@cf@state% + \ifx \{\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifx \}\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifx\bond\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \ifnum 2=\mhchem@option@version% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else% + \def\mhchem@cf@state{C}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \fi% + \else\if =\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \mhchem@cf@result=\expandafter{\the\mhchem@cf@result\dbond}% + \def\mhchem@cf@state{+}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if ##\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \mhchem@cf@result=\expandafter{\the\mhchem@cf@result\tbond}% + \def\mhchem@cf@state{+}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\ifcat\noexpand\mhchem@macro\noexpand\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{c}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else\if ^\mhchem@cf@lookahead% + \def\mhchem@cf@state{e}% + \expandafter\ifx\expandafter\@empty\the\mhchem@cf@sup\@empty\else% + \mhchem@cf@sup=\expandafter{\the\mhchem@cf@sup ,}% + \fi% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if _\mhchem@cf@lookahead% + \def\mhchem@cf@state{f}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if `\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \def\mhchem@cf@state{E}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \fi% + \else\if ,\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \def\mhchem@cf@state{F}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@element}{,}}% + \fi% + \else\if .\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% + {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% + \else% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \fi% + \else\if +\mhchem@cf@lookahead% + \def\mhchem@cf@state{+}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@sup}}% + \else\if -\mhchem@cf@lookahead% + \ifnum 1<\mhchem@option@version% + \def\mhchem@cf@state{-}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \def\mhchem@cf@state{+}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@sup}{-}}% + \fi% + \else\if |\mhchem@cf@lookahead% + \PackageWarning{mhchem}{The symbol | is not allowed here}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if (\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if )\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if [\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if ]\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if *\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% + {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% + \else\ifcat a\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifcat 1\mhchem@cf@lookahead% + % + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\if\mhchem@lbracechar\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@result}}% + \else% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@element}}% + \fi% + \else\if $\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendMath{\mhchem@cf@element}}% + \else% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% . + \else\if *\mhchem@cf@state% + \ifx \{\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else\ifx \}\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else\ifx\bond\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \ifnum 2=\mhchem@option@version% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else% + \def\mhchem@cf@state{C}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \fi% + \else\if =\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \mhchem@cf@result=\expandafter{\the\mhchem@cf@result\dbond}% + \def\mhchem@cf@state{+}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if ##\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \mhchem@cf@result=\expandafter{\the\mhchem@cf@result\tbond}% + \def\mhchem@cf@state{+}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\ifcat\noexpand\mhchem@macro\noexpand\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{c}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else\if ^\mhchem@cf@lookahead% + \def\mhchem@cf@state{p}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if _\mhchem@cf@lookahead% + \def\mhchem@cf@state{q}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if `\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \def\mhchem@cf@state{P}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \fi% + \else\if ,\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \def\mhchem@cf@state{Q}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@element}{,}}% + \fi% + \else\if .\mhchem@cf@lookahead% + \ifnum 4>\mhchem@option@version% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% + {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% + \else% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \fi% + \else\if |\mhchem@cf@lookahead% + \PackageWarning{mhchem}{The symbol | is not allowed here}% + \let\mhchem@cf@action\mhchem@cf@gobbleNextToken% + \else\if (\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else\if )\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else\if [\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else\if ]\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \else\if *\mhchem@cf@lookahead% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@append{\mhchem@cf@result}% + {\mhchem@mathOrText@ii{{}\cdot{}}{\mhchem@option@textcdot}}}% + \else\ifcat a\mhchem@cf@lookahead% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@element}}% + \else\ifcat 1\mhchem@cf@lookahead% + % + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{1}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@amount}}% + \else\if\mhchem@lbracechar\mhchem@cf@lookahead% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendNextGroup{\mhchem@cf@element}}% + \else\if $\mhchem@cf@lookahead% + \def\mhchem@cf@state{a}% + \def\mhchem@cf@action{\mhchem@cf@appendMath{\mhchem@cf@element}}% + \else% + \mhchem@cf@outputAndReset{\mhchem@cf@result}% + \def\mhchem@cf@state{s}% + \def\mhchem@cf@action{\mhchem@cf@appendNextToken{\mhchem@cf@result}}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% . + \else% + \PackageWarning{mhchem}{Assertion failed: unknown internal state \mhchem@cf@state}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% + \fi\fi\fi% + \mhchem@cf@action% +}% +%%% +\def\mhchem@cf@continue{% + \futurelet\mhchem@cf@lookahead\mhchem@cf@i% +}% +\def\mhchem@cf@gobbleNextToken#1{% + \mhchem@cf@continue% +}% +\def\mhchem@cf@append#1#2#3{% + %\showthe#1% + #1=\expandafter{\the#1#2}% + %\showthe#1% + \mhchem@cf@continue% +}% +\def\mhchem@cf@appendExpand#1#2#3{% + \edef\mhchem@cf@appendExpand@i{\noexpand\mhchem@cf@append\noexpand{#1}{#2}}% + \mhchem@cf@appendExpand@i% +}% +\def\mhchem@cf@appendAndExecute#1#2#3#4{% + #1=\expandafter{\the#1#2}% + #3% + \mhchem@cf@continue% +}% +\def\mhchem@cf@appendAndExecuteExpand#1#2#3#4{% + \edef\mhchem@cf@appendExpand@i{\noexpand\mhchem@cf@appendAndExecute\noexpand{#1}{#2}{#3}}% + \mhchem@cf@appendExpand@i% +}% +\def\mhchem@cf@appendNextGroup#1#2{% + #1=\expandafter{\the#1{#2}}% + \mhchem@cf@continue% +} +\def\mhchem@cf@appendNextGroupAsMath#1#2{% + #1=\expandafter{\the#1{\text{\ensuremath{#2}}}}% + \mhchem@cf@continue% +} +\def\mhchem@cf@appendNextToken#1#2{% + %\showthe#1% + #1=\expandafter{\the#1#2}% + %\showthe#1% + \mhchem@cf@continue% +} +\def\mhchem@cf@appendNextTokenAsMathrm#1#2{% + #1=\expandafter{\the#1{\ensuremath{\mathrm{#2}}}}% + \mhchem@cf@continue% +} +\def\mhchem@cf@appendMath#1#2#3${% + #1=\expandafter{\the#1\text{\ensuremath{#3}}}% + \mhchem@cf@continue% +}% +\def\mhchem@cf@appendMathAsGroup#1#2#3${% + #1=\expandafter{\the#1{\text{\ensuremath{#3}}}}% + \mhchem@cf@continue% +}% +\def\mhchem@cf@switchState#1#2|{% + \ifthenelse{\equal{1}{#2}}{% if 1 + \def\mhchem@cf@state{a}% switch to [a]element + }{% + \PackageWarning{mhchem}{Command |#2| unknown}% + }% + \mhchem@cf@continue% +}% + +%%%%% +\newtoks\mhchem@cf@element% +\newtoks\mhchem@cf@amount% +%\newtoks\mhchem@cf@sub% +\newtoks\mhchem@cf@sup% +\newtoks\mhchem@cf@presub% +\newtoks\mhchem@cf@presup% +\def\mhchem@cf@output{% + % + \if\mhchem@cf@state s% + \else\if\mhchem@cf@state 1% + \noexpand\mhchem@mathOrText{\noexpand\mhchem@cf@frac\the\mhchem@cf@amount/\noexpand\mhchem@END}% + \else% + \if\mhchem@option@usenonsimultaneoussubsuperscripts 0\relax% + \noexpand\mhchem@chemfive% + {\noexpand\mhchem@cf@replaceMath{\the\mhchem@cf@presup}}% + {\noexpand\mhchem@cf@replaceMath{\the\mhchem@cf@presub}}% + {\the\mhchem@cf@element}% + {\noexpand\mhchem@cf@replaceMath{\the\mhchem@cf@amount}}% + {\noexpand\mhchem@cf@replaceMathMinusDot{\the\mhchem@cf@sup}}% + {}% + \else% + \noexpand\mhchem@chemfive% + {\noexpand\mhchem@cf@replaceMath{\the\mhchem@cf@presup}}% + {\noexpand\mhchem@cf@replaceMath{\the\mhchem@cf@presub}}% + {\the\mhchem@cf@element}% + {\noexpand\mhchem@cf@replaceMath{\the\mhchem@cf@amount}}% + {}% + {\noexpand\mhchem@cf@replaceMathMinusDot{\the\mhchem@cf@sup}}% + \fi% + \fi\fi%\fi% +} +\def\mhchem@cf@outputReset{% + %\showthe\mhchem@cf@element% + %\showthe\mhchem@cf@sup% + % + \mhchem@cf@element={}% + \mhchem@cf@amount={}% + \mhchem@cf@sup={}% + \mhchem@cf@presub={}% + \mhchem@cf@presup={}% +} +\def\mhchem@cf@outputAndReset#1{% + \edef\mhchem@cf@outputAndReset@i{#1={\the#1\mhchem@cf@output}}% + \mhchem@cf@outputAndReset@i% + %\showthe#1% + \mhchem@cf@outputReset% +} + + + +%%% frac +\def\mhchem@cf@frac#1/#2\mhchem@END{% + \ifthenelse{\equal{#2}{}}{% + #1\mhchem@option@skipAfterAmount% + }{% + \ensuremath{\mathchoice% + {\textstyle% + \frac{\mhchem@mathOrText{#1}}{\mhchem@mathOrText{\mhchem@getfirstchar#2\mhchem@ENDgetfirstchar}}\mhchem@option@skipAfterFracAmount}% + {\frac{\mhchem@mathOrText{#1}}{\mhchem@mathOrText{\mhchem@getfirstchar#2\mhchem@ENDgetfirstchar}}\mhchem@option@skipAfterFracAmount}% + {\frac{\mhchem@mathOrText{#1}}{\mhchem@mathOrText{\mhchem@getfirstchar#2\mhchem@ENDgetfirstchar}}\mhchem@option@skipAfterFracAmount}% + {\frac{\mhchem@mathOrText{#1}}{\mhchem@mathOrText{\mhchem@getfirstchar#2\mhchem@ENDgetfirstchar}}\mhchem@option@skipAfterFracAmount}% + }% + }% +}% +\def\mhchem@getfirstchar#1#2\mhchem@ENDgetfirstchar{#1} +\def\mhchem@getlastchars#1#2\mhchem@ENDgetlastchars{#2} + +%%% replaceMath + % + % + % +\newtoks\mhchem@cf@replaceMath@result +\newcommand\mhchem@cf@replaceMath[1]{% + \mhchem@cf@replaceMath@result={}% + \mhchem@cf@replaceMath@continue#1\mhchem@END% + % + \the\mhchem@cf@replaceMath@result% +} +\def\mhchem@cf@replaceMath@i{% + \ifx\mhchem@END\mhchem@cf@replaceMath@lookahead% + \let\mhchem@cf@replaceMath@action\mhchem@gobble% + \else\if\mhchem@lbracechar\mhchem@cf@replaceMath@lookahead% + \let\mhchem@cf@replaceMath@action\mhchem@cf@replaceMath@appendNextGroup% + \else\if $\mhchem@cf@replaceMath@lookahead% + \let\mhchem@cf@replaceMath@action\mhchem@cf@replaceMath@appendMath% + \else% + \let\mhchem@cf@replaceMath@action\mhchem@cf@replaceMath@appendNextToken% + \fi\fi\fi% + \mhchem@cf@replaceMath@action% +} +%%% +\def\mhchem@cf@replaceMath@continue{% + \futurelet\mhchem@cf@replaceMath@lookahead\mhchem@cf@replaceMath@i% +} +\def\mhchem@cf@replaceMath@appendNextGroup#1{% + \mhchem@cf@replaceMath@result=\expandafter{\the\mhchem@cf@replaceMath@result{#1}}% + \mhchem@cf@replaceMath@continue% +} +\def\mhchem@cf@replaceMath@appendNextToken#1{% + \mhchem@cf@replaceMath@result=\expandafter{\the\mhchem@cf@replaceMath@result#1}% + \mhchem@cf@replaceMath@continue% +} +\def\mhchem@cf@replaceMath@appendMath#1#2${% + \mhchem@cf@replaceMath@result=\expandafter{\the\mhchem@cf@replaceMath@result\text{\ensuremath{#2}}}% + \mhchem@cf@replaceMath@continue% +}% +%%% replaceMathMinusDot +%%% +%%% +%%% +%%% +%%% +\newtoks\mhchem@cf@replaceMathMinusDot@result +\newcommand\mhchem@cf@replaceMathMinusDot[1]{% + \mhchem@cf@replaceMathMinusDot@result={}% + \mhchem@cf@replaceMathMinusDot@continue#1\mhchem@END% + % + \the\mhchem@cf@replaceMathMinusDot@result% +} +\def\mhchem@cf@replaceMathMinusDot@i{% + \ifx\mhchem@END\mhchem@cf@replaceMathMinusDot@lookahead% + \let\mhchem@cf@replaceMathMinusDot@action\mhchem@gobble% + \else\if -\mhchem@cf@replaceMathMinusDot@lookahead\relax% + \def\mhchem@cf@replaceMathMinusDot@action{\mhchem@cf@replaceMathMinusDot@append{\mhchem@mathOrText@ii{-}{\mhchem@option@textminus}}}% + \else\if .\mhchem@cf@replaceMathMinusDot@lookahead\relax% + \def\mhchem@cf@replaceMathMinusDot@action{\mhchem@cf@replaceMathMinusDot@append{\ensuremath{\textbf{\fontfamily{cmr}\selectfont\textperiodcentered}}}}% + \else\if\mhchem@lbracechar\mhchem@cf@replaceMathMinusDot@lookahead% + \let\mhchem@cf@replaceMathMinusDot@action\mhchem@cf@replaceMathMinusDot@appendNextGroup% + \else\if $\mhchem@cf@replaceMathMinusDot@lookahead% + \let\mhchem@cf@replaceMathMinusDot@action\mhchem@cf@replaceMathMinusDot@appendMath% + \else% + \let\mhchem@cf@replaceMathMinusDot@action\mhchem@cf@replaceMathMinusDot@appendNextToken% + \fi\fi\fi\fi\fi% + \mhchem@cf@replaceMathMinusDot@action% +} +%%% +\def\mhchem@cf@replaceMathMinusDot@continue{% + \futurelet\mhchem@cf@replaceMathMinusDot@lookahead\mhchem@cf@replaceMathMinusDot@i% +} +\def\mhchem@cf@replaceMathMinusDot@append#1#2{% + \mhchem@cf@replaceMathMinusDot@result=\expandafter{\the\mhchem@cf@replaceMathMinusDot@result#1}% + \mhchem@cf@replaceMathMinusDot@continue% +} +\def\mhchem@cf@replaceMathMinusDot@appendNextGroup#1{% + \mhchem@cf@replaceMathMinusDot@result=\expandafter{\the\mhchem@cf@replaceMathMinusDot@result{#1}}% + \mhchem@cf@replaceMathMinusDot@continue% +} +\def\mhchem@cf@replaceMathMinusDot@appendNextToken#1{% + \mhchem@cf@replaceMathMinusDot@result=\expandafter{\the\mhchem@cf@replaceMathMinusDot@result#1}% + \mhchem@cf@replaceMathMinusDot@continue% +} +\def\mhchem@cf@replaceMathMinusDot@appendMath#1#2${% + \mhchem@cf@replaceMathMinusDot@result=\expandafter{\the\mhchem@cf@replaceMathMinusDot@result\text{\ensuremath{#2}}}% + \mhchem@cf@replaceMathMinusDot@continue% +}% + + +%%%%%%%%%%%%%%%%%%%%% +%%% @chemfive %%% +%%%%%%%%%%%%%%%%%%%%% +%%% +%%% +%%% +%%% +%%% +%%% +%%% +\newcommand*\mhchem@chemfive[6]{% + {% + \mhchem@prepostscript% + [\mhchem@mathOrText{\smash[t]{2+}}]% + {\mhchem@mathOrText{#1}}% + {\mhchem@mathOrText{#2}}% + {\mhchem@mathOrText@ii{\mhchem@option@mathFont{#3}}{\text{#3}}}% + {\mhchem@mathOrText{#4}}% + {\mhchem@mathOrText{#5}}% + {\mhchem@mathOrText{#6}}% + }% +} + +%%% @prepostscript +%%% +%%% +%%% +%%% +%%% +%%% +%%% +\newlength\mhchem@prepostscript@tmp@i% +\newlength\mhchem@prepostscript@tmp@ii% +\newcommand*\mhchem@prepostscript[7][]{% + \m@th% + \ensuremath{% + \setlength{\mhchem@prepostscript@tmp@i}{\widthof{$#2#3$}}% + \ifdim\mhchem@prepostscript@tmp@i>0pt% + \setlength{\mhchem@prepostscript@tmp@i}{\widthof{${}^{#2}$}}% [1] + \setlength{\mhchem@prepostscript@tmp@ii}{\widthof{${}_{#3}$}}% [1] + \ifdim\mhchem@prepostscript@tmp@i<\mhchem@prepostscript@tmp@ii% + \setlength{\mhchem@prepostscript@tmp@i}{\mhchem@prepostscript@tmp@ii}\fi% [1] + \vphantom{#4}% [2] + {}% + ^{% + \mhchem@mathboxright{\mhchem@prepostscript@tmp@i}{% [1] + \vphantom{#6#7}% [2] + \vphantom{#1}% [4] + #2% + }% [1] + }% + _{% + \mhchem@mathboxright{\mhchem@prepostscript@tmp@i}{% [1] + \vphantom{#5}% [2] + #3% + }% [1] + }% + \mhchem@minispace% [3] + \fi% + #4% + \setlength{\mhchem@prepostscript@tmp@i}{\widthof{$#5#6$}}% + \ifdim\mhchem@prepostscript@tmp@i>0pt% + _{% + \vphantom{#3}% [2] + #5% + }% + ^{% + \vphantom{#2#7}% [2] + \vphantom{#1}% [4] + #6 + }% + \fi% + \setlength{\mhchem@prepostscript@tmp@i}{\widthof{$#7$}}% + \ifdim\mhchem@prepostscript@tmp@i>0pt% + \mhchem@minispace% [3] + {}% + _{\vphantom{#3#5}}% [2] + ^{% + \vphantom{#2#6}% [2] + \vphantom{#1}% [4] + #7% + }% + \fi% + }% +% +% +% +% +% +% +% +} + +%%% @mathbox +%%% +%%% +\newcommand*\mhchem@mathbox[2][]{% + \mathchoice% + {\mhchem@mathbox@ii{\displaystyle}{#1}{#2}}% + {\mhchem@mathbox@ii{\textstyle}{#1}{#2}}% + {\mhchem@mathbox@ii{\scriptstyle}{#1}{#2}}% + {\mhchem@mathbox@ii{\scriptscriptstyle}{#1}{#2}}}% +\newlength\mhchem@mathbox@tmp@i +\newlength\mhchem@mathbox@tmp@ii +\newcommand*\mhchem@mathbox@ii[3]{% + \setlength{\mhchem@mathbox@tmp@i}{\widthof{\ensuremath{#1#2}}}% + \setlength{\mhchem@mathbox@tmp@ii}{\widthof{\ensuremath{#1#3}}}% + \ifdim\mhchem@mathbox@tmp@i<\mhchem@mathbox@tmp@ii% + \mhchem@mathbox@i{#3}% + \else% + \makebox[\mhchem@mathbox@tmp@i]{\ensuremath{#1#3}}% + \fi} +\newcommand*\mhchem@mathbox@i[1]{\mathchoice% + {\mbox{\ensuremath{\displaystyle#1}}}% + {\mbox{\ensuremath{\textstyle#1}}}% + {\mbox{\ensuremath{\scriptstyle#1}}}% + {\mbox{\ensuremath{\scriptscriptstyle#1}}}} + +%%% @mathboxright +\newcommand*\mhchem@mathboxright[2]{\mathchoice% + {\makebox[#1][r]{\ensuremath{\displaystyle#2}}}% + {\makebox[#1][r]{\ensuremath{\textstyle#2}}}% + {\makebox[#1][r]{\ensuremath{\scriptstyle#2}}}% + {\makebox[#1][r]{\ensuremath{\scriptscriptstyle#2}}}} + +%%% @minispace +%%% +%%% +\newlength\mhchem@minispace@tmp +\newcommand*\mhchem@minispace{% + \setlength{\mhchem@minispace@tmp}{0pt-\widthof{${}^8_8$}+% + \widthof{$\text{C}^8_8$}-\widthof{$\text{C}^{}_{}$}}% [3] + \kern\mhchem@minispace@tmp% +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%% Package Options %%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\mhchem@option@version{0} +\define@key{mhchem}{version}{\def\mhchem@option@version{#1}} + +\def\mhchem@option@mathFont{\mathrm} +\def\mhchem@option@textFont{} +\define@key{mhchem}{textfontcommand}{\def\mhchem@option@textFont{#1}} +\define@key{mhchem}{textfontname}{\def\mhchem@option@textFont{\csname#1\endcsname}} +\define@key{mhchem}{mathfontcommand}{\def\mhchem@option@mathFont{#1}} +\define@key{mhchem}{mathfontname}{\def\mhchem@option@mathFont{\csname#1\endcsname}} +\define@key{mhchem}{font}{% + \ifthenelse{\equal{sf}{#1}}{% + \def\mhchem@option@textFont{\sffamily}% + \def\mhchem@option@mathFont{\mathsf}% + }{\ifthenelse{\equal{}{#1}}{% + \def\mhchem@option@textFont{}% + \def\mhchem@option@mathFont{\mathrm}% + }{\PackageError{mhchem}{Font option `#1' unknown}}}% +} + +% +\def\mhchem@option@alwaystextmode{0}% + +\newlength\mhchem@option@minussidebearingleft +\newlength\mhchem@option@minussidebearingright +\setlength\mhchem@option@minussidebearingleft{0.06em} +\setlength\mhchem@option@minussidebearingright{0.11em} +\define@key{mhchem}{minus-sidebearing-left}{\setlength\mhchem@option@minussidebearingleft{#1}} +\define@key{mhchem}{minus-sidebearing-right}{\setlength\mhchem@option@minussidebearingright{#1}} + +% +% +% +% +% +% +% +% +% +% +% +% +% +% +% +% + +% Replicate layout of MS Word (superscript after subscript, not over) +\def\mhchem@option@usenonsimultaneoussubsuperscripts{0}% +% There is no key defined for this option, as to promote good typographic conventions. + +\mhchem@definearrows{font} +\define@key{mhchem}{arrows}{% + \ifthenelse{\equal{pgf}{#1} \or \equal{pgf-filled}{#1}}{% + \RequirePackage{pgf}% for finding the tikz package more easily + \RequirePackage{tikz}% + }{}% + \mhchem@definearrows{#1}% +} + +\def\mhchem@option@skipAfterAmount{\,} +\define@key{mhchem}{skip-after-amount}{\def\mhchem@option@skipAfterAmount{#1}\def\mhchem@option@skipAfterFracAmount{#1}} +\def\mhchem@option@skipAfterFracAmount{\,} +\define@key{mhchem}{skip-after-frac-amount}{\def\mhchem@option@skipAfterFracAmount{#1}} +% + +\def\mhchem@option@textminus{--} +\define@key{mhchem}{textminus}{\def\mhchem@option@textminus{#1}} +% + +\def\mhchem@option@textcdot{\cdot} +\define@key{mhchem}{textcdot}{\def\mhchem@option@textcdot{#1}} +% + +%%% begin: standard keyval handling as in many other packages +\def\ProcessOptionsWithKV#1{% + \let\@tempc\relax% + \let\mhchem@tempa\@empty% + \@for\CurrentOption:=\@classoptionslist\do{% + \@ifundefined{KV@#1@\CurrentOption}% + {}% + {% + \edef\mhchem@tempa{\mhchem@tempa,\CurrentOption,}% + \@expandtwoargs\@removeelement\CurrentOption% + \@unusedoptionlist\@unusedoptionlist% + }% + }% + \edef\mhchem@tempa{% + \noexpand\setkeys{#1}{% + \mhchem@tempa\@ptionlist{\@currname.\@currext}% + }% + }% + \mhchem@tempa% + \let\CurrentOption\@empty% + \AtEndOfPackage{\let\@unprocessedoptions\relax}% +} +\ProcessOptionsWithKV{mhchem}\relax +%%% end: + +\define@key{mhchem}{arrows}{\mhchem@definearrows{#1}}% + +\newcommand*\mhchemoptions[1]{\setkeys{mhchem}{#1}} + +\ifnum 0=\mhchem@option@version% + \PackageWarningNoLine{mhchem}{% + You did not specify a 'version' option for the mhchem\MessageBreak + package. If you are about to create a new document,\MessageBreak + please write \string\usepackage[version=3]{mhchem} in your preamble in\MessageBreak + order to use the most recent version of mhchem}% + \def\mhchem@option@version{3}% +\else\ifnum 4=\mhchem@option@version% + \PackageWarningNoLine{mhchem}{% + You are using version 3.09 of mhchem. You entered\MessageBreak + the parameter version=4. This means, you are using\MessageBreak + some beta features of mhchem that are subject\MessageBreak + to change without notice}% +\fi\fi% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%% misc %%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifnum 4>\mhchem@option@version + \newcommand*\mhchem@cmath[1]{\ensuremath{\text{\ensuremath{#1}}}}% + \newcommand*\cmath[1]{\mhchem@cmath{#1}} + \newcommand*\cf[2][]{\mhchem@cf[#1]{#2}} +\fi + + + + + + + + + +% +% +% +% +% +% +% +% +% +% +% +% +% +% +% +% + +% +\def\mhchem@END{} +\def\mhchem@macro{} +\def\mhchem@empty{} +% +\edef\mhchem@lbracechar{\string{} %} +\def\mhchem@gobble#1{}% +% +% \ No newline at end of file diff --git a/packages/extern/parskip.sty b/packages/extern/parskip.sty new file mode 100644 index 0000000..8b29613 --- /dev/null +++ b/packages/extern/parskip.sty @@ -0,0 +1,33 @@ +% This is PARSKIP.STY by H.Partl, TU Wien, as of 19 Jan 1989. +% Document Style Option to be used with any style and with any size. +% It produces the following Paragraph Layout: +% Zero Parindent and non-zero Parskip. The stretchable glue in \parskip +% helps LaTeX in finding the best place for page breaks. + +\parskip=0.5\baselineskip \advance\parskip by 0pt plus 2pt +\parindent=\z@ + +% To accompany this, the vertical spacing in the list environments is changed +% to use the same as \parskip in all relevant places (for normalsize only): +% \parsep = \parskip +% \itemsep = \z@ % add nothing to \parskip between items +% \topsep = \z@ % add nothing to \parskip before first item + +\def\@listI{\leftmargin\leftmargini + \topsep\z@ \parsep\parskip \itemsep\z@} +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep\z@ \parsep\parskip \itemsep\z@} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep\z@ \parsep\parskip \itemsep\z@} + +% Note that listiv, listv and listvi don't change vertical parameters. + +\endinput + + diff --git a/packages/extern/pbox.sty b/packages/extern/pbox.sty new file mode 100644 index 0000000..d93146d --- /dev/null +++ b/packages/extern/pbox.sty @@ -0,0 +1,61 @@ +%% +%% This is file `pbox.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% pbox.dtx (with options: `style') +%% +%% Copyright (C) 2003 Simon Law +%% +%% This program is free software; you can redistribute it and/or modify +%% it under the terms of the GNU General Public License as published by +%% the Free Software Foundation; either version 2 of the License, or +%% (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% +%% You should have received a copy of the GNU General Public License +%% along with this program; if not, write to the Free Software +%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{pbox}[2003/04/06 v1.0 Dynamic parboxes] +\RequirePackage{calc} +\RequirePackage{ifthen} +\newcommand{\settominwidth}[3][\columnwidth]{% + \settowidth{#2}{\begin{tabular}{@{}l@{}}#3\end{tabular}}% + \ifthenelse{\lengthtest{#1<#2}}{\setlength{#2}{#1}}} +\newcommand{\widthofpbox}[1]{% + \widthof{\begin{tabular}{@{}l@{}}#1\end{tabular}}} +\DeclareRobustCommand*{\pbox}[1][]{% + \def\pb@xargi{#1}% + \pb@xi} +\DeclareRobustCommand*{\pb@xi}[1][]{% + \def\pb@xargii{#1}% + \pb@xii} +\DeclareRobustCommand*{\pb@xii}[1][]{% + \def\pb@xargiii{#1}% + \pb@xiii} +\newlength{\pb@xlen} +\DeclareRobustCommand{\pb@xiii}[2]{% + \settominwidth[#1]{\pb@xlen}{#2}% + \ifthenelse{\equal{\pb@xargi}{}} + {\parbox{\pb@xlen}{#2}} + {\ifthenelse{\equal{\pb@xargii}{}} + {\ifthenelse{\equal{\pb@xargiii}{}} + {\parbox[\pb@xargi]{\pb@xlen}{#2}} + {\parbox[\pb@xargi][][\pb@xargiii]{\pb@xlen}{#2}}} + {\ifthenelse{\equal{\pb@xargiii}{}} + {\parbox[\pb@xargi][\pb@xargii]{\pb@xlen}{#2}} + {\parbox[\pb@xargi][\pb@xargii][\pb@xargiii]{\pb@xlen}{#2}}}}% + \def\pb@xargi\relax + \def\pb@xargii\relax + \def\pb@xargiii\relax + \makebox[0pt]{}} +\endinput +%% +%% End of file `pbox.sty'. diff --git a/packages/extern/scientific.log b/packages/extern/scientific.log new file mode 100644 index 0000000..a12a5ab --- /dev/null +++ b/packages/extern/scientific.log @@ -0,0 +1,216 @@ +This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012/Debian) (format=pdflatex 2013.1.7) 12 FEB 2013 20:15 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**scientific.sty +(./scientific.sty +LaTeX2e <2011/06/27> +Babel and hyphenation patterns for english, dumylang, nohyphenation, ng +erman, german, swissgerman, ngerman-x-2012-05-30, german-x-2012-05-30, loaded. + +LaTeX Warning: You have requested package `', + but the package provides `scientific'. + +Package: scientific 2013/01/12 Scientific Macros for LaTeX4EI +(./xifthen.sty +Package: xifthen 2009/04/17 v1.3 Extended ifthen features + (/usr/share/texlive/texmf-dist/tex/latex/etex-pkg/etex.sty +Package: etex 1998/03/26 v2.0 eTeX basic definition package (PEB) +\et@xins=\count79 +) +(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty +Package: calc 2007/08/22 v4.3 Infix arithmetic (KKT,FJ) +\calc@Acount=\count80 +\calc@Bcount=\count81 +\calc@Adimen=\dimen102 +\calc@Bdimen=\dimen103 +\calc@Askip=\skip41 +\calc@Bskip=\skip42 +LaTeX Info: Redefining \setlength on input line 76. +LaTeX Info: Redefining \addtolength on input line 77. +\calc@Ccount=\count82 +\calc@Cskip=\skip43 +) +(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/ifmtarg/ifmtarg.sty +Package: ifmtarg 2009/09/02 v1.2a check for an empty argument +)) +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2000/07/18 v2.13 AMS math features +\@mathmargin=\skip44 + +For additional information on amsmath, use the `?' option. +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 + +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 +\@emptytoks=\toks14 +\ex@=\dimen104 +)) +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d +\pmbraise@=\dimen105 +) +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 1999/12/14 v2.01 operator names +) +\inf@bad=\count83 +LaTeX Info: Redefining \frac on input line 211. +\uproot@=\count84 +\leftroot@=\count85 +LaTeX Info: Redefining \overline on input line 307. +\classnum@=\count86 +\DOTSCASE@=\count87 +LaTeX Info: Redefining \ldots on input line 379. +LaTeX Info: Redefining \dots on input line 382. +LaTeX Info: Redefining \cdots on input line 467. +\Mathstrutbox@=\box26 +\strutbox@=\box27 +\big@size=\dimen106 +LaTeX Font Info: Redeclaring font encoding OML on input line 567. +LaTeX Font Info: Redeclaring font encoding OMS on input line 568. +\macc@depth=\count88 +\c@MaxMatrixCols=\count89 +\dotsspace@=\muskip10 +\c@parentequation=\count90 +\dspbrk@lvl=\count91 +\tag@help=\toks15 +\row@=\count92 +\column@=\count93 +\maxfields@=\count94 +\andhelp@=\toks16 +\eqnshift@=\dimen107 +\alignsep@=\dimen108 +\tagshift@=\dimen109 +\tagwidth@=\dimen110 +\totwidth@=\dimen111 +\lineht@=\dimen112 +\@envbody=\toks17 +\multlinegap=\skip45 +\multlinetaggap=\skip46 +\mathdisplay@stack=\toks18 +LaTeX Info: Redefining \[ on input line 2666. +LaTeX Info: Redefining \] on input line 2667. +) (./accents.sty +Package: accents 2006/05/12 v1.3 Math Accent Tools +\cc@skew=\dimen113 +\cc@wd=\dimen114 +\cc@code=\count95 +\cc@group=\count96 +\cc@skewchar=\count97 +) +(/usr/share/texmf/tex/latex/xcolor/xcolor.sty +Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg +File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def +File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count98 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1337. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1341. +Package xcolor Info: Model `RGB' extended on input line 1353. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1355. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1356. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1357. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1358. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360. +) +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2009/06/22 v3.00 + +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2009/06/22 v3.00 Basic AMSFonts support +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 96. +)) (./esint.sty +Package: esint +\symlargesymbolsA=\mathgroup6 +) +(./mhchem.sty +Package: mhchem 2011/06/03 v3.11 for typesetting chemical formulae + (./twoopt.sty +Package: twoopt 1999/04/12 v1.3 Definitions with two optional arguments (HO) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 1999/03/16 v1.13 key=value parser (DPC) +\KV@toks@=\toks19 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 1999/03/16 v1.09 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg +File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live +) +Package graphics Info: Driver file: pdftex.def on input line 91. +) +\tok@mhchem@ce@iii=\toks20 +\mhchem@arrowminlength=\skip47 +\mhchem@arrows@box=\box28 +\mhchem@arrowlength@pgf=\skip48 +\mhchem@arrowminlength@pgf=\skip49 +\mhchem@bondwidth=\skip50 +\mhchem@bondheight=\skip51 +\mhchem@smallbondwidth@tmpA=\skip52 +\mhchem@smallbondwidth@tmpB=\skip53 +\mhchem@smallbondwidth=\skip54 +\mhchem@cf@result=\toks21 +\mhchem@cf@element=\toks22 +\mhchem@cf@amount=\toks23 +\mhchem@cf@sup=\toks24 +\mhchem@cf@presub=\toks25 +\mhchem@cf@presup=\toks26 +\mhchem@cf@replaceMath@result=\toks27 +\mhchem@cf@replaceMathMinusDot@result=\toks28 +\mhchem@prepostscript@tmp@i=\skip55 +\mhchem@prepostscript@tmp@ii=\skip56 +\mhchem@mathbox@tmp@i=\skip57 +\mhchem@mathbox@tmp@ii=\skip58 +\mhchem@minispace@tmp=\skip59 +\mhchem@option@minussidebearingleft=\skip60 +\mhchem@option@minussidebearingright=\skip61 + +./mhchem.sty:2039: Missing \endcsname inserted. + + \@classoptionslist +l.2039 \ProcessOptionsWithKV{mhchem} + \relax +? +./mhchem.sty:2039: Emergency stop. + + \@classoptionslist +l.2039 \ProcessOptionsWithKV{mhchem} + \relax +End of file on the terminal! + + +Here is how much of TeX's memory you used: + 2404 strings out of 495007 + 30707 string characters out of 3179691 + 96772 words of memory out of 3000000 + 5619 multiletter control sequences out of 15000+200000 + 3640 words of font info for 14 fonts, out of 3000000 for 9000 + 14 hyphenation exceptions out of 8191 + 27i,0n,35p,273b,34s stack positions out of 5000i,500n,10000p,200000b,50000s +./mhchem.sty:2039: ==> Fatal error occurred, no output PDF file produced! diff --git a/packages/extern/scientific.sty b/packages/extern/scientific.sty new file mode 100644 index 0000000..c946aa4 --- /dev/null +++ b/packages/extern/scientific.sty @@ -0,0 +1,257 @@ +% Wissenschaftliche Macros für LaTeX4EI Stand 24.01.13 +% Erstellt von Emanuel Regnath, Martin Zellner +% +% Lizenz: Dieses package darf nur für Dokumente für LaTeX4EI verwendet werden! +% Bei anderem Verwendungszweck bitte Erlaubnis einholen: info@latex4ei.de +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{scientific}[2013/01/12 Scientific Macros for LaTeX4EI] + + +% Benötigte Pakete laden +\RequirePackage{xifthen} % If Then Else Anweisungen +\RequirePackage{amsmath} % erlaubt mathematische Formeln +\RequirePackage{accents} % Für eigene Ableitungspunkte benötigt +\RequirePackage{xcolor} % Farbiger Text möglich + +% Zusätzliche Pakete +\RequirePackage{amssymb} % Verschiedene Symbole +\RequirePackage{esint} % erweiterte Integralsymbole +\RequirePackage[version=3]{mhchem} % chemistry \ce +\RequirePackage[strict]{siunitx} % SI gerechte Darstellung von Zahlen + +\RequirePackage{boites} + +% .:: Eigenschaften setzen +% ====================================================================== + +% Einrückung bei itemize verkleinern: +\setlength{\itemindent}{0em} +\setlength\leftmargini{1.8em} + + +% .:: Externe Befehle +% ====================================================================== + +% \utilde: aus Package undertilde.sty +\newlength\knuthian@fdfive +\def\mathpal@save#1{\let\was@math@style=#1\relax} +\def\utilde#1{\mathpalette\mathpal@save + {\setbox124=\hbox{$\was@math@style#1$}% +\setbox125=\hbox{$\fam=3\global\knuthian@fdfive=\fontdimen5\font$} +\setbox125=\hbox{$\widetilde{\vrule height 0pt depth 0pt width \wd124}$}% + \baselineskip=1pt\relax + \vtop{\copy124\copy125\vskip -\knuthian@fdfive}}} + +% Laplace Befehl aus trfsigns.sty +\newcommand{\laplace}{\mbox{\setlength{\unitlength}{0.1em} + \begin{picture}(25,10) + \put(3,3){\circle{4}} + \put(5,3){\line(1,0){13}} + \put(19,3){\circle*{4}} + \end{picture}}} +% Fourier Befehl von Laplace übernehmen +\newcommand{\fourier}{\laplace} +\newcommand{\FT}{\laplace} % Fourier Transform +\newcommand{\LT}{\laplace} % Laplace Transform +\newcommand{\DFT}{\laplace} % Discrete Fourier Transform +\newcommand{\DTFT}{\laplace} % Discrete Time Fourier Transform +\newcommand{\ZT}{\laplace} % Z-Transform + + +% .:: Eigene Befehle und Abkürzungen +% ====================================================================== + +% Bestehende Befehle sichern +\let\oldvec = \vec +\let\olddot = \dot +\let\oldfrac = \frac +\let\oldlaplace = \laplace + +% Eigene Bruchdarstellung: +\renewcommand{\frac}[3][]{% + \ifthenelse{\isempty{#1}}% + {\oldfrac{#2}{#3}} + {\genfrac{}{}{}{}{\raisebox{#1}[\height+0.1em][\depth]{$\scriptstyle #2$}}{\raisebox{-#1}[\height][\depth + 0.2em]{$\scriptstyle #3$}}} +} + + +% Eigene Befehle +\newcommand{\ul}[1]{\ensuremath{\underline{#1}}} % Untersteichen +\newcommand{\ol}[1]{\ensuremath{\overline{#1}}} % Überstreichen +\newcommand{\bs}[1]{\ensuremath{\boldsymbol{#1}}} % Fett und kursiv im mathmode +\newcommand{\iset}[2]{\ensuremath{\bigl\{ \bigl. #1 \, \bigr| \, #2 \bigr\}}} % intensional set +\newcommand{\eset}[1]{\ensuremath{\bigl\{#1\bigr\}}} % extensional set +\newcommand{\norm}[1]{\ensuremath{\left\|#1\right\|}} % Norm +\newcommand{\mat}[1]{\ensuremath{\begin{bmatrix} #1 \end{bmatrix}}} % Matrix +\newcommand{\ma}[1]{\ensuremath{\utilde{\boldsymbol {#1}}}} % Matrixsymbol +\newcommand{\tma}[3]{\ensuremath{{}_{#1} \ma #2_#3 }} % Trafomatrix +\newcommand{\vect}[1]{\ensuremath{\begin{pmatrix} #1 \end{pmatrix}}} % Vektor +\newcommand{\mvect}[1]{\ensuremath{\left.\begin{matrix} #1 \end{matrix}\right]}}% Matrixvektor +\newcommand{\tensor}[1]{\ensuremath{\underline{\underline{\boldsymbol #1}}}} % Tensor +\newcommand{\gk}[1]{\ensuremath{\left\lfloor#1\right\rfloor}} % Gaußklammer +\newcommand{\sprod}[2]{\ensuremath{\left\langle #1, #2 \right\rangle }} % Skalarprodukt +\newcommand{\abs}[1]{\ensuremath{\left\vert#1\right\vert}} % Betrag +\newcommand{\chem}[1]{\ensuremath{\displaystyle{\mathrm{#1}}}} % chemische Formeln die gut aussehen ;) +\newcommand{\ir}[1]{\sf #1} % index roman: Indizes aufrecht schreiben +\newcommand{\interior}[1]{\ensuremath{\overset{{}_\circ}{#1}}} % Das Innere +\newcommand{\rom}[1]{$\underline{\overline{\textrm{#1}}}$} % Römische Zahlen + + +% Komplexe und Hyperkomplexe Zahlen +\newcommand{\cx}[1]{\boldsymbol{#1}} % komplexe Zahl +\newcommand{\cxc}[1]{\ensuremath{\boldsymbol #1^*}} % Konjugiert komplexe Zahl +\newcommand{\hx}[1]{\ensuremath{\mathfrak #1}} % hyperkomplexe Zehl +\renewcommand{\i}{\ensuremath{\mathrm{i}}} % imaginary unit +\renewcommand{\j}{\ensuremath{\mathrm{j}}} % imaginary unit +\renewcommand{\k}{\ensuremath{\mathrm{k}}} % imaginary unit + +% Überschreibungen +\renewcommand{\vec}[1]{\ensuremath{\underline{\boldsymbol {#1}}}} % Vektor fett und unterstrichen +\renewcommand{\emph}[1]{\textbf{#1}} % Hervorhebungen fett +\renewcommand*{\dot}[1]{\accentset{\mbox{\textrm{\large\bfseries .}} }{#1}} % Dicker Ableitungspunkt +\renewcommand*{\ddot}[1]{\accentset{\mbox{\textrm{\large\bfseries .\hspace{-0.25ex}.}}}{#1}} % Dicker Doppelableitungspunkt +\renewcommand*{\dddot}[1]{\accentset{\mbox{$\overset{\textrm{\large\bfseries .}}{\textrm{\large\bfseries.\hspace{-0.25ex}.}}$}}{#1}} + +% Abkürzungen für Symbole +\newcommand{\Ra}{\ensuremath{\Rightarrow}} % Rightarrow +\newcommand{\ra}{\ensuremath{\rightarrow}} % rightarrow +\newcommand{\lra}{\ensuremath{\longrightarrow}} % Longrightarrow +\newcommand{\bdot}{\ensuremath{\boldsymbol \cdot}} % Dicker Punkt für Skalarprodukt +\newcommand{\svdots}{\ensuremath{\olddot :}} % small vertical dots +\newcommand{\shdots}{\ensuremath{\!\cdot \!\cdot\!\cdot\!}} % small horizontal dots +\newcommand{\diff}{\ensuremath{\ \mathrm d}} % differentielles Delta + +\newcommand{\capdot}{\cap\hspace{-0.84em}\cdot\hspace{0.5em}} % Schnittmenge bzw. AND +\let\cupplus\uplus % Vereinigunsmenge bzw. OR + + + % Abkürzungen für Mengensymbole + \DeclareMathOperator{\N}{\mathbb N} % Natürliche Zahlen + \DeclareMathOperator{\R}{\mathbb R} % Reele Zahlen + \DeclareMathOperator{\C}{\mathbb C} % Komplexe Zahlen + \DeclareMathOperator{\K}{\mathbb K} % Reele oder komplexe Zahlen + \DeclareMathOperator{\B}{\mathbb B} % Binäre Zahlen 1,0 + \def\O{\operatorname{\mathcal O}} % Landau + %\def\P{\operatorname{\mathbb P}} % Primzahlen + \DeclareMathOperator{\lpo}{\Delta} % Laplace Operator + + + +% Aufrechtschrift für Funktionen +\DeclareMathOperator{\grad}{grad} % Gradient +\def\div{\operatorname{div}} % Divergenz +\DeclareMathOperator{\rot}{rot} % Rotation +\DeclareMathOperator{\Sp}{Sp} % Spur +\DeclareMathOperator{\ggT}{ggT} % ggT +\DeclareMathOperator{\sgn}{sgn} % Signum +\DeclareMathOperator{\sinc}{sinc} % Sinus Cardinalis +\newcommand{\heavi}{\ensuremath{\Theta}} % Heaviside Funktion +\DeclareMathOperator{\const}{const.} % Konstante +\DeclareMathOperator{\rect}{rect} % Rectangular +\DeclareMathOperator{\tri}{tri} % Tri + + +% Stochastische Befehle: +\renewcommand{\P}{\textsf{P}} % Wahrscheinlichkeitsmaß +\DeclareMathOperator{\F}{\mathbb F} % Ereignisalgebra +\DeclareMathOperator{\X}{\textit{X}} % Zufallsvariable X +\DeclareMathOperator{\Y}{\textit{Y}} % Zufallsvariable Y +\DeclareMathOperator{\Z}{\textit{Z}} % Zufallsvariable Z +\DeclareMathOperator{\E}{\textsf{E}} % Erwartungswert +\newcommand{\ew}[1]{\textit{E} \left[ #1 \right]} % Erwartungswert (mit Parameter) +\DeclareMathOperator{\Var}{\textsf{Var}} % Varianz +\DeclareMathOperator{\Cov}{\textsf{Cov}} % Kovarianz + + +% Eigene Tabellenlinien +\def\trule{\noalign{\vspace{1pt}\hrule\hrule\vspace{2pt}}} % top rule +\def\mrule{\noalign{\vspace{1pt}\hrule\vspace{2pt}}} % middle rule +\def\brule{\noalign{\vspace{2pt}\hrule\hrule\vspace{1pt}}} % bottom rule + + + + +% .:: Farbige Elemente +% ====================================================================== + +\definecolor{lightblue}{RGB}{235,235,255} +\definecolor{lightred}{RGB}{255,240,240} +\definecolor{lightgreen}{RGB}{240,255,240} +\definecolor{lightyellow}{RGB}{255,255,240} +\definecolor{lightblue}{RGB}{220, 240, 247} +\definecolor{darkblue}{RGB}{23,110,138} +\definecolor{notsodarkblue}{RGB}{119,193,214} +\definecolor{tablecolor}{RGB}{0,128,0} + +% Für die Überschriften und Linien +\definecolor{lila}{RGB}{128,0,128} +\definecolor{latex4eiblau}{RGB}{86,124,136} +\definecolor{latex4eigruen}{RGB}{150,163,110} + +% Farbige Boxen +\newcommand{\topicbox}[2]{ +\fcolorbox{blue}{lightblue}{\color{blue}\parbox{\columnwidth-2\fboxsep}{{\large \textbf{ #1}}\\\hspace*{-\fboxsep}\rule[2pt]{\columnwidth}{0.5pt}\\ \color{black}#2}}} + +\newcommand{\emphbox}[1]{{\fboxrule1pt\fcolorbox{red}{lightyellow}{\parbox{\columnwidth-2\fboxsep-2pt}{\centering #1}}}} +\newcommand{\symbolbox}[1]{{\fboxrule1pt\fcolorbox{orange}{lightyellow}{\parbox{\columnwidth-2\fboxsep-2pt}{#1}}}} +\newcommand{\tablebox}[1]{{\fboxsep0pt\colorbox{lightgreen}{\parbox{\columnwidth}{#1}}}} +\newcommand{\sectionbox}[1]{{\fboxsep0.5em\hspace*{-\fboxsep}\hspace*{-1pt} +\fcolorbox{gray}{gray!3}{ +\parbox{\columnwidth}{ + \titlespacing{\subsection}{0em}{0.2em}{0.2em} + \titlespacing{\subsubsection}{0em}{0.2em}{0.2em} +#1 +}}}} + +\newcommand{\cookbox}[2]{{\fboxsep0pt\colorbox{lightblue}{\parbox{\columnwidth}{ +{\color{darkblue}\hrule\hrule}\vspace{2pt} + \begin{center} +\textbf{#1} +\end{center} +\vspace{3pt}{\color{notsodarkblue}\hrule\hrule} +\vspace{3pt} +\begin{itemize} +#2 +\end{itemize} +\vspace{2pt}{\color{darkblue}\hrule\hrule} +}}}} + +\newcommand{\cooknumbox}[2]{{\fboxsep0pt\colorbox{lightblue}{\parbox{\columnwidth}{ +{\color{darkblue}\hrule\hrule}\vspace{2pt} + \begin{center} +\textbf{#1} +\end{center} +\vspace{3pt}{\color{notsodarkblue}\hrule\hrule} +\vspace{3pt} +\begin{enumerate} +#2 +\end{enumerate} +\vspace{2pt}{\color{darkblue}\hrule\hrule} +}}}} + + + +% BETA + +\newcommand{\sectionboxnew}[1]{ +\begin{breakbox} + + \titlespacing{\subsection}{0em}{0.2em}{0.2em} + \titlespacing{\subsubsection}{0em}{0.2em}{0.2em} +#1 + +\end{breakbox} + +} +% Farbige Tabellenlinien +\def\ctrule{\noalign{{\color{tablecolor}\hrule\hrule}\vspace{2pt}}} % colored top rule +\def\cmrule{\noalign{\vspace{1pt}{\color{tablecolor}\hrule}\vspace{2pt}}} % colored middle rule +\def\cbrule{\noalign{\vspace{2pt}{\color{tablecolor}\hrule\hrule}}} % colored bottom rule + + + + +% Ende von /input +\endinput + diff --git a/packages/extern/titlesec.sty b/packages/extern/titlesec.sty new file mode 100644 index 0000000..c9c4f5d --- /dev/null +++ b/packages/extern/titlesec.sty @@ -0,0 +1,1336 @@ +% +--------------------------------------------------+ +% | Typeset titlesec.tex to get the documentation. | +% +--------------------------------------------------+ +% +% Copyright (c) 1998-2011 by Javier Bezos. +% All Rights Reserved. +% +% This file is part of the titlesec distribution release 2.10.0 +% ----------------------------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Javier Bezos. +% +% Notes +% ~~~~~ +% +% The following tags are used: +% ttl@ : the generic tag used through the style +% ttlh@ : a shape definition +% ttlf@ : a macro containing the title format +% ttls@ : id. the title space +% ttlp@ : page key related macros +% ttll@ : level number +% +% The ttlf@ and ttls@ contains data in the form {..}{..}. +% Perhaps in future releases they should be converted +% to a prop-like list, similar to that proposed by the +% latex team. +% +% Admittedly, the current implementation seems too +% complicated, but that's necessary in order to provide +% certain compatibility with the sections as defined by the +% used class. Other packages opt for providing the sections +% as defined by standard classes ignoring the class; for +% instance sectsty which does a simple task in a simple and +% nice way. However, that was not my goal. +% +% Release +% ~~~~~~~ + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{titlesec}[2011/12/15 v2.10.0 Sectioning titles] + +% Initialization +% ~~~~~~~~~~~~~~ + +\newif\ifttl@ps +\ttl@psfalse + +% The \ttl@label switch is used when printing the label in titles. +% A numberless variant makes it to true. +% There is a \ttl@toclabel as well, which is true iff the +% title is numbered; used in toc entries (except default part +% and chapter) and marks (only in titlesec pagestyles). + +\newif\ifttl@label +\newif\ifttl@toclabel + +\newbox\ttl@box + +% A provision for the report style: + +\@ifundefined{if@mainmatter} + {\let\if@mainmatter\iftrue}{} + +\@ifundefined{if@openright} + {\let\if@openright\iftrue}{} + +% and the ams styles as well + +\@ifundefined{@chapapp} + {\let\@chapapp\chaptername}{} + +\def\ttl@trylist{\ttl@try{}} + +\def\ttl@getkeys#1#2{% + \if\expandafter @\@gobble#1@\@empty + \edef\ttl@b{\expandafter\@gobble\string#1}% + \let\ttl@a\ttl@b + \else + \makeatletter + \edef\ttl@d{% + \noexpand\input{ttlkeys.def}% + \catcode`\noexpand\@=\the\catcode`\@}% + \ttl@d + \ttl@getkeys{#1}{#2}% + \fi} + +% A more meaningful error for \@notdefinable + +\expandafter\AtEndOfPackage\expandafter{\expandafter + \gdef\expandafter\@notdefinable\expandafter{\@notdefinable}} + +\def\@notdefinable{% + \PackageError{titlesec}% + {Incompatible package}% + {Titlesec cannot continue defining its own macros + because\MessageBreak + \@backslashchar\reserved@a\space is already used by other package, + the class\MessageBreak + or the document.}} + +% +-----------------+ +% | C L A S S E S | +% +-----------------+ + +\def\ttl@useclass#1#2{% + \@ifstar + {\ttl@labelfalse#1{#2}[]}% + {\ttl@labeltrue\@dblarg{#1{#2}}}} + +\def\ttl@straightclass{\ttl@useclass\ttl@straight@i} +\def\ttl@partclass{\ttl@useclass\ttl@part@i} +\def\ttl@topclass{\ttl@useclass\ttl@top@i} +\def\ttl@pageclass{\ttl@useclass\ttl@page@i} + +% Here \scantokens is used to make sure the unescaped name +% has `letters' and no `others'. Mainly for hyperref, so there +% should be no problems. + +\newcommand\titleclass[1]{% + \edef\ttl@a{\expandafter\@gobble\string#1}% + \ifx\scantokens\@undefined\else + \scantokens\expandafter{\expandafter + \def\expandafter\ttl@a\expandafter{\ttl@a}}% + \fi + \@ifnextchar[{\@tempswatrue\ttl@class@i{#1}}% + {\@tempswafalse\ttl@class@ii{#1}}} + +\def\ttl@class@i#1[#2]{% + \@namedef{ttll@\ttl@a}{#2}% + \expandafter\providecommand\csname\ttl@a title\endcsname{}%%%% + \@ifundefined{ttl@toplevel}{}% + {\expandafter\let\csname ttlss@\ttl@a\expandafter\endcsname + \csname ttlss@\ttl@toplevel\endcsname}% + \edef\ttl@toplevel{\ttl@a}% + \ttl@class@ii{#1}} + +\def\ttl@class@ii#1#2{% + \@ifundefined{ttl@#2class}% + {\PackageError{titlesec}{Unknown sectioning class}% + {Valid names are top, page and straight}}% + {\expandafter\let\csname ttl@compat\ttl@a\endcsname\relax + \@ifundefined{\ttl@a mark}% + {\@namedef{\ttl@a mark}{\@gobble}}% + {}% + \edef#1{% + \expandafter\noexpand\csname ttl@#2class\endcsname{\ttl@a}}}% + \if@tempswa + \expandafter\@gobble + \else + \expandafter\@firstofone + \fi + {\@ifnextchar[% + {\ttl@class@iii}% + {\@ifundefined{ttll@\ttl@a}% + {\PackageError{titlesec}{Unknown sectioning level}% + {\string\titleclass\space with no optional arguments\MessageBreak + only changes the class of an *existing* level}}}}} + +\def\ttl@class@iii[#1]{% + \edef\ttl@b{\expandafter\@gobble\string#1}% + \expandafter\let\csname ttlss@\ttl@a\expandafter\endcsname + \csname ttlss@\ttl@b\endcsname + \expandafter\edef\csname ttlss@\ttl@b\endcsname{\ttl@a}% + \let\ttl@a\ttl@toplevel + \count@\csname ttll@\ttl@toplevel\endcsname + \ttl@class@iv} + +\def\ttl@class@iv{% + \@ifundefined{ttlss@\ttl@a}{}% + {\advance\count@\@ne + \edef\ttl@a{\csname ttlss@\ttl@a\endcsname}% + \expandafter\edef\csname ttll@\ttl@a\endcsname{\the\count@}% + \ttl@class@iv}} + +% Typesetting Classes: General tools +% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +% The following command handles the *n spacing +% Some tricks are necessary to multiply a +% skip by a non integer number + +\newskip\beforetitleunit +\beforetitleunit=1ex\@plus.3ex\@minus.06ex +\newskip\aftertitleunit +\aftertitleunit=1ex\@plus.1ex + +\newdimen\ttl@plus +\newdimen\ttl@minus + +\def\ttl@assign#1{% + \@ifstar + {\ttl@assign@i{#1}}% + {\ttl@assign@d{#1}}} + +\def\ttl@assign@i#1#2\relax#3{% + \ttl@plus\z@ + \ttl@minus\z@ + \afterassignment\ttl@assign@ii + \dimen@\the#3, % <- space + #1 = #2\dimen@ + plus #2\ttl@plus + minus #2\ttl@minus} + +\def\ttl@assign@ii#1 {% <- space + \if#1,\else\afterassignment\ttl@assign@ii\fi + \csname ttl@\string#1\endcsname} + +\def\ttl@assign@d#1#2\relax#3{\setlength#1{#2}} + +% To be used with \v/vspace to make them calc-savvy + +\def\ttl@calc#1#2{% + {\setlength\@tempskipa{#2}% + #1\@tempskipa}} + +\def\ttl@calcneg#1#2{% + {\setlength\@tempskipa{#2}% + #1{-\@tempskipa}}} + +% Gets from ttls@ and passes the spacing parameters: + +\def\ttl@startargs#1#2{% Get the first arguments, with the spacing + \@ifundefined{ttlp@#2}% + {\let\ttl@key@page\@empty}% + {\ttlp@fetch{#2}}% + \begingroup + \def\ttl@b{ttls@#2}% + \edef\ttl@key@numberless{\ifttl@label//\else/*\fi}% + \def\ttl@a##1{\csname ttl@key@##1\endcsname}% Used as elt in try + \ttl@trylist + \xdef\ttl@b{\ttl@c}% + \endgroup + \ifx\ttl@b\@empty + \PackageError{titlesec}{Format/spacing not found}% + {I was unable to find the format corresponding to #2.\MessageBreak + Maybe you haven't set it with \string\titleformat\space and + \string\titlespacing} + \fi + \expandafter#1\ttl@b{#2}} + +% Used in ttl@select + +\def\ttl@savefn#1[#2]#3{% + \ifcase#1% + \footnotemark[#2]% + \gdef\ttl@fn{\footnotetext[#2]{#3}}% + \else + \footnotemark + \gdef\ttl@fn{\footnotetext{#3}}% + \fi} + +\def\ttl@nest@error{% + \PackageError{titlesec}{Nested titles}{Titles must not be nested}} + +\def\ttl@hmode@error{% + \PackageError{titlesec}{Entered in horizontal mode} + {The argument cannot contain horizontal material\MessageBreak + such as text, \string\noindent, \string\makebox, etc.}} + +% \ttl@select not only selects the right version to be +% used. It also take steps to ensure that a mark +% is not lost inside a box by saving it into \ttl@mk, +% which in turn is used by the sect and chap commands. + +\newif\ifttl@explicit + +\def\ttl@gmk#1{\gdef\ttl@mk{#1}} + +\def\ttl@select#1#2#3#4{% + \ttl@Hy@saveanchor + \global\let\ttl@mk\@empty % global because of rigidchapters + \global\let\ttl@fn\@empty + \begingroup + \everypar{\setbox\z@\lastbox\strut}% or \hskip-\parindent? + \let\ttl@straight@i\ttl@nest@error + \let\ttl@top@i \ttl@nest@error + \let\ttl@part@i \ttl@nest@error + \let\ttl@page@i \ttl@nest@error + \let\ttl@newpage\newpage + \def\newpage{\ttl@savewrite\ttl@newpage}% + \def\markboth##1##2{\protect\ttl@gmk{\protect\markboth{##1}{##2}}}% + \def\markright##1{\protect\ttl@gmk{\protect\markright{##1}}}% + \def\@mkboth##1##2{\protect\ttl@gmk{\protect\@mkboth{##1}{##2}}}% + \def\footnote{\@ifnextchar[% + {\ttl@savefn\z@}{\ttl@savefn\@ne[]}}% + \edef\ttl@key@numberless{\ifttl@label//\else/*\fi}% + \def\ttl@b{ttlf@#1}% + \def\ttl@a##1{\csname ttl@key@##1\endcsname}% Used as elt in try + \ttl@trylist + \ifttl@explicit + \def\ttl@passexplicit{\ttl@case{#4}}% + \ttl@c{#4}{#2}{#3}{}% ttl@c is returned by ttl@try with ttlf@... + \else + \let\ttl@passexplicit\ttl@case + \ttl@c{#2}{#3}{#4}% ttl@c is returned by ttl@try with ttlf@... + \fi + \endgroup} + +\let\ttl@savewrite\@empty + +\def\ttl@finmarks{% + \ttl@savewrite + \ttl@mk % Contains a possible mark, returned by \ttl@select + \ttl@fn} % And a footnote + +\def\ttl@try#1{% + \edef\ttl@c{#1}% #1 is a list in the form \ttl@a{key}\ttl@a{key} + \@ifundefined{\ttl@b\ttl@c}{}{% + \edef\ttl@c{\expandafter\noexpand\csname\ttl@b\ttl@c\endcsname}% + \def\ttl@a##1{\csname ttl@extra@##1\endcsname}% + #1% + \let\ttl@try\@gobble}} % locally modified to `break' testings + +% \ttl@write writes marks and toc. tocdepth is taken +% care of when the toc is typesetted and not here. +% Used always through ttl@savewrite + +\def\ttl@write#1#2{% + \ttl@blinemarks + \csname#1mark\endcsname{#2}% + \def\ttl@a{\protect\numberline{\@nameuse{the#1}}}% + \@nameuse{ttl@toc#1}% eg, \ttl@tocpart modifies \ttl@a + \ttl@addcontentsline{#1}{#2}% Depends on toctitles + \ttl@elinemarks + \global\ttl@toclabelfalse} + +\newif\ifttl@premark % to be used in ttlps.def +\ttl@premarkfalse + +\def\ttl@premark#1#2{% + \protected@xdef\ttl@prevmarks{\ttl@marks}% + \ttl@blinemarks + \csname#1mark\endcsname{#2}% + \ttl@elinemarks + \gdef\ttl@prevmarks{\ttl@marks}} + +% Must be preceded by a default \ttl@savewrite, which is used +% in starred variants--\@empty in top and straight classes. +% In straight class, it is preceded by the setting of +% prev marks to provide a "fixed" top mark. Otherwise, +% the default prev mark (= curr mark) is used (restored +% after ttl@labelling in straight). This is the command +% to be hacked if you want to change the behaviour of +% starred variants. + +\def\ttl@labelling#1#2{% + \let\ttl@Hy@saveanchor\@empty + \ifttl@label % First: if star + \def\ttl@savewrite{\ttl@write{#1}{#2}}% + \@nameuse{ttl@#1label}% eg, sets if mainmatter in chapter. + \ifttl@label % Second, eg, if not main matter + \ifnum\@nameuse{ttll@#1}>\c@secnumdepth\relax + \ttl@labelfalse % Third: if too deep + \else + \ttl@Hy@refstepcounter{#1}% + \@nameuse{ttl@#1out}% + \fi + \fi + \fi + \let\ifttl@toclabel\ifttl@label + \ifx\ttl@savewrite\@empty\else % If marks + \ifttl@ps + \ifttl@premark + \global\ttl@premarkfalse + \else % if no \pretitlemark + \ttl@premark{#1}{#2}% + \fi + \fi + \ifttl@label\else\ttl@Hy@steplink{#1}\fi + \fi} + +% Executed by ttl@labelling if the name of section is chapter: + +\def\ttl@chapterlabel{\if@mainmatter\else\ttl@labelfalse\fi} + +% Executed by ttl@labelling if chapter has a number. Note +% you can define messages for other sectioning levels (eg, +% \ttl@sectionout). + +\def\ttl@chapterout{\typeout{\chaptertitlename\space\thechapter.}} + +% Straight class +% ~~~~~~~~~~~~~ +% Default for nobottomtitles. Changed by nobottomtitles* + +\def\ttl@addstretch{\advance\@tempskipa-\pagestretch} + +% 1:name 2:level 3:indent 4:before 5:after 6:afind [7]:cap 8:title +% The second argument of ttl@sect is the level, which +% is empty if the star version is used. In this case +% neither the toc nor the marks are written. + +\def\ttl@straight@i#1[#2]#3{% + \def\@currentlabelname{#2}% for nameref + \gdef\ttl@savemark{\csname#1mark\endcsname{#3}}% + \let\ttl@savewrite\@empty + \def\ttl@savetitle{#3}% + \gdef\thetitle{\csname the#1\endcsname}% + \if@noskipsec \leavevmode \fi + \par + \ttl@labelling{#1}{#2}% + \ttl@startargs\ttl@straight@ii{#1}{#3}} + +% 1:left 2:right 3:before 4:after 5:afterindent 6:name 7:title + +\def\ttl@straight@ii#1#2#3#4#5#6#7{% + \ttl@assign\@tempskipa#3\relax\beforetitleunit + \@ifundefined{ttl@ps@#6}{}% + {\PackageWarning{titlesec}{Page style in straight class ignored}}% + \if@nobreak + \ttl@titlespace{\@tempskipa}% + \else + \@ifundefined{#6break}% + {\addpenalty{\@secpenalty}}% + {\csname#6break\endcsname}% + \addvspace{\@tempskipa}% + \ifdim\bottomtitlespace<\z@ + \else + \begingroup + \@tempskipb\pagegoal + \@tempskipa\pagegoal + \ttl@addstretch % \relax if nobottomtitle* + \advance\@tempskipa-\bottomtitlespace\relax % not a register + \pagegoal\@tempskipa + \def\@textbottom{\vskip\z@\@plus.0001fil}% + \penalty9999 + \pagegoal\@tempskipb + \endgroup + \fi + \fi + \@afterindenttrue + \ifcase#5 \@afterindentfalse\fi + \ttl@assign\@tempskipb#4\relax\aftertitleunit + \ttl@select{#6}{#1}{#2}{#7}% + \ttl@finmarks + \@ifundefined{ttlp@#6}{}{\ttlp@write{#6}}% + \if@noskipsec + \global\@nobreakfalse + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + \clubpenalty\@M + \hskip-\parindent + \begingroup + \@svsechd\unskip{\hspace{\@tempskipb}}% + \endgroup + \else + \clubpenalty\@clubpenalty\everypar{}% + \fi}% + \else + \par\nobreak + \vspace{\@tempskipb}% + \@afterheading + \fi + \ignorespaces} + +% Part class +% ~~~~~~~~~~ + +\providecommand\partmark[1]{\markboth{}{}} + +\def\ttl@part@i#1[#2]#3{% + \gdef\ttl@savemark{\csname#1mark\endcsname{#3}}% + \def\ttl@savewrite{\ttl@write{#1}{#3}}% A default value. Not #2! + \def\ttl@savetitle{#3}% + \ttl@labelling{#1}{#2}% + \ttl@startargs\ttl@part@ii{#1}{#3}} + +\def\ttl@part@ii#1#2#3#4#5#6#7{% + \ttl@assign\@tempskipa#3\relax\beforetitleunit + \vspace*{\@tempskipa}% + \@ifundefined{ttl@ps@#6}{}% + {\PackageWarning{titlesec}{Page style in part class ignored}}% + \global\@afterindenttrue + \ifcase#5 \global\@afterindentfalse \fi + \ttl@assign\@tempskipb#4\relax\aftertitleunit + \ttl@select{#6}{#1}{#2}{#7}% + \ttl@finmarks + \@ifundefined{ttlp@#6}{}{\ttlp@write{#6}}% + \par\nobreak + \vspace{\@tempskipb}% + \@afterheading} + +% Page class +% ~~~~~~~~~~ + +\def\ttl@page@i#1[#2]#3{% + \gdef\ttl@savemark{\csname#1mark\endcsname{#3}}% + \def\ttl@savewrite{\ttl@write{#1}{#3}}% A default value. Not #2! + \def\ttl@savetitle{#3}% + \ttl@labelling{#1}{#2}% + \ttl@startargs\ttl@page@ii{#1}{#3}} + +\def\ttl@page@ii#1#2#3#4#5#6#7{% + \ttl@assign\@tempskipa#3\relax\beforetitleunit + \if@openright + \cleardoublepage + \else + \clearpage + \fi + \@ifundefined{ttl@ps@#6}% + {\thispagestyle{plain}}% + {\thispagestyle{\@nameuse{ttl@ps@#6}}}% + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \vspace*{\@tempskipa}% + \@afterindenttrue + \ifcase#5 \@afterindentfalse\fi + \ttl@assign\@tempskipb#4\relax\aftertitleunit + \ttl@select{#6}{#1}{#2}{#7}% + \ttl@finmarks + \@ifundefined{ttlp@#6}{}{\ttlp@write{#6}}% + \vspace{\@tempskipb}% + \newpage + \if@twoside + \if@openright + \null + \@ifundefined{ttl@ps@#6}% + {\thispagestyle{empty}}% + {\thispagestyle{\@nameuse{ttl@ps@#6}}}% + \newpage + \fi + \fi + \if@tempswa + \twocolumn + \fi + \ignorespaces} + +% Top class and some makechapterhead stuff +% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +% +% \ttl@mkchap is the new make(s)chapterhead. + +\def\ttl@mkchap#1#2#3#4#5#6#7{% + \gdef\ttl@savemark{\csname#6mark\endcsname{#7}}% + \let\ttl@savewrite\@empty + \let\ttl@Hy@saveanchor\@empty + \@ifundefined{ttl@ps@#6}{}% + {\thispagestyle{\@nameuse{ttl@ps@#6}}}% + \let\ifttl@toclabel\ifttl@label + \ttl@mkchap@i{#1}{#2}{#3}{#4}{#5}{#6}{#7}} + +% But \ttl@mkchap@i is used by both makechapterhead and +% the top class. + +\def\ttl@mkchap@i#1#2#3#4#5#6#7{% + \ttl@assign\@tempskipa#3\relax\beforetitleunit + \vspace*{\@tempskipa}% + \global\@afterindenttrue + \ifcase#5 \global\@afterindentfalse\fi + \ttl@assign\@tempskipb#4\relax\aftertitleunit + \ttl@topmode{\@tempskipb}{% + \ttl@select{#6}{#1}{#2}{#7}}% + \ttl@finmarks % Outside the box! + \@ifundefined{ttlp@#6}{}{\ttlp@write{#6}}} + +\def\ttl@top@i#1[#2]#3{% + \gdef\ttl@savemark{\csname#1mark\endcsname{#3}}% + \let\ttl@savewrite\@empty + \def\ttl@savetitle{#3}% + \ttl@labelling{#1}{#2}% + \ttl@startargs\ttl@top@ii{#1}{#3}} + +\def\ttl@top@ii#1#2#3#4#5#6#7{% + \@ifundefined{#6break}% + {\if@openright + \cleardoublepage + \else + \clearpage + \fi}% + {\csname#6break\endcsname}% + \@ifundefined{ttl@ps@#6}% + {\thispagestyle{plain}}% + {\thispagestyle{\@nameuse{ttl@ps@#6}}}% + \global\@topnum\z@ + \@ifundefined{#6tolists}% + {\addtocontents{lof}{\protect\ttl@tocsep}% + \addtocontents{lot}{\protect\ttl@tocsep}} + {\@nameuse{#6tolists}}% + \if@twocolumn + \@topnewpage[\ttl@mkchap@i{#1}{#2}{#3}{#4}{#5}{#6}{#7}]% + \else + \ttl@mkchap@i{#1}{#2}{#3}{#4}{#5}{#6}{#7}% + \@afterheading + \fi + \ignorespaces} + + +% \def\ttl@noskipsectrue{% +% \if@noskipsec +% \PackageError{titlesec}{Invalid shape for top class}% +% {The selected shape only makes sense when merged into\MessageBreak +% a paragraph. That is impossible in the top class}% +% \else + +\newcommand\chaptertitlename{\@chapapp} +\def\ttl@tocsep{\addvspace{10\p@}} + +% +-----------------+ +% | S H A P E S | +% +-----------------+ +% +% % Reformatting Titles: Interface +% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +% The surrounding space is stored in a macro +% named \ttls@

whose content is +% {left}{right}{before}{after}{afterindent}. +% But if there is the page key, the name is +% \ttls@
/ + +\newcommand\titlespacing{% + \@ifstar{\ttl@spacing@i{\z@}}{\ttl@spacing@i{\@ne}}} + +\def\ttl@spacing@i#1#2#3#4#5{% + \ttl@getkeys{#2}{titlesec}% + \@ifnextchar[{% + \ttl@spacing@ii{#1}{#3}{#4}{#5}% + }{% + \ttl@spacing@ii{#1}{#3}{#4}{#5}[\z@]}} + +\def\ttl@spacing@ii#1#2#3#4[#5]{% + \expandafter\def\csname ttls@\ttl@a\endcsname + {{#2}{#5}{#3}{#4}{#1}}} + +% The section name is built in \ttl@a. +% The format is stored in a macro named \ttlf@
, +% or \ttlf@
/ if there is the page spec, +% or \ttlf@.../* if numberless is true +% whose content is +% \ttl@{format}{label}{sep}{before}{after} + +\newtoks\ttl@toksa + +\newcommand\titleformat{% + \@ifstar{\ttl@format@s}% + {\ttl@format@i}} + +\def\ttl@format@s#1#2{% + \edef\ttl@a{\expandafter\@gobble\string#1}% + \@ifundefined{ttlf@\ttl@a}% + {\PackageError{titlesec}{Not allowed in `easy' settings} + {The sectiong command you are trying to redefine\MessageBreak + is not handled by the starred variant (eg, \string\part)}}{} + \expandafter\expandafter\expandafter + \ttl@format@si\csname ttlf@\ttl@a \endcsname + {#2}} + +\def\ttl@format@si#1#2#3#4#5#6#7{% + \@namedef{ttlf@\ttl@a}{#1{#7}{#3}{#4}{#5}{#6}}} + +\def\ttl@format@i#1{% + \@ifnextchar[{\ttl@format@ii{#1}}{\ttl@format@ii{#1}[hang]}} + +\def\ttl@format@ii#1[#2]#3#4#5#6{% + \ttl@getkeys{#1}{titlesec}% + \ttl@toksa{{#3}{#4}{#5}{#6}}% Save arguments + \@ifnextchar[{% + \ttl@format@iii{#2}% + }{% + \ttl@format@iii{#2}[]}} + +% First, we get the shape -- if not defined it loads +% the corresponding file. + +\def\ttl@format@iii#1[#2]{% + \@ifundefined{ttlh@#1}{% + \begingroup + \makeatletter + \InputIfFileExists{#1.tss}{}{% + \PackageError{titlesec}{Unknown shape}% + {Shapes are defined in files with extension tss\MessageBreak + Either you have misspelled the shape\MessageBreak + or there is no a #1.tss file}}% + \endgroup}{}% + \@temptokena{#2}% + \ifttl@explicit + \edef\ttl@b{% + \def\expandafter\noexpand\csname ttlf@\ttl@a\endcsname####1% + {\expandafter\noexpand\csname ttlh@#1\endcsname + \the\ttl@toksa{\the\@temptokena}}}% + \else + \edef\ttl@b{% + \def\expandafter\noexpand\csname ttlf@\ttl@a\endcsname + {\expandafter\noexpand\csname ttlh@#1\endcsname + \the\ttl@toksa{\the\@temptokena}}}% + \fi + \ttl@b + \csname ttl@compat\ttl@a\endcsname} + +% Styles +% ~~~~~~ + +% 1:global 2:label 3:sep 4:style 5:after 6:left 7:right 8:title +% \ttl@ and \ttlh@ take the following eight +% arguments: +% {format}{label}{sep}{before}{after}{left}{right}{title} +% where before and after refer to the format. +% With the option explicit, #4 contains the title and #8 is +% empty. + +\def\ttlh@display#1#2#3#4#5#6#7#8{% + \gdef\ttl@makeline##1{\ttl@calc\hspace{#6}##1\ttl@calc\hspace{#7}}% + \setlength\leftskip{#6}% + \setlength\rightskip{#7}% + \interlinepenalty\@M + \ttl@changecentercr + \ttl@beginlongest + #1\ifhmode\ttl@hmode@error\fi + \ttl@glcmds + \parindent\z@ + \ifttl@label + {#2\strut\@@par}\nobreak\ttl@calc\vspace{#3}% + \fi + #4{#8}% + \kern\z@\strut\@@par + \nobreak\ttl@midlongest#5\@@par + \ttl@endlongest} + +\def\ttlh@hang#1#2#3#4#5#6#7#8{% + \gdef\ttl@makeline##1{\ttl@calc\hspace{#6}##1\ttl@calc\hspace{#7}}% + \setlength\leftskip{#6}% + \setlength\rightskip{#7}% + \interlinepenalty\@M + \ttl@changecentercr + \ttl@beginlongest + #1{\ifhmode\ttl@hmode@error\fi + \ttl@glcmds + \parindent\z@ + \leavevmode + \begingroup + \ifttl@label + \sbox\z@{#2\strut\ttl@calc\hspace{#3}}% + \advance\leftskip\wd\z@ + \llap{\box\z@}% + \fi + #4{#8}% + \kern\z@\strut\@@par + \endgroup + \nobreak\ttl@midlongest#5\@@par}% + \ttl@endlongest} + +\def\ttlh@runin#1#2#3#4#5#6#7#8{% + \global\@noskipsectrue + \gdef\ttl@makeline##1{##1}% + \ttl@changecentercr + #1{\ifhmode\ttl@hmode@error\fi + \global\sbox\ttl@box{% + \ttl@calc\hspace{#6}% + \ifttl@label{\strut#2}\ttl@calc\hspace{#3}\fi + #4{#8}#5\unskip}}% + \gdef\@svsechd{\unhbox\ttl@box}} + +% +-----------------+ +% | T O O L S | +% +-----------------+ +% +% calcwidth +% ~~~~~~~~~ +% Implemented after code from soul (but much modified...) + +\newdimen\titlewidth +\newdimen\titlewidthlast +\newdimen\titlewidthfirst + +\let\ttl@glcmds\relax +\let\ttl@beginlongest\@empty +\let\ttl@midlongest\@empty +\let\ttl@endlongest\@empty +\let\iftitlemeasuring\@secondoftwo + +\def\ttl@xbeginlongest#1\ttl@endlongest{% + \titlewidth\z@ + \titlewidthlast\z@ + \let\iftitlemeasuring\@firstoftwo + \setbox\ttl@box\vbox{% + \def\ttl@glcmds{% + \def\\{\@ifstar{\@ifnextchar[{\ttl@bs}{\newline}}% + {\@ifnextchar[{\ttl@bs}{\newline}}}% + \def\ttl@bs[####1]{\newline}% + \let\@centercr\\% + \def\ttl@midlongest####1\@@par{}% Very dirty... + \advance\rightskip 1\leftskip plus 1fil + \leftskip=\z@}% + #1}% + \let\iftitlemeasuring\@secondoftwo + \ttl@boxprocess + #1} + +\def\ttl@boxprocess{% + \setbox\ttl@box=\vbox{% + \unvcopy\ttl@box + \unskip\unpenalty + \global\setbox\@ne=\lastbox}% + \ifvoid\@ne + \else + \setbox\tw@=\hbox{\hskip-\leftskip\unhbox\@ne\hskip-\rightskip}% + \titlewidthfirst\wd\tw@ + \ifdim\titlewidth<\titlewidthfirst + \titlewidth\titlewidthfirst + \fi + \ifdim\titlewidthlast=\z@ + \titlewidthlast\titlewidthfirst + \fi + \expandafter\ttl@boxprocess + \fi} + +% Rules +% ~~~~~ + +\providecommand\titleline{% + \@ifstar{\ttl@line@i{\hb@xt@\titlewidth}}% + {\ttl@line@i{}}} + +\def\ttl@line@i#1{% + \@ifnextchar[{\ttl@line{#1}}{\ttl@line{#1}[s]}} + +\def\ttl@line#1[#2]#3{% + \vskip\topskip + \hrule \@height \z@ + \nobreak + \vskip-\topskip + \begingroup + \parindent\z@ + \everypar{}% + \leftskip\z@ + \rightskip\z@ % #1 is either \hb@xt@\titlewidth or empty: + \@makebox[\hsize][#2]{\ttl@makeline{#1{#3}}}% + \par + \endgroup + \hrule height \z@ + \nobreak} + +\providecommand\titlerule{\@ifstar{\ttl@row}{\ttl@rule}} + +\let\ttl@leaders\xleaders % For titletoc compatibility + +\def\ttl@row{\@ifnextchar[{\ttl@row@i}{\ttl@row@i[\wd\z@]}} +\def\ttl@row@i[#1]#2{% + \ifvmode\expandafter\titleline\fi + {\sbox\z@{#2}% + \ttl@calcneg\hspace{#1}% + \hskip\wd\z@ + \ttl@leaders\hb@xt@#1{\hss\box\z@}% + \hfill\kern\z@}} + +\def\ttl@rule{\@ifnextchar[{\ttl@rule@i}{\ttl@rule@i[.4\p@]}} +\def\ttl@rule@i[#1]{% + \ifvmode\expandafter\titleline\fi + {\leaders\hrule height #1\hfill\kern\z@}} + +% Par shapes and space +% ~~~~~~~~~~~~~~~~~~~~ + +\providecommand\filright{% + \gdef\ttl@filleft##1{\hskip##1}% + \gdef\ttl@filright##1{\hfill}% + \let\\\@centercr + \advance\rightskip\z@ \@plus 1fil\relax} +\providecommand\filleft{% + \gdef\ttl@filleft##1{\hfill}% + \gdef\ttl@filright##1{\hskip##1}% + \let\\\@centercr + \advance\leftskip\z@ \@plus 1fil + \parfillskip\z@} +\providecommand\filcenter{\filleft\filright + \gdef\ttl@filleft##1{\hfill}} +\providecommand\fillast{% + \gdef\ttl@filleft##1{\hfill}% + \gdef\ttl@filright##1{\hfill}% + \let\\\@centercr + \filleft\advance\rightskip\z@ \@plus -1fil + \parfillskip\z@ \@plus 2fil\relax} +\newcommand\filinner{% + \if@twoside + \ifodd\count\z@\filleft\else\filright\fi + \else + \filleft + \fi} +\newcommand\filouter{% + \if@twoside + \ifodd\count\z@\filright\else\filleft\fi + \else + \filright + \fi} + +\newcommand\wordsep{\fontdimen\tw@\font \@plus + \fontdimen\thr@@\font \@minus \fontdimen4\font} + +% +-----------------+ +% | O P T I O N S | +% +-----------------+ + + +\DeclareOption{pagestyles}{\let\sectiontitle\@empty} +\DeclareOption{extramarks}{\let\ttl@fetchmark\@empty} +\DeclareOption{floatps}{% + \ifx\sectiontitle\@empty + \let\ttl@replace\space + \else + \PackageWarning{titlesec}{Ignoring `floatps' without + `pagestyles'. This option is now deprecated.}% + \fi} +\DeclareOption{psfloats}{% + \ifx\sectiontitle\@empty + \let\ttl@replace\@empty + \else + \PackageWarning{titlesec}{Ignoring `psfloats' without + `pagestyles'}% + \fi} + +\DeclareOption{loadonly}{\let\ttl@extract\@empty} + +\DeclareOption{outermarks}{% + \def\ttl@titlemarks{\outertitlemarks}} +\DeclareOption{topmarks}{ + \def\ttl@titlemarks{\toptitlemarks}} +\DeclareOption{botmarks}{% + \def\ttl@titlemarks{\bottitlemarks}} +\DeclareOption{innermarks}{% + \def\ttl@titlemarks{\innertitlemarks}} + +\DeclareOption{footmarks}{} % Backward compat + +\DeclareOption{explicit}{\ttl@explicittrue} + +\DeclareOption{clearempty}{% + \def\cleardoublepage{% + \clearpage{\ps@empty\if@twoside\ifodd\c@page\else + \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}}} + +\DeclareOption{rigidchapters}{% + \def\ttl@topmode#1#2{\vbox to #1{#2\vfil}}% + \def\ttl@chapafter{.26\textheight}} +\DeclareOption{rubberchapters}{% + \def\ttl@topmode#1#2{{#2}\ttl@calc\vspace{#1}}% + \def\ttl@chapafter{40\p@}} + +\DeclareOption{bottomtitles}{% + \def\bottomtitlespace{-1\p@}} +\DeclareOption{nobottomtitles}{% + \def\bottomtitlespace{.2\textheight}} +\DeclareOption{nobottomtitles*}{% + \let\ttl@addstretch\relax + \def\bottomtitlespace{.2\textheight}} + +\DeclareOption{calcwidth}{% + \let\ttl@beginlongest\ttl@xbeginlongest} + +\DeclareOption{aftersep}{% + \let\ttl@titlespace\@gobble} +\DeclareOption{largestsep}{% + \let\ttl@titlespace\addvspace} + +\DeclareOption{oldparttoc}{% + \def\ttl@tocpart{\def\ttl@a{\thepart\hspace{1em}}}} +\DeclareOption{newparttoc}{% + \let\ttl@tocpart\relax} + +\DeclareOption{rm}{% + \protected@xdef\ttl@fonts{\ttl@fonts\protect\rmfamily}} +\DeclareOption{sf}{% + \protected@xdef\ttl@fonts{\ttl@fonts\protect\sffamily}} +\DeclareOption{tt}{% + \protected@xdef\ttl@fonts{\ttl@fonts\protect\ttfamily}} +\DeclareOption{md}{% + \protected@xdef\ttl@fonts{\ttl@fonts\protect\mdseries}} +\DeclareOption{bf}{% + \protected@xdef\ttl@fonts{\ttl@fonts\protect\bfseries}} +\DeclareOption{up}{% + \protected@xdef\ttl@fonts{\ttl@fonts\protect\upshape}} +\DeclareOption{it}{% + \protected@xdef\ttl@fonts{\ttl@fonts\protect\itshape}} +\DeclareOption{sl}{% + \protected@xdef\ttl@fonts{\ttl@fonts\protect\slshape}} +\DeclareOption{sc}{% + \protected@xdef\ttl@fonts{\ttl@fonts\protect\scshape}} + +\DeclareOption{big}{% + \gdef\ttl@sizes#1{\ifcase#1\relax\Huge\or\Large\or\large + \or\normalsize\or\or\or\huge\fi}} +\DeclareOption{medium}{% + \gdef\ttl@sizes#1{\ifcase#1\relax\huge\or\Large\or\large + \or\normalsize\or\or\or\LARGE\fi}} +\DeclareOption{small}{% + \gdef\ttl@sizes#1{\ifcase#1\relax\LARGE\or\large + \or\normalsize\or\normalsize\or\or\or\Large\fi}} +\DeclareOption{tiny}{% + \gdef\ttl@sizes#1{\ifcase#1\relax\large\or\normalsize\or + \normalsize\or\normalsize\or\or\or\normalsize\fi}} + +\DeclareOption{raggedleft}{% + \gdef\ttl@fil{\filleft}} +\DeclareOption{center}{% + \gdef\ttl@fil{\filcenter}} +\DeclareOption{raggedright}{% + \gdef\ttl@fil{\filright}} + +\DeclareOption{uppercase}{% + \gdef\ttl@case{\MakeUppercase}} + +\DeclareOption{compact}{% + \gdef\ttl@space{1}% + \gdef\ttl@chapafter{30\p@}} + +% Deprecated. To be remmoved in a major upgrade (3.0) +\DeclareOption{indentfirst}{% + \gdef\@afterindentfalse{\let\if@afterindent\iftrue}% + \@afterindenttrue + \def\titlespacing{% + \@ifstar{\ttl@spacing@i{\@ne}}{\ttl@spacing@i{\@ne}}}} +\DeclareOption{nonindentfirst}{% + \def\titlespacing{% + \@ifstar{\ttl@spacing@i{\z@}}{\ttl@spacing@i{\z@}}}} + +% New names +\DeclareOption{indentafter}{% + \gdef\@afterindentfalse{\let\if@afterindent\iftrue}% + \@afterindenttrue + \def\titlespacing{% + \@ifstar{\ttl@spacing@i{\@ne}}{\ttl@spacing@i{\@ne}}}} +\DeclareOption{noindentafter}{% + \def\titlespacing{% + \@ifstar{\ttl@spacing@i{\z@}}{\ttl@spacing@i{\z@}}}} + +% newlinetospace +\let\ttl@blinemarks\relax +\let\ttl@elinemarks\relax + +\DeclareRobustCommand\ttl@linetosp{% + \@ifstar{\ttl@linetosp@i}{\ttl@linetosp@i}}% + +\def\ttl@linetosp@i{% + \ifdim\lastskip>\z@\else\space\fi + \ignorespaces} + +\DeclareOption{newlinetospace}{% + \def\ttl@blinemarks{% + \let\ttl@e\\% + \def\\{\ttl@linetosp}}% + \def\ttl@elinemarks{\let\\\ttl@e}}% + +% toctitles +\def\ttl@addcontentsline#1#2{% + \addcontentsline{toc}{#1}{\ifttl@toclabel\ttl@a\fi#2}% + \nobreak} + +\DeclareOption{toctitles}{% + \def\ttl@addcontentsline#1#2{% + \addcontentsline{toc}{#1}{\ifttl@toclabel\ttl@a\fi\ttl@savetitle}% + \nobreak}} + +% pageatnewline + +\def\ttl@changecentercr{% + \let\ttl@centercr\@centercr + \def\@centercr{\@ifstar{\ttl@centercr*}{\ttl@centercr*}}} + +\DeclareOption{pageatnewline}{\let\ttl@changecentercr\relax} + +\def\ttl@fonts{} + +\ExecuteOptions{rubberchapters,bottomtitles,aftersep,oldparttoc,% + innermarks} + +\ProcessOptions + +% +-----------------+ +% | H Y P E R R E F | +% +-----------------+ +% +% These two commands are provided by hyperref. But if they +% are not defined at \begin{document} hyperref has not been +% loaded or it is an old version. + +\AtBeginDocument{% + \ifx\ttl@Hy@steplink\@undefined + \let\ttl@Hy@steplink\@gobble + \let\ttl@Hy@refstepcounter\refstepcounter + \fi} + +% +-----------------+ +% | PAGE STYLES | +% +-----------------+ +% +% This is generic: + +\newcommand\assignpagestyle[2]{% + \@namedef{ttl@ps@\expandafter\@gobble\string#1}{#2}} + +% Old pagestyles +% ~~~~~~~~~~~~~~ + +\providecommand\newpagestyle{% + \let\ttl@compatps\@empty % marks the ``old interface'' + \makeatletter + \edef\ttl@d{% + \noexpand\input{ttlps.def}% + \catcode`\noexpand\@=\the\catcode`\@}% + \ttl@d + \newpagestyle} + +\providecommand\renewpagestyle{% + \let\ttl@compatps\@empty % marks the ``old interface'' + \makeatletter + \edef\ttl@d{% + \noexpand\input{ttlps.def}% + \catcode`\noexpand\@=\the\catcode`\@}% + \ttl@d + \renewpagestyle} + +\providecommand\widenhead{% + \let\ttl@compatps\@empty % marks the ``old interface'' + \makeatletter + \edef\ttl@d{% + \noexpand\input{ttlps.def}% + \catcode`\noexpand\@=\the\catcode`\@}% + \ttl@d + \widenhead} + +% New pagestyles +% ~~~~~~~~~~~~~~ + +\@ifundefined{sectiontitle}{}{\input{ttlps.def}} + +% +-----------------+ +% | C O M P A T | +% +-----------------+ +% Easy setup, i.e., that of package options, is +% taken care of, if necessary. + +\renewcommand\secdef[2]{% + \@ifstar + {\ttl@labelfalse + #2} + {\ttl@labeltrue + \ifx#1\@chapter + \if@mainmatter\else\ttl@labelfalse\fi + \ifnum\ttll@chapter>\c@secnumdepth\ttl@labelfalse\fi + \else\ifx#1\@part + \ifnum\ttll@part>\c@secnumdepth\ttl@labelfalse\fi + \fi\fi + \let\ifttl@toclabel\ifttl@label + \@dblarg{#1}}} + +\@ifundefined{ttl@extract}{}{\endinput} + +\newcommand\titlelabel[1]{% + \def\@seccntformat##1{#1}} + +\expandafter\ifx\csname chapter\endcsname\relax + + \def\ttl@compatpart{\titleclass{\part}{part}\relax} + +\else + + \def\ttl@compatchapter{% + \def\@makechapterhead{% + \ttl@labeltrue + \if@mainmatter\else\ttl@labelfalse\fi + \ifnum\ttll@chapter>\c@secnumdepth\ttl@labelfalse\fi + \ttl@startargs\ttl@mkchap{chapter}}% + \def\@makeschapterhead{% + \ttl@labelfalse + \if@mainmatter\else\ttl@labelfalse\fi + \ifnum\ttll@chapter>\c@secnumdepth\ttl@labelfalse\fi + \ttl@startargs\ttl@mkchap{chapter}}} + + \def\ttl@compatpart{\titleclass{\part}{page}\relax} + +\fi + +\def\ttl@@extract#1\@startsection#2#3#4#5#6#7#8{% + \@tempskipa=#5 + \@tempskipb=#6 + \ifdim\@tempskipa<\z@ + \toks@{\titlespacing*#8{#4}}% + \@tempskipa-\@tempskipa + \else + \toks@{\titlespacing#8{#4}}% + \fi + \@ifundefined{ttl@space}{}{% + \ttl@assign\@tempskipa*\ttl@space\relax\beforetitleunit}% + \ifdim\@tempskipb<\z@ + \if@tempswa + \titleformat#8[runin]% + {\ttl@fonts\ttl@sizes{#3}}{\@seccntformat{#2}}% + {\z@}\ttl@passexplicit + \else + \titleformat#8[runin]% + {#7}{\@seccntformat{#2}}% + {\z@}\ttl@passexplicit + \fi + \@tempskipb-\@tempskipb + \else + \if@tempswa + \titleformat#8% + {\ttl@fil\ttl@fonts\ttl@sizes{#3}}{\@seccntformat{#2}}% + {\z@}\ttl@passexplicit + \else + \titleformat#8% + {#7}{\@seccntformat{#2}}% + {\z@}\ttl@passexplicit + \fi + \@ifundefined{ttl@space}{}{% + \ttl@assign\@tempskipb*\ttl@space\relax\aftertitleunit}% + \fi + \edef\ttl@a{\the\toks@{\the\@tempskipa}{\the\@tempskipb}} + \ttl@a} + +\def\ttl@extract#1{% + \expandafter\in@\expandafter\@startsection\expandafter{#1}% + \ifin@ + \expandafter\ttl@@extract#1#1% + \else + \PackageWarningNoLine{titlesec}% + {Non standard sectioning command detected\MessageBreak + Using default spacing and no format} + \titlespacing*#1{\z@}{*3}{*2}% + \fi} + +\@tempswafalse + +\ifx\ttl@fonts\@empty + \def\ttl@fonts{\bfseries} +\else + \@tempswatrue +\fi + +\expandafter\ifx\csname ttl@sizes\endcsname\relax + \gdef\ttl@sizes#1{\ifcase#1\relax\Huge\or\Large\or\large + \or\normalsize\or\or\or\huge\fi} +\else + \@tempswatrue +\fi + +\expandafter\ifx\csname ttl@fil\endcsname\relax + \let\ttl@fil\@empty +\else + \@tempswatrue +\fi + +\expandafter\ifx\csname ttl@case\endcsname\relax + \let\ttl@case\@firstofone +\else + \@tempswatrue +\fi + +\if@tempswa + + \expandafter\ifx\csname chapter\endcsname\relax\else + \titleformat\chapter[display]% + {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6} + {\@chapapp\space\thechapter}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit} + \fi + +\fi + +\ttl@extract\section +\ttl@extract\subsection +\ttl@extract\subsubsection +\ttl@extract\paragraph +\ttl@extract\subparagraph + +\let\ttl@extract\@undefined +\let\ttl@@extract\@undefined + +\def\ttl@toplevel{part} + +\expandafter\ifx\csname chapter\endcsname\relax + + \@namedef{ttll@part}{0} + \titleclass{\section}{straight}[\part] + + \titlespacing*{\part} + {\z@} + {4ex} + {3ex} + +\else + + \let\ttl@save@mkchap\@makechapterhead + \let\ttl@save@mkschap\@makeschapterhead + + \def\@makechapterhead#1{% + \gdef\ttl@savemark{\chaptermark{#1}}% + \ttl@save@mkchap{#1}% + \@ifundefined{ttl@ps@chapter}{}% + {\thispagestyle{\@nameuse{ttl@ps@chapter}}}} + + \def\@makeschapterhead#1{% + \gdef\ttl@savemark{\chaptermark{#1}}% + \ttl@save@mkschap{#1}% + \@ifundefined{ttl@ps@chapter}{}% + {\thispagestyle{\@nameuse{ttl@ps@chapter}}}} + + \@namedef{ttll@part}{-1} + \@namedef{ttlss@part}{chapter} + \@namedef{ttll@chapter}{0} + \titleclass{\section}{straight}[\chapter] + +% The following is unoperant, unless when \chapter / \part +% format is redefined + + \titlespacing*{\part} + {\z@} + {\z@\@plus1fil} + {\z@\@plus1fil} + + \titlespacing*\chapter + {\z@}% + {50\p@}% + {\ttl@chapafter}% + +\fi + +\titleclass{\subsection} {straight}[\section] +\titleclass{\subsubsection}{straight}[\subsection] +\titleclass{\paragraph} {straight}[\subsubsection] +\titleclass{\subparagraph} {straight}[\paragraph] + +\endinput diff --git a/packages/extern/twoopt.sty b/packages/extern/twoopt.sty new file mode 100644 index 0000000..f272012 --- /dev/null +++ b/packages/extern/twoopt.sty @@ -0,0 +1,104 @@ +%% +%% This is file `twoopt.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% twoopt.dtx (with options: `package') +%% +%% This file is part of the package `twoopt' for use with LaTeX2e. +%% +%% Function: Defining commands with two optional arguments. +%% +%% Copyright (C) 1998,1999 Heiko Oberdiek. +%% +%% This program can be redistributed and/or modified +%% under the terms of the LaTeX Project Public License +%% distributed from CTAN archives in directory +%% macros/latex/base/lppl.txt; either version 1 of +%% the License, or (at your option) any later version. +%% +%% Please send error reports and suggestions for improvements to +%% Heiko Oberdiek . +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{twoopt} + [1999/04/12 v1.3 Definitions with two optional arguments (HO)] +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +\newcommand{\newcommandtwoopt}{% + \@ifstar{\@newcommandtwoopt*}{\@newcommandtwoopt{}}% +} +\newcommand{\@newcommandtwoopt}{} +\long\def\@newcommandtwoopt#1#2{% + \expandafter\@@newcommandtwoopt + \csname2\string#2\endcsname{#1}{#2}% +} +\newcommand{\@@newcommandtwoopt}{} +\long\def\@@newcommandtwoopt#1#2#3[#4][#5][#6]{% + \newcommand#2#3[1][{#5}]{% + \to@ScanSecondOptArg#1{##1}{#6}% + }% + \newcommand#2#1[{#4}]% +} +\newcommand{\renewcommandtwoopt}{% + \@ifstar{\@renewcommandtwoopt*}{\@renewcommandtwoopt{}}% +} +\newcommand{\@renewcommandtwoopt}{} +\long\def\@renewcommandtwoopt#1#2{% + \begingroup + \escapechar\m@ne + \xdef\@gtempa{{\string#2}}% + \endgroup + \expandafter\@ifundefined\@gtempa{% + \@latex@error{\noexpand#2undefined}\@ehc + }{}% + \let#2\@undefined + \expandafter\let\csname2\string#2\endcsname\@undefined + \expandafter\@@newcommandtwoopt + \csname2\string#2\endcsname{#1}{#2}% +} +\newcommand{\providecommandtwoopt}{% + \@ifstar{\@providecommandtwoopt*}{\@providecommandtwoopt{}}% +} +\newcommand{\@providecommandtwoopt}{} +\long\def\@providecommandtwoopt#1#2{% + \begingroup + \escapechar\m@ne + \xdef\@gtempa{{\string#2}}% + \endgroup + \expandafter\@ifundefined\@gtempa{% + \expandafter\@@newcommandtwoopt + \csname2\string#2\endcsname{#1}{#2}% + }{% + \let\to@dummyA\@undefined + \let\to@dummyB\@undefined + \@@newcommandtwoopt\to@dummyA{#1}\to@dummyB + }% +} +\newcommand{\to@ScanSecondOptArg}[3]{% + \@ifnextchar[{% + \expandafter#1\to@ArgOptToArgArg{#2}% + }{% + #1{#2}{#3}% + }% +} +\newcommand{\to@ArgOptToArgArg}{} +\long\def\to@ArgOptToArgArg#1[#2]{{#1}{#2}} +\endinput +%% +%% End of file `twoopt.sty'. diff --git a/packages/extern/undertilde.sty b/packages/extern/undertilde.sty new file mode 100644 index 0000000..adec6ad --- /dev/null +++ b/packages/extern/undertilde.sty @@ -0,0 +1,34 @@ +%% +%% This is file `undertilde.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% undertilde.dtx (with options: `package') +%% +%% IMPORTANT NOTICE: +%% +%% For the copyright see the source file. +%% +%% Any modified versions of this file must be renamed +%% with new filenames distinct from undertilde.sty. +%% +%% For distribution of the original source see the terms +%% for copying and modification in the file undertilde.dtx. +%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) +\ProvidesPackage{undertilde}[2000/08/08 v1.0 Tilde under a math object] +\newlength\knuthian@fdfive +\def\mathpal@save#1{\let\was@math@style=#1\relax} +\def\utilde#1{\mathpalette\mathpal@save + {\setbox124=\hbox{$\was@math@style#1$}% +\setbox125=\hbox{$\fam=3\global\knuthian@fdfive=\fontdimen5\font$} +\setbox125=\hbox{$\widetilde{\vrule height 0pt depth 0pt width \wd124}$}% + \baselineskip=1pt\relax + \vtop{\copy124\copy125\vskip -\knuthian@fdfive}}} +\endinput +%% +%% End of file `undertilde.sty'. diff --git a/packages/extern/xifthen.sty b/packages/extern/xifthen.sty new file mode 100644 index 0000000..a013cee --- /dev/null +++ b/packages/extern/xifthen.sty @@ -0,0 +1,222 @@ +\def \filedate {2009/04/17}% +\def \fileversion {v1.3}% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{xifthen}% + [\filedate \space \fileversion \space Extended ifthen features] + +\RequirePackage{etex} +\RequirePackage{calc} +\RequirePackage{ifthen} +\RequirePackage{ifmtarg} + +% First of all, \TE@repl (ifthen) needs to be patched. (v1.2) +% (viz. \newtest{\superlogique}[1]{\(\NOT#1\AND\boolean{true}\)}) +% Pointed out by MPG and Pierre Albar\`ede [19 Mar 2009] + +\def \TE@repl #1#2{% + \long \def \@tempc ##1#1##2{% + \def \@tempb{\@tempc}% + \begingroup % Thanks MPG + \toks@ {##2}% + \edef \@tempa {\the \toks@}% <- UF v1.3 + \expandafter \endgroup + \ifx \@tempa \@tempb + \toks@ \expandafter {\the \toks@ ##1}% + \expandafter \@gobble + \else + \toks@ \expandafter {\the \toks@ ##1#2}% + \expandafter \@tempc + \fi + ##2% + }% + \toks@ \expandafter {\expandafter}% + \expandafter \@tempc \the \toks@ #1\@tempc +} + +% \cnttest {} {} {} +% +\newcommand*{\TE@cnttest}[4]{% + \TE@throw + \noexpand \calc@assign@count{\@tempcnta}{\unexpanded{#1}}% + \noexpand \calc@assign@count{\@tempcntb}{\unexpanded{#3}}% + \noexpand \if \noexpand \TE@cnttest@ {#2}% + #4% +} + +\newcommand*{\TE@cnttest@}[1]{% + \ifcsname TE@cnttest@@#1\endcsname + \csname TE@cnttest@@#1\expandafter\expandafter\expandafter \endcsname + \expandafter \@gobble + \else + \expandafter \@firstofone + \fi + {FF\PackageError{xifthen}{Not a valid comparison operator "#1"}% + {Valid comparisons are <, =, >, <=, and =>.}}% +} + +\@namedef{TE@cnttest@@<}{\ifnum \@tempcnta<\@tempcntb AA\else AB\fi} +\@namedef{TE@cnttest@@>}{\ifnum \@tempcnta>\@tempcntb AA\else AB\fi} +\@namedef{TE@cnttest@@=}{\ifnum \@tempcnta=\@tempcntb AA\else AB\fi} +\@namedef{TE@cnttest@@<=}{% + \ifnum \@tempcnta<\@tempcntb AA\else + \ifnum \@tempcnta=\@tempcntb AA\else AB\fi + \fi +} +\@namedef{TE@cnttest@@>=}{% + \ifnum \@tempcnta>\@tempcntb AA\else + \ifnum \@tempcnta=\@tempcntb AA\else AB\fi + \fi +} + +% \dimtest {} {} {} +% +\newcommand*{\TE@dimtest}[4]{% + \TE@throw + \noexpand \calc@assign@skip{\@tempskipa}{\unexpanded{#1}}% + \noexpand \calc@assign@skip{\@tempskipb}{\unexpanded{#3}}% + \noexpand \if \noexpand \TE@dimtest@ {#2}% + #4% +} + +\newcommand*{\TE@dimtest@}[1]{% + \ifcsname TE@dimtest@@#1\endcsname + \csname TE@dimtest@@#1\expandafter\expandafter\expandafter \endcsname + \expandafter \@gobble + \else + \expandafter \@firstofone + \fi + {FF\PackageError{xifthen}{Not a valid comparison operator "#1"}% + {Valid comparisons are <, =, >, <=, and =>.}}% +} + +\@namedef{TE@dimtest@@<}{\ifdim \@tempskipa<\@tempskipb AA\else AB\fi} +\@namedef{TE@dimtest@@>}{\ifdim \@tempskipa>\@tempskipb AA\else AB\fi} +\@namedef{TE@dimtest@@=}{\ifdim \@tempskipa=\@tempskipb AA\else AB\fi} +\@namedef{TE@dimtest@@<=}{% + \ifdim \@tempskipa<\@tempskipb AA\else + \ifdim \@tempskipa=\@tempskipb AA\else AB\fi + \fi +} +\@namedef{TE@dimtest@@>=}{% + \ifdim \@tempskipa>\@tempskipb AA\else + \ifdim \@tempskipa=\@tempskipb AA\else AB\fi + \fi +} + +% \isnamedefined {} +% +\newcommand*{\TE@isnamedefined}[2]{% + \TE@throw + \noexpand \ifcsname #1\endcsname + #2% +} + +% \isempty {} +% +\newcommand*{\TE@isempty}[2]{% + \TE@throw + \noexpand \if FF\noexpand \@nameuse{fi}% + \noexpand \@ifmtarg{\unexpanded{#1}}{% + \noexpand \@nameuse{iftrue}% + }{% + \noexpand \@nameuse{iffalse}% + }% + #2% +} + +% \isequivalentto {} {} +% +\newcommand*{\TE@isequivalentto}[3]{% + \TE@throw + \noexpand \ifx \noexpand #1\noexpand#2% + #3% +} + +% \isin {} {} +% +\newcommand*{\TE@isin}[3]{% + \TE@throw + \unexpanded {\in@{#1}{#2}}% + \noexpand \ifin@ + #3% +} + +% \endswith {} {} +% +\newcommand*{\TE@endswith}[3]{% + \TE@throw + \unexpanded {\in@{#2\@nil}{#1\@nil}}% + \noexpand \ifin@ + #3% +} + +% \newtest [] {} +% +\newcommand*{\newtest}[1]{% + \@ifnextchar[{% + \@newtest{#1}% + }{% + \@newtest{#1}[0]% + }% +}% + +\newcommand*{\@newtest}{} +\def \@newtest #1[#2]#3{% + \toks@ = {\(#3\)}% + \TE@repl \or \TE@or + \TE@repl \and \TE@and + \TE@repl \not \TE@neg + \TE@repl \OR \TE@or + \TE@repl \AND \TE@and + \TE@repl \NOT \TE@neg + \edef \@tempa {% + \unexpanded{\newcommand*{#1}[{#2}]}{\the \toks@}% + }% + \@tempa +}% + +\newcommand*{\TE@hook}{% + \let \isequivalentto = \TE@isequivalentto + \let \terminateswith = \TE@endswith % For compability reasons (deprecated) + \let \endswith = \TE@endswith + \let \isnamedefined = \TE@isnamedefined + \let \isempty = \TE@isempty + \let \cnttest = \TE@cnttest + \let \dimtest = \TE@dimtest + \let \isin = \TE@isin +} + +\renewcommand{\ifthenelse}[1]{% + \toks@{#1}% + \TE@repl \or \TE@or + \TE@repl \and \TE@and + \TE@repl \not \TE@neg + \TE@repl \OR \TE@or + \TE@repl \AND \TE@and + \TE@repl \NOT \TE@neg + \begingroup + \let \protect = \@unexpandable@protect + \def \@setref ##1##2##3{\ifx ##1\relax \z@ \else \expandafter ##2##1\fi}% + \def \value ##1{\the \csname c@##1\endcsname}% + \let \equal = \TE@equal + \let \( = \TE@lparen + \let \) = \TE@rparen + \let \isodd = \TE@odd + \let \lengthtest = \TE@length + \let \isundefined = \TE@undef + \TE@hook + \begingroup + \let \@tempa = \relax + \let \@tempb = \relax + \xdef \@gtempa {\expandafter \TE@eval \the \toks@ \TE@endeval}% + \endgroup + \@gtempa + \expandafter \endgroup + \ifTE@val + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} + +\endinput diff --git a/packages/intern/.DS_Store b/packages/intern/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..e3d13408959a5fc199d892cc54ec2eead1b53245 GIT binary patch literal 6148 zcmeHK%}T>S5T0$TCa92$=yCB}q@_YDcnGC}MjPlhYm3&zQ9Fo*-peF<&{QIb|FZ=z5vt*owDwry>6 zJJB$V$IUn!hRLbdkH=mV_5y!&rtH*Dv!v;dROG}@`xsGnJB|lvcTILD3e*0%vpt#A zs*SQds87psQm5XJL+Ag|_wWDtBK~3qn1Q8YK$KcutBF%GXY0b`=&Y5f7pNqZmuvheK|>wI gm`g|T4yqFLOEM5$gSkfZpzuXN(ZCHe@TUyC1Jn&q+W-In literal 0 HcmV?d00001 diff --git a/packages/intern/Changelog.txt b/packages/intern/Changelog.txt new file mode 100644 index 0000000..5aafa5f --- /dev/null +++ b/packages/intern/Changelog.txt @@ -0,0 +1,23 @@ + + + + +Geänderte Befehle: + +\gk -> \floor + neuer Befehl \ceiling + + +Vielleicht: +\lpo -> \laplace + + +Neue Dokumentenklasse latex4ei + + Optionen: + + fs: Legt die Grundliegenden Formatierungen für eine Formelsammlung an + footer: Erzeugt einen LaTeX4EI Footer + + + Befehle: + fstitle: Legt einen Titel an (ggf. in paket auslagern) \ No newline at end of file diff --git a/packages/intern/README b/packages/intern/README new file mode 100644 index 0000000..60517cf --- /dev/null +++ b/packages/intern/README @@ -0,0 +1,37 @@ +# Installation der LaTeX4EI Build Umgebung + +.:: Stand: 2.6.2013 +.:: Author: Martin Zellner + + +## Mac OS X + +- Installiere MacTex 2012 oder neuer +- Erzeuge einen symbolischen Link um die Pakete einzubinden: + + cd /usr/local/texlive/2012/texmf-dist/tex/latex/ + sudo ln -s " %Pfad zur Dropbox%/packages/intern/" latex4ei +- Aktualisiere die LaTeX Umgebung: + + sudo texhash + sudo mktexlsr +--- + +## Linux + + cd /usr/share/texlive/texmf-dist/tex/latex + sudo ln -s PATHTOFOLDER/packages/intern/ latex4ei + sudo texhash + sudo mktexlsr + + +## Windows (f¸r MiKTeX) +- Installiere die aktuellste MiKTeX Version +- ÷ffne Start -> Alle Programme -> MiKTeX x.x -> Maintenance (Admin) -> Settings (Admin) +- Gehe zu Registerkarte "Roots" +- Klicke auf "Add" +- Suche in secret LaTeX Dropbox -> packages -> edit -> miktex structure +- Klicke auf "OK" und nochmals auf "OK". +- Fertig + +--- \ No newline at end of file diff --git a/packages/intern/latex4ei.cls b/packages/intern/latex4ei.cls new file mode 100644 index 0000000..ad108fb --- /dev/null +++ b/packages/intern/latex4ei.cls @@ -0,0 +1,87 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{latex4ei}[2013/05/06 Formelsammlungsvorlage von LaTeX4EI] + +% Dokumentklasse (Schriftgröße 6, DIN A4, Artikel) +\LoadClass[6pt,a4paper,landscape]{scrartcl} + + % Pakete laden + \RequirePackage[utf8]{inputenc} % Zeichenkodierung: UTF-8 (für Umlaute) + \RequirePackage[german]{babel} % Deutsche Sprache + \RequirePackage{multicol} % ermöglicht Seitenspalten + \RequirePackage{graphicx} % Zum Bilder einfügen benötigt + \RequirePackage{pbox} % Intelligent parbox: \pbox{maximum width}{blabalbalb \\ blabal} + \RequirePackage{scrtime} % Änderungsdatum + \RequirePackage{parskip} % Verhindert das einrücken am Zeilenanfang + \RequirePackage{titlesec} % Ermöglicht neuformatierung von Titeln + \RequirePackage{xcolor} % Ermöglicht farbigen Text + \RequirePackage{multicol} % Spalten-Layout + \RequirePackage{geometry} % Seitenlayout und Ränder + \RequirePackage{fancyhdr} % Kopf- und Fußzeile + %\RequirePackage{tikz} % Alle möglichen Zeichnungen + %\RequirePackage{multirow} % Zeilenübergreifender Text + + \RequirePackage{scientific} % Befehle von LaTeX4EI (öffentlich) + \RequirePackage{latex4ei} % Befehle von LaTeX4EI (privat) + + +\newcommand{\fstitle}[1]{ + \vspace{-20mm}{ + \parbox{2.3cm}{ + \includegraphics[height=1.4cm]{img/Logo.pdf} + } + \parbox{4cm}{ + \emph{\huge{#1}} + }} +} + + +% .:: Formelsammlungsstyle +\DeclareOption{fs}{ + % .:: Seitenlayout und Ränder + % ====================================================================== + \geometry{a4paper,landscape, left=6mm,right=6mm, top=0mm, bottom=3mm,includeheadfoot} + + % .:: Überschriften anpassen + % ====================================================================== + \definecolor{sectioncolor}{RGB}{40,40,128} + + %\titleformat{ command }[ shape ]{ format }{ label }{ sep }{ before-code }[ after-code ] + \titleformat{\section}{\Large \bfseries}{\thesection .}{0.5em}{\color{sectioncolor}}[\color{sectioncolor} \hrule \hrule] + \titleformat{\subsection}{\large \bfseries}{\thesubsection .}{0.3em}{} + + %\titlespacing{Überschriftart}{keine Ahnung}{Abstand oberhalb}{Abstand unterhalb} + \titlespacing{\section}{0em}{1.0em}{0.1em} + \titlespacing{\subsection}{0em}{0.2em}{-0.4em} + \titlespacing{\subsubsection}{0em}{0em}{-0.5em} + + \setlength{\parskip}{1pt} + + % Schriftart SANS für bessere Lesbarkeit bei kleiner Schrift + \renewcommand{\familydefault}{\sfdefault} + + % Array- und Tabellenabstände vergrößern + \renewcommand{\arraystretch}{1.2} +} + +\DeclareOption{footer}{ + % .:: Kopf- und Fußzeile + % ====================================================================== + \pagestyle{fancy} + \fancyhf{} + + \fancyfoot[C]{von LaTeX4EI - Mail: \emph{info@latex4ei.de}} + \renewcommand{\headrulewidth}{0.0pt} %obere Linie ausblenden + \renewcommand{\footrulewidth}{0.1pt} %obere Linie ausblenden + + \fancyfoot[R]{Stand: \today \ um \thistime \ Uhr \qquad \thepage} + \fancyfoot[L]{Homepage: www.latex4ei.de -- Fehler bitte \emph{sofort} melden.} +} + + +\ProcessOptions* + +% SI-Units +\sisetup{per-mode=fraction} +\sisetup{sticky-per=true} + +\AtBeginDocument{\sisetup{math-rm=\mathrm, text-rm=\rmfamily}} diff --git a/packages/intern/latex4ei.sty b/packages/intern/latex4ei.sty new file mode 100644 index 0000000..d8fa34b --- /dev/null +++ b/packages/intern/latex4ei.sty @@ -0,0 +1,162 @@ +% Layout, Macros für LaTeX4EI Stand 04.04.13 +% Erstellt von Emanuel Regnath, Martin Zellner +% +% Lizenz: Dieses package darf nur für Dokumente für LaTeX4EI verwendet werden! +% Bei anderem Verwendungszweck bitte Erlaubnis einholen: info@latex4ei.de + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{latex4ei}[2013/05/06 Macros for LaTeX4EI] + + +\RequirePackage{xifthen} % If Then Else Anweisungen + + +% .:: Eigenschaften setzen +% ====================================================================== + +% Einrückung bei itemize verkleinern: +\setlength{\itemindent}{0em} +\setlength\leftmargini{1.8em} +\setlength\itemsep{0em} + +%Abstand zwischen Absätzen = Abstand den eine neue Zeile im Quellcode erzeugt +\setlength{\parskip}{0mm} + + + +% .:: Formatierungen +% ====================================================================== +\newcommand{\ABB}[1]{\textsc{#1}} % Abkürzungen +\newcommand{\code}[1]{\verb+#1+} % Quellcode +\newcommand{\Fbox}[1]{\fbox{\strut#1}} % Gleich hohe Boxen + + +% .:: Eigene Befehle und Abkürzungen +% ====================================================================== + +%\let\oldfrac = \frac + +% Eigene Bruchdarstellung: +%\renewcommand{\frac}[3][]{% +%\ifthenelse{\isempty{#1}}% +% {\oldfrac{#2}{#3}} +% {\genfrac{}{}{}{}{\raisebox{#1}[\height+0.1em][\depth]{$\scriptstyle #2$}}{\raisebox{-#1}[\height][\depth + 0.2em]{$\scriptstyle #3$}}} +%} + + + + +% Überschreibungen +\renewcommand{\vec}[1]{\ensuremath{\underline{\boldsymbol {#1}}}} % Vektor fett und unterstrichen +\renewcommand{\emph}[1]{\textbf{#1}} % Hervorhebungen fett + +% Dickere Ableitungspunkte +\renewcommand*{\dot}[1]{\accentset{\mbox{\textrm{\large\bfseries .}} }{#1}} % Dicker Ableitungspunkt +\renewcommand*{\ddot}[1]{\accentset{\mbox{\textrm{\large\bfseries .\hspace{-0.25ex}.}}}{#1}} % Dicker Doppelableitungspunkt +\renewcommand*{\dddot}[1]{\accentset{\mbox{$\overset{\textrm{\large\bfseries .}}{\textrm{\large\bfseries.\hspace{-0.25ex}.}}$}}{#1}} + + +% Abkürzungen für Symbole +\providecommand{\ul}[1]{\ensuremath{\underline{#1}}} % Underline +\providecommand{\ol}[1]{\ensuremath{\overline{#1}}} % Overline +\providecommand{\bs}[1]{\ensuremath{\boldsymbol{#1}}} % bold and italic in mathmode +\providecommand{\Ra}{\ensuremath{\Rightarrow}} % Rightarrow +\providecommand{\ra}{\ensuremath{\rightarrow}} % rightarrow +\providecommand{\lra}{\ensuremath{\longrightarrow}} % Longrightarrow +\providecommand{\upa}{\ensuremath{\uparrow}} +\providecommand{\downa}{\ensuremath{\downarrow}} +\providecommand{\bdot}{\ensuremath{\boldsymbol \cdot}} % Dicker Punkt für Skalarprodukt +\providecommand{\svdots}{\ensuremath{\olddot :}} % small vertical dots +\providecommand{\shdots}{\ensuremath{\!\cdot \!\cdot\!\cdot\!}} % small horizontal dots + + + + + +% Eigene Tabellenlinien +\def\trule{\noalign{\vspace{1pt}\hrule\hrule\vspace{2pt}}} % top rule +\def\mrule{\noalign{\vspace{1pt}\hrule\vspace{2pt}}} % middle rule +\def\brule{\noalign{\vspace{2pt}\hrule\hrule\vspace{1pt}}} % bottom rule + +% Farbige Tabellenlinien +\def\ctrule{\noalign{{\color{tablecolor}\hrule\hrule}\vspace{2pt}}} % colored top rule +\def\cmrule{\noalign{\vspace{1pt}{\color{tablecolor}\hrule}\vspace{2pt}}} % colored middle rule +\def\cbrule{\noalign{\vspace{2pt}{\color{tablecolor}\hrule\hrule}}} % colored bottom rule + + + +% .:: Farbige Strukturierungselemente wie Boxen +% ====================================================================== + +\definecolor{lightblue}{RGB}{235,235,255} +\definecolor{lightred}{RGB}{255,240,240} +\definecolor{lightgreen}{RGB}{240,255,240} +\definecolor{lightyellow}{RGB}{255,255,240} +\definecolor{lightblue}{RGB}{220, 240, 247} +\definecolor{darkblue}{RGB}{23,110,138} +\definecolor{notsodarkblue}{RGB}{119,193,214} +\definecolor{tablecolor}{RGB}{0,128,0} + +% Für die Überschriften und Linien +\definecolor{lila}{RGB}{128,0,128} +\definecolor{latex4eiblau}{RGB}{86,124,136} +\definecolor{latex4eigruen}{RGB}{150,163,110} + +% Farbige Boxen +\providecommand{\topicbox}[2]{ +\fcolorbox{blue}{lightblue}{\color{blue}\parbox{\columnwidth-2\fboxsep}{{\large \textbf{ #1}}\\\hspace*{-\fboxsep}\rule[2pt]{\columnwidth}{0.5pt}\\ \color{black}#2}}} + +\providecommand{\emphbox}[1]{{\fboxrule1pt\fcolorbox{red}{lightyellow}{\parbox{\columnwidth-2\fboxsep-2pt}{\centering #1}}}} +\providecommand{\symbolbox}[1]{{\fboxrule1pt\fcolorbox{orange}{lightyellow}{\parbox{\columnwidth-2\fboxsep-2pt}{#1}}}} +\providecommand{\tablebox}[1]{{\fboxsep0pt\colorbox{lightgreen}{\parbox{\columnwidth}{#1}}}} +\providecommand{\sectionbox}[1]{{\fboxsep0.5em\hspace*{-\fboxsep}\hspace*{-1pt} +\fcolorbox{gray}{gray!3}{ +\parbox{\columnwidth}{ + \titlespacing{\subsection}{0em}{0.2em}{0.2em} + \titlespacing{\subsubsection}{0em}{0.2em}{0.2em} +#1 +}}}} + +% blaue Rezeptebox +\providecommand{\cookbox}[2]{{\fboxsep0pt\colorbox{lightblue}{\parbox{\columnwidth}{ +{\color{darkblue}\hrule\hrule}\vspace{2pt} + \begin{center} +\textbf{#1} +\end{center} +\vspace{3pt}{\color{notsodarkblue}\hrule\hrule} +\vspace{3pt} +\begin{itemize} +#2 +\end{itemize} +\vspace{2pt}{\color{darkblue}\hrule\hrule} +}}}} + +% blaue Rezeptebox als Liste +\providecommand{\cooknumbox}[2]{{\fboxsep0pt\colorbox{lightblue}{\parbox{\columnwidth}{ +{\color{darkblue}\hrule\hrule}\vspace{2pt} + \begin{center} +\textbf{#1} +\end{center} +\vspace{3pt}{\color{notsodarkblue}\hrule\hrule} +\vspace{3pt} +\begin{enumerate} +#2 +\end{enumerate} +\vspace{2pt}{\color{darkblue}\hrule\hrule} +}}}} + + + +% BETA + +\providecommand{\sectionboxnew}[1]{ + \begin{breakbox} + + \titlespacing{\subsection}{0em}{0.2em}{0.2em} + \titlespacing{\subsubsection}{0em}{0.2em}{0.2em} + #1 + + \end{breakbox} +} + + diff --git a/packages/intern/latex4ei_symbols.sty b/packages/intern/latex4ei_symbols.sty new file mode 100644 index 0000000..f960015 --- /dev/null +++ b/packages/intern/latex4ei_symbols.sty @@ -0,0 +1,125 @@ +% Bezeichner und Symbole Stand 04.06.13 +% Erstellt von Emanuel Regnath, Martin Zellner +% +% Lizenz: Dieses package darf nur für Dokumente für LaTeX4EI verwendet werden! +% Bei anderem Verwendungszweck bitte Erlaubnis einholen: info@latex4ei.de + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{latex4ei_symbols}[2013/05/06 Macros for LaTeX4EI] + + +\RequirePackage{xifthen} % If Then Else Anweisungen + + + +% Ideen: \tooltipp{} für einmalige tooltipps +% Symbole standardbuchstaben für standardsymbole: \F = F = Kraft +% Umschaltmöglichkeit von Symbolkategorien: \symbols = math, stochastic, physic +% Umschaltmöglichkeit von einzelnen Symbolen: \symbol{\E} = energy, electricfield + +% ODER: intelligentes LaTeX? Wertet automatisch symbole in $...$ aus + + +% .:: Symbole Konstanten +% ====================================================================== +\providecommand{\clight}{\ensuremath{c_0}} +\providecommand{\ccharge}{\ensuremath{e}} +\providecommand{\celectric}{\ensuremath{\varepsilon_0}} +\providecommand{\cmagnetic}{\ensuremath{\mu_0}} +\providecommand{\cplanck}{\ensuremath{h}} + +\providecommand{\cgravity}{\ensuremath{h}} +\providecommand{\cbolzmann}{\ensuremath{k_{\mathrm{B}}}} +\providecommand{\cavogadro}{\ensuremath{N_{\mathrm{A}}}} + +\providecommand{\cme}{\ensuremath{m_{\mathrm{e}}}} +\providecommand{\cmp}{\ensuremath{m_{\mathrm{p}}}} +\providecommand{\cmn}{\ensuremath{m_{\mathrm{n}}}} + + + +% .:: Mathematik +% ====================================================================== + + + + + + +% Allgemein +\providecommand{\linear}{linear } +\providecommand{\kausal}{kausal } +\providecommand{\}{} +\providecommand{\}{} +\providecommand{\}{} +\providecommand{\}{} + + + +\providecommand{\Binomialkoeffizient}{Binomialkoeffizient} + +\providecommand{\Injektiv}{Injektiv} +\providecommand{\Surjektiv}{Surjektiv} +\providecommand{\Bijektiv}{Bijektiv} + +\providecommand{\Komplex}{Komplex} +\providecommand{\Polynom}{Polynom} +\providecommand{\}{} +\providecommand{\}{} +\providecommand{\}{} +\providecommand{\}{} +\providecommand{\}{} +\providecommand{\}{} +\providecommand{\}{} +\providecommand{\}{} +\providecommand{\}{} +\providecommand{\}{} +\providecommand{\}{} + + +% .:: Stochastik +% ====================================================================== + + + +% .:: Geometrie +% ====================================================================== + + + + +% .:: Systemtheorie +% ====================================================================== + + + + +% .:: Physik +% ====================================================================== + + + + + +% .:: Elektrotechnik +% ====================================================================== + + + + + +% .:: Informatik +% ====================================================================== + + + + + +% .:: Maschinenbau +% ====================================================================== + + + + +% Ende von \input +\endinput diff --git a/packages/intern/miktex structure/.DS_Store b/packages/intern/miktex structure/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..780cc0654092001315348a2725c8532629b130f5 GIT binary patch literal 6148 zcmeH~&r8EF6vvZoYKjWIh#rIIAsZ7m!9yt%JPIA`;6z(GT%ojM?VM1n^&j%&-{Rln zdr1mTcNUQsNWL$5FG=%(<_BYpyUVc4n9UdykWo1r8xl5ebTv#cD#tOhc@U=o)ZT)* z@%?qdZ*Q`kP1$3x`uhEGl;xey2X8c6TiZLrvc%qG93^48a?@oJX4l>yTYnCNj7=CfP-uqb-nL0g{n%eE}~{Z3n+_6B8X31Qjq z;^6q?{Bq>Y5zqw82_bd~ z2oWFxMBp0%+#e)lRL5wgRc#$m;Pn~(EmTZk<68n%8g-0TTEPQ}>#m@>D>qLJuDe6K zG;xm6N~`Y9xSAQpF*DbX7p`W9cB#S{ceGMT1c<;ofu^q7c>Z6&FSGHHzutvvM1TnV zGXlId^oA}h%ABn~mWOApgnS1X6UJ3&KmvR15&#w4M~;+J`z6{C=NPTD;wadzx`Wb1 MKmnnG2>b$pPb1()#sB~S literal 0 HcmV?d00001 diff --git a/packages/intern/miktex structure/tex/.DS_Store b/packages/intern/miktex structure/tex/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..d62cbc6235d5dd1556f79d66047d8d14cd7cef86 GIT binary patch literal 6148 zcmeHKOH0E*5Z>)W6I94W^tgB~(o&%nJcLrgqmV)mRx}~S20~Jr)Cw^g|Bxqti@(R2 z-3_!fXAwICv)}AIcC#O3AB-_RSo$5tEXJ4tipbHZ5Oi0DYC0K_%Q0TORWkR&*sB=k zZ@Tc?n=E85OWBmIfB&a94}&Cax4(I<-e~Ua8>VR-PR2px$E!iSjQr%znZ+w7@TZ=; zxR-Y7rpsjDE@b4^O=l31_9%`+uqQfu9Qf(%!8*yZZl~W8m%Y3tvR<#<5*OWmo|}eY zT3^QT+49cifd3e?e&__@d%q!3U0ej;T03F;%PGwNV1=^5jYb+GvDCn2v PfOHX%giu2a`~m|%RGdgP literal 0 HcmV?d00001 diff --git a/packages/intern/miktex structure/tex/latex/.DS_Store b/packages/intern/miktex structure/tex/latex/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..4a558c3d10eb7cf388eec50ed89ad5ffb7c9a421 GIT binary patch literal 6148 zcmeHK%}T>S5T3PFQ&i|h^tgB~(o&%nJcLrgqmV)mRx~lC4VI)dsXf$ad?8Ohi_hcC z?nWpL9!2a7?0&QJvzz%K`vU-?Gxr++RRFNC5eiZYgv^DmEfY*A)Eq91U@9bKYinTxJ2caJ=I?+7z;~Qrj zEu6p~dhYC2>4}@nm%)&_&j?kCqU7yKcCL}?f-V%h;plvYIh#nN7 zQxSElFi#Aj)6p(XoNX}EsMA5Hm2n=ka{hP`YIU?r6%NAI$UQT_46HIx(!(m9|Cjj7 z6h87-Q+UJ-Fa!UL0a5Nc-3}II&epZ^=&Y64?y-?jTt*5C>MNH39MC>;ten~}Nyj+b XV5X5~A-hUP

REl7tEnvJVYIZQAJoulM@Cpd`8@tz!%2 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 DeMG_T literal 0 HcmV?d00001 diff --git a/img/Memristivitat.pdf b/img/Memristivitat.pdf new file mode 100644 index 0000000000000000000000000000000000000000..058989a818b23a0f74a95d523d0fd4100dbcdbf6 GIT binary patch literal 4361 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 M{_`PcWNFO*Uu?UykN^Mx literal 0 HcmV?d00001 diff --git a/img/NIK.pdf b/img/NIK.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0ab8142569cf590b0351d25020244630815a6e18 GIT binary patch literal 7674 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Tech-Draw + + Vorlage für technische Zeichnungen + + + Emanuel Regnath + + + + + Emanuel Regnath + + + + + Emanuel Regnath + + + + + + + + + + + + + + + + + + + Maßpfeile 1mm + Maßpfeile 2mm + Linien + Widerstand + + Hilfslinien + + + + + + + + + + + + Quellen + + + Knoten + + + + + + + + + + + + + + + + + + + + + + + + + + + Ecken + + + + + + + + + + + Kondensatoren + + + + + + + + + + + Masse + + + + + + + + + + + Zählpfeile + + + + + + + + + + + + + + + + + + + + + + + + OP-Amps + Nullator + + + + + + + + + + Dioden + + + + + + + Klemmen + + + + + + + MOS-FETs + Bipolartransistoren + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gatter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kennlinien + + + + + + + + + + + + + + + + + u + + + + + + + + + + + + + + i + + + + + + + + + + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + G + R + + + + i + u + + + + + + + i + u + + + + + + + + + i + u + + + + + + + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R + + + uout + uin + + + + + + + C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R + + + uout + uin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R + + + uout + uin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R + + + uout + uin + + + + + + + C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R0 + R1 + + + + uout + uin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R0 + R1 + + + uout + uin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uout + uin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R0 + + + + uout + uin + + + + + + + + + + + + + + + + + + + + + + + + + + + G1 + Gi + G1 + + + + + + + + + + + + + + + + + i + u + + + + + + + + t1 + t0 + t + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i(t) + I0 + + iC(t) + C + R + + U0 + u(t) + uC(t) + + + + + + + + i + u + + + i + u + + + + + + + + t1 + t0 + t + + + + + + + + t + x + + + + + x0 + + + + + + x + + + 0.37 + + + + t0+ + + t0 + + + + + + + + + + + + + + (u,i) + (u,q) + + + + + + (i, ) + + + + + + + ( ,q) + + + + + + + + + q1 + q2 + + + + + + + + + + q1 + q2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + q1 + q2 + + + + + + + + + + + + + + + + q1 + q2 + + + + + + + + + + + + + + + + + + + + + + + + q1 + q2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + q1 + q2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + qr + qj + + + + + qr + qj + + + + + + + + + + + qr + qj + + + + + + + + + + + + + + qr + qj + + + + + + + + + q1 + q2 + + + + + + + + + + + + + + + + + + + + + + + + + + + q1 + q2 + + + + + + + + + + + + + + + + q1 + q2 + + + + + + + + + + + + + + + + + + + + + + + + + + q1 + q2 + + + + + + + + + + + + + + + + + + + + + + + + + v02 + + + + + q1 + q2 + + + + + + + + + + + + + + + + + + + + + + + + q1 + q2 + + + + + + + + + + + + + + + + + + + + + + + + + q1 + q2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + q1 + q2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + q1 + q2 + + + + + + + + + + q1 + + q2 + + + + + + + + + + + + + + + + + q1 + q2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i + u + + + + + + + + + Watermark: + |© Emanuel Regnath + |© Emanuel Regnath + Grafiken watermarken! + + + + G + R + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + + + + i + + u + + + + + + + + + + + + + + + + itr + + + + Usat + + 2 + + + + + + Usat + + Usat + + 2 + + + + + + + + i + + u + + + + + + + + + + + + + + itr + + + + + + Usat + + + + + + + + + + + –Usat + + 2 + + + + + + + i + u + + + + + + + + + + + + + + + + + + + + + + + + Usat + + + –Usat + + 2 + + + + + + + + i + + u + + + + + + + + + + + + + + itr + + + + + + Usat + + + + + + + + + + + –Usat + + 2 + + + + GL + RL + + + + + i + + u + + + + + + + itr + + + + + + Usat + + + –Usat + + 2 + + GL + + + + + + + + + + + + + + + + + + + + –RL + –RL + R + R + R + © Emanuel Regnath + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R0 + R1 + RL + + u + + + + + + + + + + + + + + + + + + + + + + i + + iC + C + + uC + + + itr + |© Emanuel Regnath + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R1 + R0 + RL + + u + + + + + + + + + + + + + + + + + + C + + uC + + i + iC + |© Emanuel Regnath + + + © Emanuel Regnath + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A + X + + + + + i + u + + + + + + I + II + III + + R0 + + –R + + + Usat + –Usat + + R0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R1 + R0 + RL + + u + + + + + + + + + + i + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R1 + R0 + RL + + u + + + + + + + + + + i + + + diff --git a/img/Resistivitat.pdf b/img/Resistivitat.pdf new file mode 100644 index 0000000000000000000000000000000000000000..03c17ff4aa55d74b0f2ede8a08fccf025e3d69b9 GIT binary patch literal 4202 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + Linien + Widerstand + + Hilfslinien + + + + + + + + + + + + Quellen + + + Knoten + + + + + + + + + + + + + + + + + + + + + + + + + + + Ecken + + + + + + + + + + + Kondensatoren + + + + + + + + + + + Masse + + + + + + + + + + + Zählpfeile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OP-Amps + Nullator + + + + + + + + + + + Dioden + + + + + + + Klemmen + + + + + + + + + + + + + + + + + + + + + + + + + + + + MOS-FETs + + + + + + + + + + + + + + + + + + + + + Bipolartransistoren + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Halde: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gatter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kennlinien + + + + + + + + + + + + + + + + + u + + + + + + + + + + + + + + i + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/Schaltung1Grad.pdf b/img/Schaltung1Grad.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5cbb2656598d6c48f8498a2371be4f238f3f9507 GIT binary patch literal 8228 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 literal 0 HcmV?d00001 diff --git a/img/bodesquare.pdf b/img/bodesquare.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a62bdde35bcfbee0860122de3fe5233144723bab GIT binary patch literal 12014 zcmcgycRXC*(-u9VcS3A*66`K(^+b+~QZig1ZU`Pr&1TsV9xnh0us62C6A=OM zD8lW`5f%VGq(~hP008jFSlS@qPROH;5dtm+H?cQ`C6Atwq-Kp^WcxXt7eS9~&alDJVLD*+KBgrD_ zM#~c#+>Qw6thu{=xPHoLvzJ2k=vnIGs4U}|dLK9rM7kgW7vW@9KMbCs(bV`Lpb{DlwRm~I-HJ+ROhN=PSAB(HB)!D}yI6m~SXxfB_Kiq7c^Y{@lbVn`n$$Pbm^1?OHCSS(+3k1v_Ng_P?dOMMV(R=v)ht0Fm z>zUzI7XDaiRSS%|`NBK($1qI9?8dnj(wUjKI%=*Yo%zlT`j=dUC4eh$=*XRAacUYl zoySt4@Bw-eKKW8jkq0B9BGr}}B7ONomjn|)nlS2^Lf(%`Y6ViWbv{w;rFup7+_!DV zt?2@#ukTZ<-gy|)${+KAAPwFF=4qu2nkTi_RlDigU8F4D2+X>CX=0-E;=|kiHq+`G zT3MQ`?!1dia##_M12V_6lhs8NX!V)Y0~xpKWm0dHW`xU7{=o>O2vvYu82 zo<;kT5=5mvP0j&(5Xes^KFpPoYCx)3SwP2_5ojp#L?>%(-_|3{@Wrhy<;+sQ+D!v0 zsnXi?P$#1`qblY!HzV7Pb;!^|U!40&U;6+qs~lfhUj$V6%}~BOV1p@YaPp@)uef2_XuuoS8{GhsxxoaV;681}j)YXrpC3<36x8rmbZ#ji6MAOP(EoY;7ReE0>mm{Xk zE>vOYc|kLH`2@{RGyLmfsu!jCvv$z|tXV-40Uub(guD^MbzS}G){M1nvi(I& zr{)%gKkpqlctNcJJaIM>cy?bgv(R6R#sXt6X*QyrGhMV?bF88>qvCw@`YQ>QjS7UG zLd#j%$dgpzCir`(It@r?*NX)kNOw3_u0vvq&uKWbfkelj>)Kol3vi4nwNo zWMt>;fEw83&Ns0nQZ5B|wKRdN%Sxbx|M)^3?riVkWCC{vp!}--lTm`m_HVBQ5K7~J z{Z2r6?(F3O0)U}>0>8W@T(mCOz{Y8g2faTFJz0=77Oo((dDC%c0_r$Fp^VGir7Qus z7jiEN^H!J~uAD4j8`DA)AR=FhA5GYy5Uf-JCo8sNhhLR0sWyRMyqIywu8Wv>(8=Ism&Otg{57c3mAKXrJt?RBQ3y>@#!{ZdS1 zWkrSIGuf0cHsIaBY`opB%gEotG`{i8WO(S}~-5fb#`=Q@on~>DP1* zg9%o``(M4QXRdP?YB!N^5tTjemvn3eT_W}?NO7b!h~C2#kiU^HD*bjxkU&|IkP;nV zAY0~^JG%0_wRl`tNq~uKNWG*=t1&x)!jcqo9y1F?5F!i6@A9DGb*hn^nKMB^a+5|z z?_-_H>Feu)MWjbv16MBKiHJq^(z6%dmk{@@5QGF5sKfe>=M5h{3^<5{!4N^RRRMSj zcnu{lXUgf#Y$iIOE=!dhIugzf<*}35?0ewd-^QyqIT_L z$nk2(4D2H9%^IVqWRT|iD(}5q(_Tf)IQR{)L(mJ#j2A)tuDV!;a#^HmdEHdSjv5?qj*QHJ9bql{B`Mx+d)9#thsa=s1RAWBXS7&d<+c;@qn>B|S!`eH`NGIvVB= zEWTq(Gt^JSpdJ?&&cq=nXuvWVm>P>-SX2&(qp4QV)C^A%S|E9s{Xv{P1Q^tQE>}y5 z=ZWx$RH8EazKD2C>|ql+*TK_O8HmyjoYKf%i{`P%{e5i#Q%%z>&BW)NicK6O;PY6$ zask>xv`jTYoGXItLh>C4tC)$30ub%C`XE)2LUZi9Cq>nhU=} zdyM^2Y;`ZwcC)B@i}~T*)a;fUj}Bh+Wnd*-fBL0c@4`6FJhT81+s!!g3R4u#=iakP z9mYxa*{q^>8bKVSuLB@77P*lQ9SW|d@A4{{?-^!D)W;F`$RZp?mM@o~>2z#sFv{dO zio8-*i+%LyDm5vGerkYjQRV(}hKY-(NK}uNaZdO2Bb>t2tiA&>HogA5W$l3a`q`sv z2(yFX*T!*o7Rx`mJ{c=gr`9}?YlOf)x9zMKKy<36Im<6KK);qib=IW5U^w1q6Yw(y z2FF*wcB*-XCK+%J3rh?p7sehZgGG$>3{85*P`z5Fw@N*_-!OXFk=*yZFr@Gjk4hD1 zG0fb{FVko+XX}e9QS@BiQb#h6)C?!Vqg{FL)>6fSDCTQ8m>Ahs4!fa zRVLO4WR?tTk-D-7rszu4)%2xujUHGZfRQWGlS$X=d>GdN$$H7GLf4dKFj8z$>(@N>MK|ZZ|iy zd~Ry^x>>W%pEv^NiARr|lHe*vm_QrWmG|wR*5_Lq*qX=4r+GPj5ldxF%4dRx7(`$5 zatFO^fIpr!jijS4I=VHTTw_?N1};5Ls_whEaZ7}@n2oz~OXH1ayY5(7_+Zz`6YC8o zgCYrL4bn^tm>=^L>FqlD39x(a@`cfjt7Aan;?P4LfyZn*m)j(lPVnuB>9&YCOEm8X zVgbahy}Z2)_xY9k#XSP(jRr|YjZ{C?zU9ma9G@f4@XLKq>qW$B#L$E;`tm&e<4d%T z`$>{qQVz-Np~RRDVwsPx=e=Xtv3za2CFB<2-RCnfYjn~&Ys^zYH951P>>6fk=+bB2 z*WD+cAANT?W(DWN_Db;w%&&}@GSRBR8ie)o`b%=kxp>MBdq;|Vs_1`7V$?ywwK&!ahX6H`h`plI&;M|G=z&=n*Y8LGZ@f`w< z%b$Br=H1YP)HGRh#j{I>t>Q)kB9?E3bUhvQJU4hwt^1(M5%lUXVDafaB4S(G#I|7@ z4r@8SNYdz%0sB}vjT1=n;>Wit`MWIJx25@e05bWwne>h$0u9FW;LPY!NwXZ|z9A3= zVGI-^ypx7r@HFp%_8r4YdWar4TaP~8NV95~wQA@UrEWjzytlN&dd`cA&q@Ad}u8dfLB&016Q@3OC{UcY;@7r{3+qcuty+cZj;O36fp+bI*8 zYmB(vK?P=#DRGJ;y|Qmsx|P%pl0~m=>IfO^$-Qk7Z>_6isug8OB^8C}O`wj29BRE- zf3#H;*EC#5QCYPuP27QnaY26FK~e34yHtYQRrSF07od>dxhIrxkr$EWIU(%NxX@qd z0`8P6%*qS07|64u_wKn}Dw(|3v|@0*`0e`m27*rGV!hy!>K^U0G|`LYSP8uwABO9! z7Mf0clUpA|9zspuif@6FusJc8C!JPI3B^gKFm5yL+HF0nqT4Y#Wa*(9^cewZ&{O8q z^a?Izq^#)q?cXVd)g3t*b`@NCt~+vPVqkely98!$zMJMUwTKZ?DyMgBmS3;^3fpiO z{M5oAq#NTs11XCN&7Uar6!ZK8L&0DW|2NDBLP5IU@zEKELgAqQ#F_PC2kqJc_+8r~ z!7(!r80E%mLfK!9=s8U=a7|+nJE%XzBEB5j^fgS+<<(XH5ADaT*|Ev{c`p3^U&8d= zQVbstNM(E_g-FEYy5y9!-paI-YRu9g21ho!C=1lsz0WBV_j$LNF^|`1zToLaj0Sj< z+h#F?+qkXJEjvT{j7WKflsw0>_3gcKPt7?cCEU16M+VP|P4_(|(?!Il$&-r*E+##^zFTVbU?U5b? z^Mk&-`seJ#8RSJlcqzEEiIb%R!rti=E~7-sMz%=s4O7+7kUn6k_%(-~^09;@Q5}gD2pa3ZH#~C7*Lm1gunuyz(+rR;5 z9g91gpx`|e2s!Nor4p*m1qPjUDrw|!18!+R6P-|Jm$rSEnX=e^#mor6LXNkD;{S?f_!NCS@i?aFD zqMsPnkLdw`elVDu09_!G`k;Ku4+aAuKqT`*{)3_X0DcHB0KzYL+J*`ueXjQt8$r>t zZ%^C5@&HPH=GT8`y0jfKfrYY$=bJTLH-4HtQzPUoAid^{)biBt>SuGWVXtXtiAsF| zPM`c=rsrqn{>h$!zLUqlh60pZzf&bXe!kzR5&@DbQHU)!Gh7pP%~pV;Y<9(OIN~;&UbKFE}&f|W&}%I<}k7Cre?$~qO@JRm;ZpUg5dIg*w}eZ3R;sJ zdGu?nhMQf?e5LU{{56Ve51*X#To#Nia#{0izP3EO?%d)$;I`H1hh`W+<%a>EHub^# zLgb4FxczWw;|a!5B0*X6N9Jpchl3_CVYbvS=^}myVrb1R&Vw5%wmHG?{KqZ;o0(d? zH)ill6ZvQ(V}|{fXoi$`Lz#IPvR_|YnC|FBld0m~o@|UpX!>4vy71x(>mD!cJx7z| zF5pGaNHaZ*!QKa+ut?*5DTPq$e)3D&*7!#sK_pVMI5I$>50Na)6Can6S4YtI%7O0d zN?p60fY!hxHF-ZQhrOFr>JLN2pSY(tGJgo9AXg=GDPs+!c^Hu|4aa!LNsPTFp#Dx< zoz*>suBMY|4%@8U*cc{Y7b&fsyG9~scO54%cszcbo4!$CQCa_MXLDg%+SB2q0;?V! z)_?=1lI-r$Pt8Z6F)ntGOx2=<0TrE~c}|?hZvdBmpX5Kbx`Y`K7TrRf6o8 z9ts!eU-aV3s9$w911rDj$8WrlC*VfG@ZLHoUKQu^t>iEP$6({D?G#FJ;mKCSs+J}E zQ_oAebNe?WXp(bjvMV)(gZzI-qPwZ>9P2*Oci<6T9o!vKL({6e zd344_1sNIZttw`3ri71<+6_+hi#_#7(+fG9$UO7j`+v6i)XFjXv8I5L>`i#j0F!UV z;nNZx~%hmeBIoCEb6n|QMynMHNQKX%8nnr@Z3Dc92WW+ z4+r!LRG+84IYoO#WVfv31@j^Oi@q*~ZNV>lX+zGs1>A%TL=#6UW}YqANQnp)OQNIA z0*$@fjid4_BL^@j2wcga4AnTR2-YaLjtc=fmJFt+Ya1XNG6;K#B7N)|tXd^>c z`JUYn9-h!Jo{)02sKOyVOUWs5+K0mEll29jk&9PxO&yuz1l7%Mxih8?ZAzqYqq#|7 z3Yl<{!6_?dq;@3hO=a0f)C3teL=Vqp*U zcrRH5)JWl;WwlpyHV+PbCfJ1K8|>*o#dkoH5$gP&Gb1Gay@=v7JL=E^BVL;T{aZvd zH`;`5Vb~G};_?Mfs{*~4zbMpkTRhXAyZ2b`-oa5*2SpvuZHQ-wn31mu)dcfJVVe6<<70fl3N`t} zO5Y`JCXj<H+PYq8fmZLLQ`-If8(2k!dbBWD z+T=1GcEZ+9nc-UkdC-G{b#nidWUQCE()E3H^$A5rVxy9T3Ll89!ecX<4S?5SmV!zS zx|gYOu`r+k{>r62R97p~dJ;!IdJf(iKgJO_-~5Gqkm`D6c;tq;!kz0i4rSMu3r4g= z3`AHale${mqZn5{VLn%<$*qhyVMUy$x-V-JXc@O$sK`_59oJ)UgJZ_|7P-9Ki=oW0 zLG_^z!t!#BBr=HLye0@4CC*151;xDEN_^C50xFZ>7d=pdWL^Bm{`Qb_M!608)R*>k zjU9IJYWFRkzBw^48aYt;3t~mR=Ko;_AVEIpcgTuL6o11j-yi`hP5iI3r%34Zy`uIz zJE$uAnH>N*UZIEGlbrRzl+EN*0DOJ_$=~*%#&fkKy!Bc@yr|5}t|GrG-2f?S2fn04 z3U;Oi4M* z@k_K#QIfAAW{Th28%w;M^xDwqNw2#Uzp1iQ;}OK^EXN{O;IJ=YOzbK(M$VyQfrveh`GVE=uy_!rP4~< zs83IpNF~+;28C)HAeL8WTiS(N>UTe58B_(@{>9bbvg}Cg1m*{R_w>(s>L1AP2l_n4 zb|^%5Mh;YDZ_3E3A<2Q$U%3HN`tPX$AMZD602KH?QiC(D@PDHQptCx~kJ<2ooj{1Y|!Mhi}l5D1cAA$^Uc2;bztP=jxeAd15LD+m0I z8vJ4T|AHBudi_ska8@4rX>$IOBtWvBe-{RRVFte!QARbaH8jR4WI+Qu?-d{p z&yjSQCsXqRM7+51xS3SC4fB<{nk=){g#b0&PV=D~#z06avwR6;j8jLFK#g%fmbM>b zg(;xea*8&Z|3O~3Tr?}w3}P^)+S;Xb-~Q&{+^lo6eaj~sZc8b0>5I6FdX-LU9GwO; ziVthfr`MSFTk(jdq$od3f99yRTA5hfRjRFQiksiwtEEAycdPcDUOfXzeXaXyPV4gF z5mm&O1P8K+UM0_IF`tcGRgObZSQ)dDe`0r;fZe@ z1D@u=6%^QXuO$_eG8CmCIOp%HJ=|A#qSY|7&1V<4ly3%GcL`M2-(0yQX(sC?`)Nh2 zLaw6u;lxA6K#!iG@?|`n(xGf`bu$_nTC8gBk@dv+c9AlM9B#?ngev1nCRaH}xpRse zcl63%Up9hxgiT$Y?2@V+?qZ!$PGYah&E*=k&n_OU;TfTtiVgrBvo}hQ-_Tyu)DZBp z@$g8WF8nkxBdY^!Oe64GyMc98kfg#bIsLuve24w_cwyt^X3!rz!`WX3nS zwn>t^#VQBM8P6>5w3K`m*TqI4S7o|46;YNBiyGFW_fp5x<4S``>&{J^E+ zK#Z*HhB5!@US1BP5X+!WBnL!k%<8ccm_UK7a7L*228rj6VQErPxI8c`skb!Z?kkYI z%)PY^*h77Vv2;iJC$+&55vc+K|VhRn^p+WK0k@Zd_p?nTWLnFE{X5c`*%C(KPLB2KQZS+zUc z!ex(R)z_ zDf-*g@jDy@)zUJD{c%cggDmL4CpwqJNh;jxp=4ej`*nF`W+%M{M=`!Z&3&wsa;#L< zLwD8ISIlI-*691Z8A>sVu0V{-J zcYW>WLg%R3&vVcy174rb1D0ITuqR{ZilT>v(CqW)3A!fJZn-?UHqf!4*=5D2U1iDuZ;W*-UnJDYHFNhrDv6A-u|TJgRIu4#t6wUs$q*^xtlGI=1Y@5h+Dc z1qyT>fO2DZ&=)Mwu0?dkwu`wi`?V9;xlDv&LkZwqm5 z3Vckt^NB2-RXR?Lz+=s@(sMSk%C;Lf6Y6@PPGdqxojI?Xt9QfEP@_^W8XRlW{aho8dJD#c zPA%3~8gc~ei+&*KWwoM#zcWXeEjdGik&O{Z6G&|kE*>|Mx)=iW^S_LLj}#m8-in0p zs-dq;3$fjxRDd6*%o{Yjc;%U{Fsj@G%np!9lo)<3dmT-My0r~!pH&AYaleD$LSp0` zxvjYfT@*W+YlzZ_4Sq3B5*j`UE%=-xG38YQ7;N>$OGRQy>oIi5bPdS~QRMOX`7h&% z2Sl!1BM<(Bsi&{^?~H&~@EcAA|D44BhY^7P`#pAg_Xe#x0K{F}Vx4rgp`8{g!GMHK zmeAt|mJF>cDHODc;ev~s#b%QdIOJl>M+DjJJng;2UPxv+6qV9;Xn20SE>=9nVc-A! z`LT2_*d~9Zauk*O>+z^w;@hU)L|>}-#ubG#vTQTn`=3MeWs6*F$1m9Kbr*@&mA_VJ z`1~a(uQlh&g1(E#@C9`H_jexWZSVPTPh>AxtKe2zI!b|u=F_UhUm3}ax#f|6C`&M= z-e_qSdGsQ+IR71GCztTfqqI29aJI>b^kU^ggJxO2i)wP?`>%{guZz9)cHzjEui3ls z9Og{^7k7S3eWOr6FZjDRe@?mn0Db=w^~=hrifd_Ik%C(pX}Q3V+he}7f^TJkvr_=n zxqnXpKtLq;D{?9{`a^2w4T0k z?H`;<(g<1nvNu0<@~Jid>}mUPle-h#3=dh#5yS(2{~(Jx5MBtt3~(j`fj~gy+C_Z; zcK^tLATX-N`l}2GL=oLzWgw6M(k;Kr_@DyF0P(8~Dj{{9G4gJM}Hs) z^bcKl1qA-Mmsb$@hkkruzQ4%$k*@qj7a$)5wbXx;3G)3hF2CR(b^xJ3;2%0edHImb z^4I>LyvRb@?=t>B#}z>CJ^bxD5ORn={Rb5MeOzR16v@he9Rn%j{oPj}q|!*r`-^_a zb%2bTzstaaKg}h=$p~2sbvoUV4zu)tqt+EFHmKX%BLHC3`aDaep$eGD^5JP4xfY!f WMox&+l?VdyBJ*)9EYd16c>e>Hy?>Md literal 0 HcmV?d00001 diff --git a/img/capacitor.pdf b/img/capacitor.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5872bc3f4817c0aa8b7cb100ba2e2d2477cd8f55 GIT binary patch literal 1034 zcma)5U1-x#6h_nsvoTQL{DCuFadX-vZPPYV$F}T8nLjlXMP&~$y~{GYq}<%jPVi9> z1;v3NsNlpGQHLAsMFvAbH&M_BQ4n!51gA2l_=hOyx#`-K`QjzyCg06D=ljlg5=b_+ zY?gzH5Ez*m{3V1z0{3vYkVt^IgE$uJf(Syo003f(oo0mMo;Db1BBq-nLS3EUF-nXc zA$RHWS-I?9effzWzfZ-=9z5!peR;EE$=!j$DcHDlNc;F^GG^^r{^81KWmVtL{;yRN zs}64ZUNLii&2Y3Wex~O7{#O$w`4;Xux-T2o9|oRJ_edAtsV8qwJw12-?fP{`2Bsg+ z-mrQbwrXEq$49#R-`DP{9KE0qzxcFl?SZlSz|ghvRK`(V zfW;!{NC9Kiu+xP4zihjGj38w`r@HGh;KK9cvfb%)f!pBw>M?^dUtvrQ3xPoM?iS%M DdBQC* literal 0 HcmV?d00001 diff --git a/img/char/PP_Sadle.pdf b/img/char/PP_Sadle.pdf new file mode 100644 index 0000000000000000000000000000000000000000..77c5e3509c2583f56b9f584b85e18b1342859623 GIT binary patch literal 6440 zcmcgxc|4T=_OGO(s4Nkxhf-vj#mrc;WLH@-_M{qPjIqp&nX#{xeQTj8t)hvNhU`m3 zv?x1Y5+zI4XhBi#^Nf_zy|4SbfBfb(X68Ac?JS>j&ifpa2X*x15b|hl$=uPqGu#RQ z9H7`cbE~QXFhc^F$Z!HsAPLJ2002ynz;9O^gP=peQyd7~>gwEd291Do^xZW^F-|LNH7qGeNeDx$B(R9o5)j8|8 zwdE;(J3@JGl_7!g=Hq(pW!O>^;4&g5ly^z`Ku48IhPb$}Qb9+ziK;mB=l2T?9Xk z70{Qf?KSI48A4=*Y!n;t$;>^Hbw-Nii~W3yzZGVjkW*y1-}&{Ohdpb=FK^RsNgdOE z*Sk#r(e0db7p>PHyj&ai4?>SaJlZ=mrVFKCX?Vie*jMXKL1%EdP)I}hx2=^&0|yJ3 z-Z?X#dUL~mNl*WwBl^Prn0yxgT5R?4!GMvi9sWbTF;>%F@_Tr{=IxzjhOPMG4t$o#Ci+B9E;2ab&m+(?SHNV}dnHLUU~ zLo&N%Ur_p`V${hZnJ~^PRvn~Jmk6V5gV5xhA%StCbw2X*YnR=2q!PJ2i_|=|;+<{* zWbw%Xp3oy%3TvA&PHn`li*{GSX6>&?(NV}PCksH#E)@CC!c!3O}QtqC9i7#;_H zg8l*y%zwi4C}hT>*^Y8>IXHk`@Hc1!M>zyY!Yq)$b>REQ`HDZ!2VmwtR004yh$9l% zyd1>Q2;kO;g>^6^f&&SsMezn~K@uE5A>|cO%1D$lpn#NzBNUNJD8P=rQX6CmTuKL^ zNHFjA`ZS6MbrGBMXR)aZa+-l0&~Rir6*?F1vq07c={f{Y5}tt7*Mf*Y@-Vk^60j2ZKGs>NP@HU(o$L^w z6#LwDr)m7`bk_s({|_e zh*UmT$%IWhQS0Rru&&$g)UVzqEA^CIN7h=q>3wbKKw!5Ty}vk-E-$=neHTYKCc!vH zf;zV)_?zJ!G-KqJXR70@(B2HmyEN}ldk=jGN?zt|+ci*L!C#rEUV<_#OXLzw{}$PM zy!Fbi;BmgTD-tQwtGbN~qN&=u0~in0o_}4#TvN=uRV2mQ^~AUoj-rAgLX3dker{uV|Ux)3fCQb{8)Q80x_{E++oI8fKtjiEY}?^?FAsEZpHTsITg zAcgb2Ri^qr`~2YNs0@SSQTrV;1WU67YpQEZE?+H~`JU$xt7vC)u5|l9sZ0ZpM4}%@ zvfs@^H6?pS-%Z>^zuc2OP&<_C`u?9-1*XmOw$d#v;m%u4)OMXvH@O#MXZ)awJekV- zphRY7Mh3Q34;QXVIk?>No*QG0h|Ptq_G3ARau=PQWcGf2VzzTAw1wLSh3=s z^TkH1H6GPPy|oYfk`%M2Ae8fP6|*4NWPIZbyvP7`)q9Cp+zysdaeeraPvu&x^N#Uj zQUt}D3sr|WJVI%LXNpBZnN!|8d&4JYG%%6wK&rL4xwx{9Zf&hxP#N+zi?F(FZCLfLV=J-hnU z+T9w!IU*u-U!$)Ga~xybv$7fyR>|4N@sIw~8P>@JuN%?LUf*wPtkl`fA=pOgE&ok z)SF{OSpi1KH-FV6gX*KPgTtTnD?Glcef64dZ{UAI^o`QH{jqCKeazqd+AP5$+32lk z2c|DBvrpGCg*TsnJBJ;|d6Et~e7IFCJ|v*Fbu`9!ZQLE(7Gu-EEP+fFl^z|wLz?*? zwNCecNpIT1@a=Kef43?0SP{C%ps3F~`L>aE^vxne{MNvTPLF7v+Ao|RESnr9udo>5 zl6S}|_a2WW@o$b8m?MhZcbIWITfF=xs};4$=tfhz6K1Wl$+zh6wi{WACFQ4p4;~Z;Ke%pNJR0e5pP^1#^$eZ#0o?saFvQMk`^zPj*Ha74bF_f4PNY#3J zFg=em{K%E!BnF!Qg#0**o)TWNm2-yP*&0IK9q=u};YOwM=4e+ZofdPf9O_7hg~8a> zGP9HU-C@zio4hPaTOXCyDUxS;6%y={Bu(0NxUzNEgwzqzk}w&Uj$(FEiA&YU*3Az+ zB9Z8yYW$Uk7t$bXdt8Q=0-xme~#(l+(@oI zfE1ohmY%1(;)rwr^>dEaeEyVEKml?{G#o&{QHp>f_+vhE?qlFwNq9{%(UkzqZ>&kj zLs?i6j%M!xu>?KKArbSNYU8K|1QO8+oPwTTVa6c1SprJG9t;*9AOXNDK|lgfid>vB z5sNYVd~Sv&vyU|MuxGH5f%ZNfhzJcM*&|vwIsu~mO(Ec9Gaow0%099q1)2?E7%YKE z0xut^BTW$f5ZEe$lCKHPfj}dXiGb8T2T(c^!{_IanFp2XN^pZ@W=r%V`$Nb6G7o^5 z#{ke?R)8%WL@1C>Q7ANEXSWC$K(J`RTmGGt5Pe>E|4BSuGFZ7l9K#kkmNQsnAO{?% zX^=%a$O&7w*m?V!Q!L0NsOA9;|ECES0OF#u3Goxh{k3lT4Y#1-N`K%MH&-(Y;lLNl zQ#W3F7M3LDO{ z0Gk*@Ke-`fLr%owZLx2{5fg7$Bfh&wYTAEVy_pn1xqzsklIwixK9(`-W-igY=@rWo zaI02yILWJpwyb}#LUnIfR|9`d?v^pTmupNmewSA8*imD5^yYHbmSY-X7gR5_cTGL@ zi3%|E-sz{LcD^v#d*x%E-r?G_mF@=V68^zdZH$+H5nrc~cNq0iZ-Z%1Pg6+u&XL+Q zCUbmOnfR3Fef z3txQu?w$`*)3(|;xe@Fqs^5<0vZ7Xtx0!YhNduJ<;%*xGYO}09+ZdZ^K)oKR>But-$ zJlu0<pO+$JjtonxVAEN*2maKpC7y`^tW}-8tvdaBZw)XO9YXo%KcU! z>8dGydB}d^b(~_2Vr-x%67A=nCSKsKyJ_hZyq|-az5diifNoF9DUEj(u%?!y~q{C$3JY8Tv;kAFi=DT)}xs zlb8Q-4={;`dD@He!N*neBu>D!oQ_+`-J0s_?t7UnUH6pPTbgZDw5wf5Q#LYpcH><1 z+*6GnW%b9&)2s5T$SnHEx@RoCPG-!M)WE5P&+=ohF=X6EMR$&?*Z_Yl)}1HETPV?; zYhYq$x^is1QrL}DQphLkLwRR;VH?tfvNJmR?qo2`6B66qG9(V1aK_x*J0)|sPya*F znf7h#WT%6t%kOgq(Vq94KVh7UvFSf>L3Yglq2RjdK_cxaeBArk_MHs;l}J79;kN8S zgc<5=i=p&gW-jZC6H4RsCv0-Kmz}d$<3)qmLqVmw@w4&UosDn1K_N0z%frGVWQ-9%O(V{1fdKz1-830Ky+|07>*h;hWHfd7OV(Y8?cfPs%niDDa zEcO{`pX2pNu{U_N>wQE16K(B4ePJPT#9g{a;GBlqlv?Ls67oVw24filp@{mKk)d*R zAyofpA|aq+^}p*PLBOU8*bw$!{gIg0`sm2gRo7i%%J*$APA-p$ORtYXBEm}oVr}y3 zmxp$LdGN-oH#cZd+TrwjvC-ho{yuHski;oS(AH@kF$ydnv7dMuB{rObNxk`3)MWROr!$42LY)NvA7`q zmG*w6Pj=#h($ze=(bCe_HrEBw4ehVs2BiLHY=cr*z&3ED{}J2FgPs2k+aTtfjlX&v zhz0NrW!7Kvv!(uTz|9hU{6Axxd9d~ewn4+eE)V$k8@^fWH2+S}zu}uD68>M{4ZF9p z1m4WIn-&>ikw4F~1~r=KY$F^XIY2;(?cP6INFE^KLoC8>$i=0OHrOo&VL6DkaU>cA zK*%HD@<>3+iNT<%z`!OMNF>s5R3{RiE>EEmrROi~K^n!u0}pne|NCXX1VBP%)j~v? zmp~f_!gUIfEdyJcAI-8~i@a$BM{YQPL~_G_z5omwt$+p`fgdz91_N3cdI97G8e9np zYU2+Y9D;*?(3IdyXbMOa$m;L&&}ayS{!W7{qnE5jATUeLMWWzK)*?|z(7?a%hg4Jm zP4p)Xy=1Kd9Kyc8&r?uPUUDu9vy>MUMtP}h;8uU`hlV4UoQp;(f>-tTbJ2jz`mpGx{A)g(HLy&qm{u*O;S?V HM34Jl#ysT% literal 0 HcmV?d00001 diff --git a/img/char/PP_Whirl.pdf b/img/char/PP_Whirl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4fb0e62533e5d67ac5957556b4dedc969c72d645 GIT binary patch literal 4251 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 R>7$h}a87Y?Z6h7de*r?0^A7+3 literal 0 HcmV?d00001 diff --git a/img/char/PP_stableNode.pdf b/img/char/PP_stableNode.pdf new file mode 100644 index 0000000000000000000000000000000000000000..aa9bf9466b1afbab6acb00a6db3cbc3abc7b387e GIT binary patch literal 6406 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 literal 0 HcmV?d00001 diff --git a/img/char/PP_stableStarNode.pdf b/img/char/PP_stableStarNode.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d24194b49b4e8bbe7d770b0244574ef479183ef6 GIT binary patch literal 6464 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 literal 0 HcmV?d00001 diff --git a/img/char/PP_stableWhirlNode.pdf b/img/char/PP_stableWhirlNode.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0ede9d977d4d9215156f185be8fefdaf4d6bd511 GIT binary patch literal 6403 zcmcgxc|4SD_g7Muk~Kxkol*$14^x)xd-grmV2rWMj9HMiMaHh8kW!B|Bt{`?lu}ZP z;!)C*EU9cI6y?3|5h=az=l#8Z{N^)e=KfyWIp?~rbH3-0G1t*kL?~hSWlD#xPV=Jx zI6!gnLTLLCBIH005XC$(uo-f#2SE20@45N^v9btE=(p?8ES`~kPG*KbMkcq82VNW@YDmUst^Fa zV0bwA0Kl|00R#YZ#e<*VT>u;AK4E$kGGkG1cSX1&9Kg)qC1?V7MFa?8=OJ($`2MlJ z^1}K6%=$2u0Km-gL;^<^b3BazPK}r!2QwwOk?>lS0Kf@^-~bw_q>RQP(KrBwQbJ*s zkqE$2=XV_0@-NJ2O$6iS{eI`uVGp{dx+VI zeIM?sKvkugmZZ5Qro=t;-eHk=VQgmqeSu20~w{(fg~C z=}POl)^>BVuu1!3rKz)eXnI+GIYdyl+vxN88hP9vKzsNSDr-TKQ_sy^oE` z;wifkh-i&5?$_nKUYYt63B$Oo1mW7f0peNJ_L^(+Y%I3$Mab|(Z;X)2-%eCfBv`N1 zr6qqHT^ZiNn%O$*`EE5*%S_>DBkz5I1V#RBf5GlFZPrSG`}nL9{D>CmFw`Zqh`}Hmgi& z9J^cs!GyD6RmywLR++BSxYH8-#wFrQO6;B+CwTTZFyiRLX*&$JEhWOT}6{_#JnI~vY4%SMMtRC1{;*>>~h+TtSPm+qt5xpzr zc5+g(#2C(fw6o-Hf`GgRaE6FDVb~fdnLCQz*R$d-BH}hrANSw-P1Ee-N&cBJPyN3a zXspnY=N9iHgdQXrvdizi@ym-oiR;Tj=ri5CQtM;MYeo=p74CK2YOjHf1qbv_ZjPYjIKEBMqs zt3DiTeQAbZlVN&PAzOYZ%JwvcubQ`xb_gRt-hV{OEV`6wnbNf*2K7sfvPS5sP zgcgYv?%v&_BjTu8{z>a(|ChYBO^m=EU;Vf1P8_Pl^cYn31*8?2YRBYMnz(KbjqGB^ z=rn)f`DokbE|bn?uw<@~cNgCqP7&P@IWS9c}igCV!LaI+5!{Ru|~FRAQ~zN_+WO*1bfHk^SUr;uSAy>TJ;ywL5jWd6H+J$IpZ~ zjGl&H-=8Z|Eq3j+dxz}oWxZ{so}v_?tp^Lc#CFLkT^PUVkmMP6pPk}REj)1bVv8=GtikMT>Z{g);hM~onqjo-YVM;) zH@?{@QO3(1f7Ci;xrBFj7460S?b$rT9k@47PbK7&_J&2N5D&Z_?e94P6UpLw;{&c zL+6>br6T%3zKy}~#agT5<*y=Qs@D12)U@BJX;CIm_o9-VQ)J9Kb@)njdBa->*(uok z^9Qjzsl=sbCMO7UF-IYe7GAJ}oSc9N_cporC>KSS3ni%ZT z_VFPh;0tYfcpsAYVL;ZE1Ix|f-gqJ%Kri&snhT$bC^Vpm#J~Xr9IXr}gFogXry&FH zO>)&F6TJz*+{Bu6S11T8!!evWAd#SFMI>TwQf)ldfIuR8fL$=Yzrg z1Ec_WBnU_V3XzLLCSoxipNq{vVOcw@+7-$>nKp@nN!P*lR?1FR)^`J zD28Nr3e+2-FqQ-&2|RqDjWj{>L*SSQ3chAEHv)}BCIYgCZlHD~#^Hq~D<+ldP4Izq z=4kXI`a{e9+#Uci#{r;NY?NKhb~qR|+@*?AE&fLPJ|ZTWXvLin8R{*!vTWH2d# zB!)vp)0@ZZh*_d*LQ2u?PS7`O{kyLYU59Qk;US9!87~)%oFz$(aoL8Y>}I zcyYLpt1$2B^(HfHz#$gVPks_EbS?7Umblj}#Mqlvi0{5pnl9t3HjqLnsfc>GSkg^m?u&{L1CeJ(Sc=JX`x{x$55T?kA#+rJIJGU+|gLT;%vr|X zbVy@ks%mOy_hi%I=n#{D9YHE;XDiYIR@__D`@Z?~ZC`^t>EI(&ZLEKArAU`)Km_$p z?-Prjp0@B;J3cgL=jM*?tlc`Jj`w-@?6y_dhcIIJ=s@^I?(&AF@sp0?pDhv+cA0PA z^1-|UEhmf4L&|m?keTrrEe~`)U?<94$=9tP5laZjzC$?fv3^}-|0Pu}3CRp5!Nlcr zevf6!iYjA5#`8xjH;E*6%J+PnoO05}D}JyXrv`0*T3gv}^QO?*E#*d;s#Wgp^&$v4 zF{AT}cF6}LWz2h8gl27eDEbtJ*C)Ml>eSG)eZ!YK^tyT@N__YU{Ij=uLFoMw() z98)t1j>PS6wAo+Jb6!(W^j;4z;R^F}krIKAs+LI~gKK#lwNt!2+4rjNMTuNXQ*Lif ziD~7|P905!sL~nX*_hcTjUJr(y|k&7WesFD{ln@9Y`w1B*h$%egrv_(!~bB(cwuE< z?u(Wo!IqZ3Ypw-IB>VCWjP1z7#U-jlWM+}V$L$@vL#CLpZ8tKXILjCclzW@ z8z1w;7Vn+hb+u3bW96yNEvpr#j!e~E=L@4f?6@OZ@jg#Y+X)J$dPyg0)262vI?bcG$tve>R z*KD?mrx+b>bY`9lB(OIzd)|D>a%md=5B}dqi$9;)O!_gpv1ftuN|ayHVxC6jp!x z(+`s=QPxdK%;T~tXwWOxL&b0D5ZA{>}j=~K$d)v1DihEL(_gnQe zHrX=(k{-*-w)W5wEnmCyy=7b1dkC%^Ucs&A9tX3}cYBw6&8}rj{=2VIw<2~r`CjF6 zD*bq)=Zn!$o9sc@ICq(W@6~`OwlzJoMSMK%<$MB9QM+n~W<$-43wR<5d9thQG`k8& z6XG_TUzWcOEH!+ZOewZ8G}S&M$joptc)4@rN%?(k?NI&o66DCMbY|$RhT5cB*B=7% zyh{ds83Lhsf7FK%P_Fvl6^I~W(*OuXjHut)=)X25s%GV1-Z0#Cr*jj_ zV&n53$08A|>X0~xvd7C#y!vwUwSRAE*r1%-$&rmiM>YfljW-(3DBg;+0-nfI>-($n z%P*LUl+@iWb2}gO(Sot*UP9}BB!wF2=i6|Ni|eo}Yoo`pwhpFBdITnW%lT7Cw3Zk3 z?SmV3iQUbyz^>py=RsDrGylZERF}xH{7NYq4T%0{Zi7b6a~rtI|Hy6T z$j<-9Z4h&H#GfS{S1BI{56Ia>cWAu&P5hgihjkc(3t zZLkmw(sGb%<4H6MfKWofm5_j}2ZKS~4FhXrAV{R)sU9R(x)Oy(l$$%S<}`{M(-kZ% z|M$awDgaiuetM)i4YctfU8fK^I&if4Q7ij7D1b(A=Z6DGBtLxN1z<546b5hyeqb0Z z3Y;2x0pxiMu8doX!67>Mdp|5_{$DW^5)R&gUoi|=)%qQS9Ds91Ie8VGfu}Jz RyN^);i@h>3x@LO({{p(V$%6m@ literal 0 HcmV?d00001 diff --git a/img/char/PP_stableZero.pdf b/img/char/PP_stableZero.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2a2a1ed323029f019f13738f3079dd7a82c4eae3 GIT binary patch literal 6773 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 NAqJtQW?^rM_&-t}FBkv- literal 0 HcmV?d00001 diff --git a/img/char/PP_unstableLine.pdf b/img/char/PP_unstableLine.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4aa3f563471b74bbaedddce9cf4b0f9c90dadaba GIT binary patch literal 6500 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 T8iQqhv?7?*#Kg3XbvXY8{AUQi literal 0 HcmV?d00001 diff --git a/img/char/PP_unstableLine2.pdf b/img/char/PP_unstableLine2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4d88d254d0c7de88282eef380c4ddbfca5ff6412 GIT binary patch literal 6398 zcmcgxc|4SD_phX)s4OW<-HD&XUxoX?rS;cT<1F9@3}}D>*&fO6wtiV1s`rr z^C|*xfNt-^tEvjX4w7gTwj+Q7MW(y}0Kjyq&TJAB{B|a=NjfAV-GRibrpC)+Gf4y& zUe8OHEgsQ?G}o0+T8^*3*;Y9H>cWQAQh|ZB+jFqB%ef7V)b7#lO|(b3un|S^Raf9D`u(UXL4eyzat%9z8_ru=}Uy$KSS6Z6Q_OhtakAC$MA^n z6rhh7ie|=a5|oM`ddLixQX0~me%Rxlvu*MMx6;mtb!Sa3<27{(@Yla6se3=LempYJ z?Pu*pUt>3*dtzDSg^fB^uS58@e8XYCZDQpJZQuX*l=1`d_AQF=`mu@}l^CnWq?AoJ z`UD^Gh@aKZOYUPe3rZLbka5MQ%_{5fmouNddjI+~kH*)8VqL=;l{ErZf{y7fD`s|7 zSLp=$UnlKa4hxjBw6|aOZEfbIeT6*k3FZRjc$)Vs*<*%XYcqPsVDHk-NgeRF8gDgl z$+bLkp6?w_(s+Owu2EBb{Ket3-@85sG(V2k&@AiM>*$jHzAduBMGKYA7qI1$u?d2F zX-yV2IRK6d=^{S4pjs;l7-)nB*DZ3Q4U`ihC-z%WBI=g-8mqFRxMLU1F=~(MF(5aO9haHjj+6fWrf^ z8GEP8MJp%1!{Udu?(>&&hws;W%-_IUa3tGtb++KN$sL+)duv*N6{0SJzm;t7Z=Plw zg(xMvW9xWC(W)nh%~BLAo!E8QFxsohVU@7p&5HdZ8Kp0) zx^8AQm$W9-Nle1Z{-O~0KBe^nM;n6v(M~&Rxzk%+Wa8avhR8l}Iwx z(}ILQ%r+&l=x$6Ri3LC|G+ktp64?GNtKb$C`BPSbd^DGS5C8&&#r%?H+{|qqg)D`> z4|kU+mL(bFB{{?9|cg;p^q&Or5vgY+k)hPNsp@MAKTkX{51Y(Dx;tHBc7M zQrNs~eGgX%CeAQYk})gc|Lx#SG<)c}dn$QGL?cW37SnTFZM_E1Vekb5Bnbe@z*sOYs&byiY8k*pBj}R z(3KI0aP={+S4C@%r|3<@4C7K`HdbnQ3a6G^X|B(-FxkcvEX^G*9xRq6MNyI`nXlT* zjQ=>gDzGzTX8WwuyLCt{Be{V3H4oRu$n);_3#L*>nGzCh4vyCMjyiLsVA%9fT~y_|m#>yje=l^1!rEG& zuh{W-YKFdBJjI(U$vgdUeYwhqH)HAO=PG%FjqeJaNB)jd%&>mkSt0Q>#A&M$e%C2A zqnt=v!@IS#iB$f(<$I>5_rSL55<*nz#>)@oxUkoVS|@I`AI?7#t=q>`lk=95scwxw z5V=AG;Rerzm0?vblo_m6zuy%8+CKP8LZnJ@5ciSVjADPI(Tz`tqJxZ8Ba%@Bsa%n= z=8&V~Ra&bHj|pOug}1ktsJ`QJ3u4+>n=6Ed^uoqsr%bv9ENd-$!;wdy<<-Tk-K`Fsryzp%wVn{o7{wU&uB<}@*Kqf9{jJw9oqIaYBPF8Uzr=D50 z;gjaqW=IxE2Cv1sF#XZl{d>vD{6&I0xNNyDP<7BD?>od}1AQ7hK13R>jlOB~)X>ED zwotaRa<7iSVa=jXT4x5nWVT7LPxQL#z1b9WtQ6g=U)t}Pbi+V9BE9q=ajS1=w_Aix z;}`CahuX-}S8~}Q(l=?!IS+;t1h<3^&Qe70I83{oD_fqP+kx6-kkXdvh*^s>`W6w= znQ}Xx_D!riD8q)Pwzl(Hp1FK0^F^}^IS`^Ee}M_I3;YepN=M=!LH686WG> zbMQMyG6c$n^3RbwWoEDI?kI2)q;J@6m)$M2M^@qT_+9Hbr>KXy3D)Hs2XB4MrW^{c zsZxIfSAVt?JfH;j13VB2)B<`SpgjCru0#Ax*ndiPVESC3P_}2Pooe9gf=7ILCCap2 zTOTQGhnF7U|4`Se=1+W-NH`nSEB2-B}RXCHt}Wa;BZCC8BIUt9Xxq7K>W41 zNZ}f;=m2w{6(Y_(Wz6RfrP8>EJ8`eu&&Fg?HT=SqC`Vt74)prNc$bZ@R_W8&AwE3# z9q}$c&X=LpV4PXV9dh(aSppj^cuHY3mz5k+zLk5L)!h-u*zNNz)FGt?wG0(3T@%i^mencYC^B{=$iNfN3qURO(VBx#c|{Z;k3_=(1RRA0u;7n5S6`n44IWMT9^Y3rBP2fK-Co@<_zoq}l|AK8Z?k1iPT;MwqclE{6c6pAG%_24nyj z5+o!5LF8h{L@Z|FbJz@Z<}7LEX3ypj1MPh}kPv!|PPYwY)n|ZN7Rrb-y zbf`B(VN6LBDj0mAk2FE@L*lpy0$(Gh1BpqcQ2?2J4xn{Zw%5WVGdBjqndAc5%(3VP z`a{e9+#Z0lfpbj560m`T1O@Ub3WWx2Z5J^Eh!xGBmVaj@B%kx$e==_`4Xj5XjbZZ| z%j+-NAO`~IX;4KLs0qinrgQsiPPd>@p-Kka_}{l+o*ynMh7b!h?vK^bFT4c}SNe^& zxHy|xZ1#PEn@oApku4!6^ynXV4_0f8kDKk61RL+N$HAi?s@w@Vv=lar&ul|TU{2r$ z;>I=SHXoeH1*{_x1GJXF4f&xDwne=PL5#g#jri^wrfEOEdJENuo`|Ss(3-rOK2>Hk zOd&t!vFxX(e)o!(0L3nfXODC2MM#ku_%I!011ebSDYs~zH{3wB=gMnAMifS9i&m0#1Y!VZ*$5?9HkZ}o0 zRtA-cl<7VyJ>xQ3bi($irJ&m?o*up6NRnsTebQ;i&6`38uBk2)5lwa@9kl zjJFGwHtucOFl*6E*Q2wKf6^^tOnrE2IDEZxx0H>TV51!|t+!Q|e7m41ccO!wd!w2b zk8d0lk~Db~cu(c#&>i7DetLm!5ez-Ww)esXZKftEZ$38#tCV_O_rc%D&g`?0Ywy|e zHZo90*ZxIVwZrx4_5+y_ZiNj4RyRw~h0>E9(VdlQxu2r$f4=*o^oqdoOy&kx&={S%F?$42?OBhlXOv=?}5-+|Njgu8?@Vv7#*Sv_=bu6A;e zKJnm_zeofs*@|sX3R*#V7~Y!5xQ8)M=J(wkRDCbE*F#8oC%M0~|NW57%&Dtm_=6`y zaYyPcj#P7B(&QI>&1)^i|{;lRa2jn zrlziZ`JN*2t~`TdJ2P=nu}Z-ysno!6tHXuo_+cB;MDnt_`fp~j&Ew*qxnxNmIOT-N z(U{zGt6%S9>Dg!7*2zuzPgULF@nb$7Fn`ECA89>sAW?4kDa6Cp$)ok6e$-*V4s)^T)}0el6HED}iJ2m?CnCN#w+(K{PqILcLM#XV0S<{<3d_pUV|Z>~|inbXC0AvA^_jLdZZz`_N=U zn0Z5-+i95uT4d4@Y$NYgmCemx^D3&V3`)D0V{1?A$Q3(S9cmjWc_3E$uvJ%G!io)0 zbwkV!RUY%#a<#nFSGaw%Bmb)5m0Wmo6wE5i;ax_)Wz)8-cVETs1@E$Py|v7y;A3&` zm;E2wWb9z$T!s3sw>(=8RrJo@=Hc!r;#u3SxTo^Ntgq358{EO!+-YT&n%y_36T%i- zUlhGLQLwK)o}Oc|&p`V;zgx1s{)=5BEkzHtwSDzAi_k)EvD|!T)$x<~?mqzXd`bp$ z83KVtEg&*ftHxlfdJVe|5!mtXF_^5`q@dn@a3W<>mh|CW5LQZuC@8gmU$6F#2rtyb-F2C2}Y-FyL1+b(mKv~^QhP| zwx=-?*mLr&?c0!YTi%JmscwN&S*3W%XKxt$>LkT38nX>#`7XoKxX(>@TCPT)n06^H zecnsEm~qH5jX!O-x5o#w37EQM*ZGpv8{V0@6B+@dxursFhEG4OtsP?V{K1*?#XRUt zq#}I5mx~MHpRo56J~_Yz!POkQ(bCe>Hs1@f8|EL$4JiH3+y@&C+i=ExcZ_KUa;8V+9afPcU6o5hFb-x>NR zezU~F{|mk0+^sC3H*>d5i#B1=d7e`Zx@Tf>HsJu(0U}DA-lGB`vBfA5C@qy1NzA_50)$*(dr3Ja?Ls|=2VPRg$`1OmBa4WuGw z$ylT!c-i;cSR_UXjMQJ}Lt>$d>o*w=v!tJ*B6`WXD9ln_P#Dw_+fX?4lKD_Lr6ud4 zk&0l1{i+KZgIn592}&6A{n$(bSTQj<|DrIXo*+Sc2^~dKI-L!0Vqy-FpfU&G#3-k( XVzCKKHfQ(IO5kO$wDevhUEY5Ivf#(A literal 0 HcmV?d00001 diff --git a/img/char/PP_unstableNode.pdf b/img/char/PP_unstableNode.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7b49bb10b2626eb9e5b585d9c04ec0b5b6380e29 GIT binary patch literal 6380 zcmcgxc|6qb_OGN+sVpg5pOhlY%x5+xTXvOwNtUUG8H|`2vmio?eXS7MBPK*q_N7Eg zo2`hXZ(~b~$Xb;9nGq@7`?|mT$M5r+?K#hO&Uwyr&ikB^HPRwmEi`UAd;m3001xpk_UrGgT6iR45A*LYV7K`^ zEcEKNof~e|Q;(U$9}8(!`4oSs`_Z9mz7kx*YkbUuPDofH(wNF3qMhW|X%=^lkrFE! z{c+-=idk#;Y)-s2j1FO2i2EC-924G}_;i1qY`ABk>I9-CyL7V?ZKGMQO%KvBU*>u3 zN_TeDK7CeH*#+`cj7kNou425iIjlKNnBf29%BCd1FQNNBAL5(R;tF6rHUjR>UUYrz zZq2s`=eN8|Yd`Vgs>5-dY3|ZXrm;`g;sFCCkI}e&aC(7CaPP}^1Jx_;c0W|?&ad1s zblK?X+r+oUZ`O;*8V<`93Er~%$7=PZmQV#&%E3DURSq!E^Lvj=!&XXyV(pfS;jhgN z)@^SKZF;pS^2S9844aAKO|-X$&ios2)V1^2@F=}niCA5LdlPchfzSWsG#0^0neZll{x5?$KVs0p`*pFJ%U zbflMCRBAuEc4be0om!XUBwAkWjiW7QbJ$x4bl3L$q1;2g_>7j7c?xIVySco{m2q&* zMcQ498(j=ypUDLdKfq+;npYU&ZUoq4W5YA^Y36E*30>;K_BGG8^r&ZFKA)9&*zM&2 zStuW8&=sBWA^)g7a)=eKkX9w#j$9P z8FRiNL&l(yoPJIVF=y{w3)lB$7+NtP>ju=-IRxl|;o(pNfaz)jAOLg5L!Xe%Lme}p zFarviF>kbs5?l!mpl9z4X8{)_5F%k_Nzgp#^>crfx%~l{^H{q@pkIjRw89EQzkXe$nbqo-j;;X|xP=TI%R` z?{1ZFb&_T|%D6I#Un28+ME9|li`$M4 z3bkI8Nu5~s#OPO-gK~Jv4iJpg8sd3d#CIsoa4c>B zdo^xt<&BgKmB`xSs;We^UZzh=`ZBmIxHW8Q)3p2hl?WX( z#bdR6bt~eO1U6rRsXcI=5D{+(jWzO*Iq6t1V7d1}R&t}rph%fWOYwuAu}qM zM?D#(XSeGo980&4JR)#tdcbAUB+c)x3v z>Yww^^p8en86Atw(JB|`3L%U1F7J@@&Mt+iBdJCA4&G4KFsS6