diff --git a/scripts/cm_optics.py b/scripts/cm_optics.py index 37845df..ec1159b 100644 --- a/scripts/cm_optics.py +++ b/scripts/cm_optics.py @@ -29,12 +29,12 @@ def dielectric_absorption(): omegas_THz = omegas / 1e12 anno_color = COLORSCHEME["fg2"] - axs[0].set_ylabel(r"$\epsreal(\omega)$") + axs[0].set_ylabel(r"$\epsReal(\omega)$") axs[0].hlines([eps_real_0], omegas_THz[0], omegas_THz[omegas_THz.shape[0]//3], color=anno_color, linestyle="dotted") axs[0].hlines([eps_real_infty], omegas_THz[omegas_THz.shape[0]*2//3], omegas_THz[-1], color=anno_color, linestyle="dotted") axs[0].text(omegas_THz[-1], eps_real_infty, r"$\epsilon_\txr(\infty)$", ha="right", va="bottom", color=anno_color) axs[0].text(omegas_THz[0], eps_real_0, r"$\epsilon_\txr(0)$", ha="left", va="top", color=anno_color) - axs[1].set_ylabel(r"$\epscomplex(\omega)$") + axs[1].set_ylabel(r"$\epsImag(\omega)$") vals = [eps_real, eps_imag] for i in range(2): ax = axs[i] diff --git a/src/appendix.tex b/src/appendix.tex new file mode 100644 index 0000000..3d7a47b --- /dev/null +++ b/src/appendix.tex @@ -0,0 +1,20 @@ +\Part{appendix} + \desc{Appendix}{}{} + \desc[german]{Anhang}{}{} +\begin{formula}{world} + \desc{World formula}{}{} + \desc[german]{Weltformel}{}{} + \eq{E = mc^2 +\text{AI}} +\end{formula} +\Input{quantities} +\Input{constants} + +% \listofquantities +% \listoffigures +% \listoftables +\Section{elements} + \desc{List of elements}{}{} + \desc[german]{Liste der Elemente}{}{} + \printAllElements +\newpage + diff --git a/src/ch/el.tex b/src/ch/el.tex index cf88b79..0075078 100644 --- a/src/ch/el.tex +++ b/src/ch/el.tex @@ -452,12 +452,12 @@ %Current through an electrode iof a unimolecular redox reaction with both anodic and cathodic reaction occuring on the same electrode \desc[german]{Butler-Volmer-Gleichung}{Reaktionskinetik in der Nähe des Gleichgewichtspotentials} {$j$ \qtyRef{current_density}, $j_0$ Austauschstromdichte, $\eta$ \fRef{ch:el:kin:overpotential}, \QtyRef{temperature}, $z$ \qtyRef{charge_number}, \ConstRef{faraday}, \ConstRef{universal_gas}, $\alpha_{\txC/\txA}$ Ladungstransferkoeffizient an der Kathode/Anode, $\text{rf}$ \fRef{::roughness_factor}} + \newFormulaEntry \begin{gather} j = j_0 \,\rfactor\, \left[ \Exp{\frac{(1-a_\txC) z F \eta}{RT}} - \Exp{-\frac{\alpha_\txC z F \eta}{RT}}\right] \intertext{\GT{with}} \alpha_\txA = 1 - \alpha_\txC \end{gather} - \separateEntries \fig{img/ch_butler_volmer.pdf} \end{formula} diff --git a/src/cm/charge_transport.tex b/src/cm/charge_transport.tex index b3eff8c..33a0c00 100644 --- a/src/cm/charge_transport.tex +++ b/src/cm/charge_transport.tex @@ -42,7 +42,7 @@ \end{formula} \begin{formula}{mean_free_path} - \abbrLabel{mfp} + \abbrLabel{MFP} \desc{Mean free path}{}{} \desc[german]{Mittlere freie Weglänge}{}{} \eq{\ell = \braket{v} \tau} diff --git a/src/cm/crystal.tex b/src/cm/crystal.tex index 670a74b..ec40111 100644 --- a/src/cm/crystal.tex +++ b/src/cm/crystal.tex @@ -292,3 +292,121 @@ } \end{formula} + +\Subsection{defect} + \desc{Defects}{}{} + \desc[german]{Defekte}{}{} + \Subsubsection{point} + \desc{Point defects}{}{} + \desc[german]{Punktdefekte}{}{} + \begin{formula}{vacancy} + \desc{Vacancy}{}{} + \desc[german]{Fehlstelle}{}{} + \ttxt{\eng{ + \begin{itemize} + \item Lattice site missing an atom + \item Low formation energy + \end{itemize} + }\ger{ + \begin{itemize} + \item Unbesetzter Gitterpunkt + \item Geringe Formationsenergie + \end{itemize} + }} + \end{formula} + + \begin{formula}{interstitial} + \desc{Interstitial}{}{} + \desc[german]{}{}{} + \ttxt{\eng{ + \begin{itemize} + \item Extranous atom between lattice atoms + \item High formation energy + \end{itemize} + }\ger{ + \begin{itemize} + \item Zusätzliches Atom zwischen Gitteratomen + \item Hohe Formationsenergy + \end{itemize} + }} + \end{formula} + + \begin{formula}{schottky} + \desc{Schottky defect}{}{} + \desc[german]{Schottky-Defekt}{}{} + \ttxt{\eng{ + Atom type A \fRef{:::vacancy} + atom type B \fRef{:::vacancy}. + Only in (partially) ionic materials. + }\ger{ + \fRef{:::vacancy} von Atomsorte A und \fRef{:::vacancy} von Atomsorte B. + Tritt nur in ionischen Materialiern auf. + }} + \end{formula} + + \begin{formula}{frenkel} + \desc{Frenkel defect}{}{} + \desc[german]{Frenkel Defekt}{}{} + \ttxt{\eng{ + \fRef{:::vacancy} + \fRef{:::interstitial} + }\ger{ + \fRef{:::vacancy} + \fRef{:::interstitial} + }} + \end{formula} + + \Subsubsection{line} + \desc{Line defects}{}{} + \desc[german]{Liniendefekte}{}{} + \begin{formula}{edge} + \desc{Edge distortion}{}{} + \desc[german]{Stufenversetzung}{}{} + \ttxt{\eng{ + Insertion of an extra plane of atoms + }\ger{ + Einschiebung einer zusätzliche Atomebene + }} + \TODO{images} + \end{formula} + + \begin{formula}{screw} + \desc{Screw distortion}{}{} + \desc[german]{Schraubenversetzung}{}{} + \ttxt{\eng{ + \TODO{TODO} + }\ger{ + + }} + \end{formula} + + \begin{formula}{burgers_vector} + \desc{Burgers vector}{Magnitude and direction of dislocation}{} + \desc[german]{Burgers-Vektor}{Größe und Richtung einer Versetzung}{} + \quantity{\vecb}{units}{ievs} + \eq{ + \TODO{TODO} + } + \end{formula} + + \Subsubsection{area} + \desc{Area defects}{}{} + \desc[german]{Flächendefekte}{}{} + \begin{formula}{grain_boundary} + \desc{Grain boundary}{}{} + \desc[german]{Korngrenze}{}{} + \ttxt{\eng{ + Lead to + \begin{itemize} + \item Secondary phases + \item Charge carrier trapping, recombination + \item High mass diffusion constants + \end{itemize} + }\ger{ + Führen zu + \begin{itemize} + \item Sekundärphasen + \item Separierung, Trapping und Streuung von Ladunsträgern + \item Hohe Massendiffusionskonstante + \end{itemize} + }} + \end{formula} + + diff --git a/src/cm/misc.tex b/src/cm/misc.tex index 11db919..637ef37 100644 --- a/src/cm/misc.tex +++ b/src/cm/misc.tex @@ -27,11 +27,11 @@ \Subsubsection{kp} - \desc{$k\cdot p$ Method}{ + \desc{k p Method}{ \fRef[Pertubative]{qm:qm_pertubation} method for calculating the effective mass of a band. Treats the $\veck\cdot\vecp$ term in the Bloch Hamiltonian as second-order pertubation near an extrmum, usually at $k=0$. }{} - \desc[german]{$k\cdot p$ Methode}{ + \desc[german]{kp Methode}{ \fRef[Störungstheoretische]{qm:qm_pertubation} Methode zur Berechnung der effektiver Massen von Bändern. Betrachtung des Terms $\veck\cdot\vecp$ im Bloch-Hamiltonian als Störung zweiter Ordnung um ein Extremum, meistens bei $k=0$. }{} @@ -167,7 +167,6 @@ % \desc{\GT{misc}}{}{} % \desc[german]{\GT{misc}}{}{} - \begin{formula}{vdw_material} \desc{Van-der-Waals material}{2D materials}{} \desc[german]{Van-der-Waals Material}{2D Materialien}{} @@ -178,28 +177,18 @@ }} \end{formula} - \begin{formula}{work_function} \desc{Work function}{Lowest energy required to remove an electron into the vacuum}{} \desc[german]{Austrittsarbeit}{eng. "Work function"; minimale Energie um ein Elektron aus dem Festkörper zu lösen}{} - \quantity{W}{\eV}{s} - \eq{W = \Evac - \EFermi} + \quantity{\Phi}{\volt}{s} + \eq{e\Phi = \Evac - \EFermi} \end{formula} \begin{formula}{electron_affinity} \desc{Electron affinity}{Energy required to remove one electron from an anion with one negative charge.\\Energy difference between vacuum level and conduction band}{} \desc[german]{Elektronenaffinität}{Energie, die benötigt wird um ein Elektron aus einem einfach-negativ geladenen Anion zu entfernen. Entspricht der Energiedifferenz zwischen Vakuum-Niveau und dem Leitungsband}{} - \quantity{\chi}{\eV}{s} - \eq{\chi = \left(\Evac - \Econd\right)} - \end{formula} - - - \begin{formula}{laser} - \desc{Laser}{Light amplification by stimulated emission of radiation}{} - \desc[german]{Laser}{}{} - \ttxt{ - \eng{\textit{Gain medium} is energized \textit{pumping energy} (electric current or light), light of certain wavelength is amplified in the gain medium} - } + \quantity{\chi}{\volt}{s} + \eq{e\chi = \left(\Evac - \Econd\right)} \end{formula} \begin{formula}{vacuum} @@ -208,11 +197,16 @@ \ttxt{\eng{ \begin{itemize} \item \textbf{Rough vacuum}: \SI{1}{\atm} - \SI{10e-2}{\milli\bar} \\ viscous flow - \item \textbf{Process vacuum}: \SI{10e-2}{\milli\bar} - \SI{10e-4}{\milli\bar} \\ \abbrRef{mfp} $\le$ chamber size - \item \textbf{High vacuum}: \SI{10e-5}{\milli\bar} - \SI{10e-9}{\milli\bar} \\ \abbrRef{mfp} $>$ chamber size, mostly residual \ce{H20} vapor - \item \textbf{Ultra-high vacuum}: $<$ \SI{10e-9}{\milli\bar} \\ \abbrRef{mfp} $\gg$ chamber size, mostly residual \ce{H2} + \item \textbf{Process vacuum}: \SI{10e-2}{\milli\bar} - \SI{10e-4}{\milli\bar} \\ \abbrRef{mean_free_path} $\le$ chamber size + \item \textbf{High vacuum}: \SI{10e-5}{\milli\bar} - \SI{10e-9}{\milli\bar} \\ \abbrRef{mean_free_path} $>$ chamber size, mostly residual \ce{H20} vapor + \item \textbf{Ultra-high vacuum}: $<$ \SI{10e-9}{\milli\bar} \\ \abbrRef{mean_free_path} $\gg$ chamber size, mostly residual \ce{H2} \end{itemize} }\ger{ - \TODO{translate} + \begin{itemize} + \item \textbf{Grobvakuum}: \SI{1}{\atm} - \SI{10e-2}{\milli\bar} \\ viskoser Fluss + \item \textbf{Prozessvakuum}: \SI{10e-2}{\milli\bar} - \SI{10e-4}{\milli\bar} \\ \abbrRef{mean_free_path} $\le$ Kammergröße + \item \textbf{Hochvakuum}: \SI{10e-5}{\milli\bar} - \SI{10e-9}{\milli\bar} \\ \abbrRef{mean_free_path} $>$ Kammergröße, hauptsächlich \ce{H2O} Rückstände übrig + \item \textbf{Ultrahochvakuum}: $<$ \SI{10e-9}{\milli\bar} \\ \abbrRef{mean_free_path} $\gg$ Kammergröße, hauptsächlich \ce{H2} Rückstände übrig + \end{itemize} }} \end{formula} diff --git a/src/cm/optics.tex b/src/cm/optics.tex index b3a1b48..3d9145d 100644 --- a/src/cm/optics.tex +++ b/src/cm/optics.tex @@ -2,9 +2,9 @@ \desc{Optics}{}{} \desc[german]{Optik}{}{} - \Subsection{insulator} - \desc{Dielectrics and Insulators}{}{} - \desc[german]{Dielektrika und Isolatoren}{}{} + % \Subsection{insulator} + % \desc{Dielectrics and Insulators}{}{} + % \desc[german]{Dielektrika und Isolatoren}{}{} \begin{formula}{eom} \desc{Equation of motion}{Nuclei remain quasi static, electrons respond to field}{$u$ \GT{dislocation}, $\gamma = \frac{1}{\tau}$ \GT{dampening}, \QtyRef{momentum_relaxation_time}, \QtyRef{electric_field}, \ConstRef{charge}, $\omega_0$ \GT{resonance_frequency}, \ConstRef{electron_mass}} @@ -13,12 +13,12 @@ \end{formula} \begin{formula}{lorentz} - \desc{Drude-Lorentz model}{Dipoles treated as classical harmonic oscillators}{$N$ number of oscillators (atoms), $\omega_0$ resonance frequency } - \desc[german]{Drude-Lorentz-Model}{Dipole werden als klassische harmonische Oszillatoren behandelt}{} - \eq{\epsilon_\txr(\omega) = 1+\chi + \frac{Ne^2}{\epsilon_0 m_\txe} \left(\frac{1}{\omega^2-\omega^2-i\gamma\omega}\right)} + \desc{Drude-Lorentz model}{Dipoles treated as classical harmonic oscillators}{\QtyRef{electric_suseptibility}, $N$ number of oscillators (atoms), $\omega_0$ resonance frequency, Absorption has \absRef[lorentzian shape]{lorentz_distribution}} + \desc[german]{Drude-Lorentz-Model}{Dipole werden als klassische harmonische Oszillatoren behandelt}{\QtyRef{electric_suseptibility}, $N$ Anzahl der Oszillatoren (Atome), $\omega_0$ Resonanzfrequenz, Absorption hat Form einer \absRef[Lorentz-Verteilung]{lorentz_distribution}} + \eq{\epsilon_\txr(\omega) = 1+\chi_\txe + \frac{Ne^2}{\epsilon_0 m_\txe} \left(\frac{1}{\omega^2-\omega^2-i\gamma\omega}\right)} \eq{ - \complex{\epsilon}_\txr(0) &\to 1+\chi + \frac{Ne^2}{\epsilon_0 m_\txe \omega_0^2} \\ - \complex{\epsilon}_\txr(\infty) &= \epsilon_\infty = 1+\chi + \complex{\epsilon}_\txr(0) &\to 1+\chi_\txe + \frac{Ne^2}{\epsilon_0 m_\txe \omega_0^2} \\ + \complex{\epsilon}_\txr(\infty) &= \epsilon_\infty = 1+\chi_\txe } \fig{img/cm_optics_absorption_dielectric.pdf} \end{formula} @@ -117,7 +117,7 @@ \desc{\qtyRef{absorption_coefficient}}{For a direct semiconductor}{\QtyRef{angular_frequency}, \QtyRef{refraction_index_real}, \QtyRef{permittivity_complex}} \desc[german]{}{Für direkte Halbleiter}{} \eq{ - \alpha &= \frac{\omega}{\nreal c} \epsreal \\ + \alpha &= \frac{\omega}{\nReal c} \epsReal \\ \left(\hbar\omega\alpha\right)^2 \propto \hbar\omega-\Egap } \end{formula} @@ -130,31 +130,68 @@ } \end{formula} - - \begin{formulagroup}{quantum_well} - \desc{Interband absorption in quantum wells}{}{} - \desc[german]{Interbandabsorption in Quantum Wells}{}{} - \TODO{TODO} - \end{formulagroup} - - \begin{formulagroup}{exciton} - \desc{\fRef{cm:sc:exciton} absorption}{}{\QtyRef{band_gap}, $E_\text{binding}$ \fRef{cm:sc:exciton:binding_energy}} - \desc[german]{\fRef{cm:sc:exciton} Absorption}{}{} - \begin{formula}{absorption} - \desc{Absorption}{}{} - \desc[german]{Absorption}{}{} - \ttxt{\eng{ - Due to binding energy, exciton absorption can happen below the \absRef[band gap energy]{band_gap} \Rightarrow Sharp absorption peak below $\Egap$. - At high (room) temperatures, excitons are ionized by collisions with phonons. - }\ger{ - Aufgrund der Bindungsenergie kann die Exzitonenabsorption unterhalb der \absRef[Bandlückenenergie]{band_gap} auftreten \Rightarrow scharfer Absorptionspeak unterhalb von $\Egap$. - Bei hohen (Raum) Temperaturen werden Exzitons durch Kollisionen mit Phononen ionisiert. - }} - \eq{\hbar\omega = \Egap - E_\text{binding}} - \end{formula} - \end{formulagroup} + \begin{formula}{exciton} + \desc{\fRef[Exciton]{cm:sc:exciton} absorption}{}{\QtyRef{band_gap}, $E_\text{binding}$ \fRef{cm:sc:exciton:binding_energy}} + \desc[german]{\fRef[Exciton]{cm:sc:exciton} Absorption}{}{} + \ttxt{\eng{ + Due to binding energy, exciton absorption can happen below the \absRef[band gap energy]{band_gap} \Rightarrow Sharp absorption peak below $\Egap$. + At high (room) temperatures, excitons are ionized by collisions with phonons. + }\ger{ + Aufgrund der Bindungsenergie kann die Exzitonenabsorption unterhalb der \absRef[Bandlückenenergie]{band_gap} auftreten \Rightarrow scharfer Absorptionspeak unterhalb von $\Egap$. + Bei hohen (Raum) Temperaturen werden Exzitons durch Kollisionen mit Phononen ionisiert. + }} + \eq{\hbar\omega = \Egap - E_\text{binding}} + \end{formula} + \Subsubsection{quantum_well} + \desc{Quantum wells}{}{} + \desc[german]{Quantum Wells}{}{} + \begin{formula}{interband} + \desc{Interband transitions}{}{} + \desc[german]{Interband-Übergänge}{}{} + \ttxt{\eng{ + Selection rules: + \begin{itemize} + \item $\E \parallel \text{QW}$: allowed for \abbrRef{light_hole}, \abbrRef{heavy_hole} + \item $\E \perp \text{QW}$: allowed for \abbrRef{light_hole}, forbidden for \abbrRef{heavy_hole} + \item In a symmetric potential: only $\Delta n=0$ transitions allowed + \end{itemize} + }\ger{ + Auswahlregeln: + \begin{itemize} + \item $\E \parallel \text{QW}$: erlaubt für \abbrRef{light_hole}, \abbrRef{heavy_hole} + \item $\E \perp \text{QW}$: erlaubt für \abbrRef{light_hole}, verboten für \abbrRef{heavy_hole} + \item In einem symmatrischen Potential: nur Übergänge mit $\Delta n=0$ erlaubt + \end{itemize} + }} + \end{formula} + + \begin{formula}{intersubband} + \desc{Inter-subband transitions}{\qtyrange{3}{27}{\micro\m}}{} + \desc[german]{Inter-Subband-Übergänge}{}{} + \ttxt{\eng{ + Selection rules: + \begin{itemize} + \item $\E \parallel \text{QW}$ allowed + \item $\E \perp \text{QW}$ forbidden + \item Parity of intial and final state must differ + \end{itemize} + }\ger{ + Auswahlregeln: + \begin{itemize} + \item $\E \parallel \text{QW}$ erlaubt + \item $\E \perp \text{QW}$ verboten + \item Parität von Anfangs- und Endzustand muss unterschiedlich sein + \end{itemize} + }} + \end{formula} + + \begin{formula}{exciton} + \desc{Exciton in a quantum well}{Increased \fRef{::binding_energy} due to larger Coulomb interaction through confinment}{} + % \desc[german]{}{}{} + \eq{E^\text{2D}_n = \Egap + E_{\txe0} + E_{\txh0} - \frac{R^*}{\left(n-\frac{1}{2}\right)^2}} + \end{formula} \TODO{dipole approximation} diff --git a/src/cm/semiconductors.tex b/src/cm/semiconductors.tex index 8e057f4..08aca0d 100644 --- a/src/cm/semiconductors.tex +++ b/src/cm/semiconductors.tex @@ -28,13 +28,13 @@ \desc[german]{Definition}{}{} \hiddenQuantity[band_gap]{\Egap}{\electronvolt}{s} \ttxt{\eng{ - Energy gap between highest occupied (HO) and lowest unoccupied (LU) band/orbital\\ + Energy gap between highest occupied (HO) and lowest unoccupied (LU) band/orbital. \begin{itemize} \item \textbf{direct}: HO and LU at same $\veck$ \item \textbf{indirect} HO and LU at different $\veck$ \end{itemize} }\ger{ - Energielücke zwischen höchstem besetztem (HO) und niedrigsten unbesetzten (LU) Band/Orbital + Energielücke zwischen höchstem besetztem (HO) und niedrigsten unbesetzten (LU) Band/Orbital. \begin{itemize} \item \textbf{direkt}: HO und LU bei gleichem $\veck$ \item \textbf{indirekt}: HO und LU bei unterschiedlichem $\veck$ @@ -49,10 +49,9 @@ \ttxt{\eng{ $T\uparrow\quad\Rightarrow \Egap\downarrow$ \begin{itemize} - \item distance of atoms increases with higher temperatures \Rightarrow less wave function overlap + \item Distance of atoms increases with higher temperatures \Rightarrow less wave function overlap \item Low temperature: less phonons avaiable for electron-phonon scattering \end{itemize} - \TODO{why?} }\ger{ $T\uparrow\quad\Rightarrow \Egap\downarrow$ \begin{itemize} @@ -117,7 +116,7 @@ \end{formulagroup} \begin{formula}{band_edge_dos} - \desc{Band edge density of states}{}{$\meff$ \qtyRef{effective_mass}, \ConstRef{boltzmann}, \QtyRef{temperature}, \ConstRef{planck2pi}} + \desc{Band edge density of states}{}{$\meff$ \qtyRef{effective_mass}, \ConstRef{boltzmann}, \QtyRef{temperature}} \desc[german]{Bandkanten-Zustandsdichte}{}{} \eq{ N_\txC &= 2\left(\frac{\meff_\txe\kB T}{2\pi\hbar^2}\right)^{3/2} \\ @@ -174,17 +173,17 @@ \end{formula} \begin{formula}{charge_neutrality} - \desc{Charge neutrality}{Fermi level must adjust so that charge neutrality is preserved}{$N_{\txd/\txa}^{+/-}$ ionized donor/acceptor density, $n,p$ \fRef{cm:sc:charge_carrier_density}} - \desc[german]{Ladungsneutralität}{Fermi-Level muss sich so anpassen, dass Ladungsneutralität erhalten ist}{$N_{\txd/\txa}^{+/-}$ Dichte der ionisierten Donatoren/Akzeptoren , $n,p$ \fRef{cm:sc:charge_carrier_density}} - \eq{0 = N_\txd^+ + p - N_\txa^- -n} + \desc{Charge neutrality}{Fermi level must adjust so that charge neutrality is preserved}{$N_{\txD/\txA}^{+/-}$ ionized donor/acceptor density, $n,p$ \fRef{cm:sc:charge_carrier_density}} + \desc[german]{Ladungsneutralität}{Fermi-Level muss sich so anpassen, dass Ladungsneutralität erhalten ist}{$N_{\txD/\txA}^{+/-}$ Dichte der ionisierten Donatoren/Akzeptoren , $n,p$ \fRef{cm:sc:charge_carrier_density}} + \eq{0 = N_\txD^+ + p - N_\txA^- -n} \end{formula} \begin{formula}{ionization_ratio} - \desc{Fraction ionized donors/acceptors}{At thermal equilibrium}{$N_{\txd/\txa}^{+/-}$ ionized donor/acceptor density, $N_{\txd/\txa}$ donor/acceptor density, $E_{\txd/\txa}$ donor/acceptor energy level, $g$ spin degeneracy} - \desc[german]{Anteil ionisiserter Akzeptoren/Donatoren}{Im thermischen Equilibrium}{$N_{\txd/\txa}^{+/-}$ ionisierte Donor/Akzeptordichte, $N_{\txd/\txa}$ Donor/Akzeptordichte, $E_{\txd/\txa}$ Energie der Donatoren/Akzeptoren, $g$ Spindegenierung} + \desc{Fraction ionized donors/acceptors}{At thermal equilibrium}{$N_{\txD/\txA}^{+/-}$ ionized donor/acceptor density, $N_{\txD/\txA}$ donor/acceptor density, $E_{\txD/\txA}$ donor/acceptor energy level, $g$ spin degeneracy} + \desc[german]{Anteil ionisiserter Akzeptoren/Donatoren}{Im thermischen Equilibrium}{$N_{\txD/\txA}^{+/-}$ ionisierte Donor/Akzeptordichte, $N_{\txD/\txA}$ Donor/Akzeptordichte, $E_{\txD/\txA}$ Energie der Donatoren/Akzeptoren, $g$ Spindegenierung} \eq{ - \frac{N_\txd^+}{N_\txd} &= 1- \frac{1}{1+\frac{1}{g}\Exp{\frac{E_\txD-\Efermi}{\kB T}}} \\ - \frac{N_\txa^-}{N_\txa} &= \frac{1}{1+g\Exp{\frac{E_\txA-\Efermi}{\kB T}}} + \frac{N_\txD^+}{N_\txD} &= 1- \frac{1}{1+\frac{1}{g}\Exp{\frac{E_\txD-\Efermi}{\kB T}}} \\ + \frac{N_\txA^-}{N_\txA} &= \frac{1}{1+g\Exp{\frac{E_\txA-\Efermi}{\kB T}}} } \end{formula} @@ -218,123 +217,46 @@ }} \end{formula} -\Subsection{defect} - \desc{Defects}{}{} - \desc[german]{Defekte}{}{} - \Subsubsection{point} - \desc{Point defects}{}{} - \desc[german]{Punktdefekte}{}{} - \begin{formula}{vacancy} - \desc{Vacancy}{}{} - \desc[german]{Fehlstelle}{}{} - \ttxt{\eng{ - \begin{itemize} - \item Lattice site missing an atom - \item Low formation energy - \end{itemize} - }\ger{ - \begin{itemize} - \item Unbesetzter Gitterpunkt - \item Geringe Formationsenergie - \end{itemize} - }} - \end{formula} - \begin{formula}{interstitial} - \desc{Interstitial}{}{} - \desc[german]{}{}{} - \ttxt{\eng{ - \begin{itemize} - \item Extranous atom between lattice atoms - \item High formation energy - \end{itemize} - }\ger{ - \begin{itemize} - \item Zusätzliches Atom zwischen Gitteratomen - \item Hohe Formationsenergy - \end{itemize} - }} - \end{formula} +\Subsection{Recombination} + \desc{Recombination}{}{} + \desc[german]{Rekombination}{}{} - \begin{formula}{schottky} - \desc{Schottky defect}{}{} - \desc[german]{Schottky-Defekt}{}{} - \ttxt{\eng{ - Atom type A \fRef{:::vacancy} + atom type B \fRef{:::vacancy}. - Only in (partially) ionic materials. - }\ger{ - \fRef{:::vacancy} von Atomsorte A und \fRef{:::vacancy} von Atomsorte B. - Tritt nur in ionischen Materialiern auf. - }} - \end{formula} - - \begin{formula}{frenkel} - \desc{Frenkel defect}{}{} - \desc[german]{Frenkel Defekt}{}{} - \ttxt{\eng{ - \fRef{:::vacancy} + \fRef{:::interstitial} - }\ger{ - \fRef{:::vacancy} + \fRef{:::interstitial} - }} - \end{formula} - - \Subsubsection{line} - \desc{Line defects}{}{} - \desc[german]{Liniendefekte}{}{} - \begin{formula}{edge} - \desc{Edge distortion}{}{} - \desc[german]{Stufenversetzung}{}{} - \ttxt{\eng{ - Insertion of an extra plane of atoms - }\ger{ - Einschiebung einer zusätzliche Atomebene - }} - \TODO{images} - \end{formula} - - \begin{formula}{screw} - \desc{Screw distortion}{}{} - \desc[german]{Schraubenversetzung}{}{} - \ttxt{\eng{ - \TODO{TODO} - }\ger{ - - }} - \end{formula} - - \begin{formula}{burgers_vector} - \desc{Burgers vector}{Magnitude and direction of dislocation}{} - \desc[german]{Burgers-Vektor}{Größe und Richtung einer Versetzung}{} - \quantity{\vecb}{units}{ievs} - \eq{ - \TODO{TODO} - } - \end{formula} - - \Subsubsection{area} - \desc{Area defects}{}{} - \desc[german]{Flächendefekte}{}{} - \begin{formula}{grain_boundary} - \desc{Grain boundary}{}{} - \desc[german]{Korngrenze}{}{} - \ttxt{\eng{ - Lead to - \begin{itemize} - \item Secondary phases - \item Charge carrier trapping, recombination - \item High mass diffusion constants - \end{itemize} - }\ger{ - Führen zu - \begin{itemize} - \item Sekundärphasen - \item Separierung, Trapping und Streuung von Ladunsträgern - \item Hohe Massendiffusionskonstante - \end{itemize} - }} - \end{formula} + \begin{formula}{shockley-read} + \desc{Shockley-Read-Hall recombination}{}{} + \desc[german]{Shockley-Read-Hall Rekombination}{}{} + \ttxt{\eng{ + Recombination via defect states in the band gap: + Electron capture, electron emission, hole capture, hole emission + }\ger{ + Rekombination über Defektzustände in der Bandlücke: + Elektroneneinfang, Elektronenemission, Locherfassung, Locheremission + }} + \end{formula} + \begin{formula}{auger} + \desc{Auger recombination}{}{} + \desc[german]{Auger Rekombination}{}{} + \ttxt{\eng{ + Non-radiative recombination involving three particles. + Recombination energy is transferred to another electron or hole. + Important at high carrier densities, high temperatures and small band gaps. + }\ger{ + Nicht-strahlende Rekombination unter Beteiligung von drei Teilchen. + Die Rekombinationsenergie wird auf ein anderes Elektron oder Loch übertragen. + Wichtig bei hohen Ladungsträgerdichten, hohen Temperaturen und kleinen Bandlücken. + }} + \end{formula} + \begin{formula}{bi-molecular} + \desc{Bi-molecular recombination}{}{} + \desc[german]{Bimolekulare Rekombination}{}{} + \ttxt{\eng{ + Radiative two-particle process where an electron from conduction and a hole from the valence band recombine. + }\ger{ + Strahlender zwei-Teilchen-Prozess, bei dem ein Elektron aus dem Leitungsband und ein Loch aus dem Valenzband rekombinieren. + }} + \end{formula} \Subsection{devices} \desc{Devices and junctions}{}{} @@ -352,11 +274,10 @@ \resizebox{0.49\textwidth}{!}{\input{img_static/cm/sc_junction_metal_n_sc_separate.tex}} \resizebox{0.49\textwidth}{!}{\input{img_static/cm/sc_junction_metal_n_sc.tex}} } - \TODO{Work function electron affinity sind doch Energien und keine Potentiale, warum wird also immer $q$ davor geschrieben?} \ttxt{\eng{ Upon contact, electrons flow from the semicondctor to the metal to align the Fermi levels \Rightarrow leaves depletion region of positively charged donors as barrier }\ger{ - + Bei Kontakt fließen Elektronen vom Halbleiter zum Metall, um die Fermi-Niveaus anzugleichen \Rightarrow es entsteht eine Verarmungszone aus positiv geladenen Donatoren als Barriere }} \end{bigformula} \begin{formula}{full_depletion_approx} @@ -412,16 +333,16 @@ \end{bigformula} \begin{formula}{no_bias} - \desc{No bias}{Balance of \fRef[drift]{cm:charge_transport:current_density} and \fRef[diffusion]{cm:charge_transport:misc:diffusion_current} currents}{$n_{n/p}$ \qtyRef[electron density]{charge_carrier_density} in the $n$/$p$ side} - \desc[german]{Keine angelegte Spannung}{Gleichgewicht von \fRef[Drift-]{cm:charge_transport:current_density} und \fRef[Diffusions-]{cm:charge_transport:misc:diffusion_current}strömen}{$n_{n/p}$ \qtyRef[Elektronendichte]{charge_carrier_density} in der $n$/$p$ Seite} - \eq{U_\text{bias}= \left(\frac{\kB T}{e}\right) \Ln{\frac{n_n}{n_p}}} + \desc{No bias}{Balance of \fRef[drift]{cm:charge_transport:current_density} and \fRef[diffusion]{cm:charge_transport:misc:diffusion_current} currents}{$n_{n/p}$ \fRef[equilibrium electron density]{cm:sc:charge_carrier_density:equilibrium} in the $n$/$p$ side} + \desc[german]{Keine angelegte Spannung}{Gleichgewicht von \fRef[Drift-]{cm:charge_transport:current_density} und \fRef[Diffusions-]{cm:charge_transport:misc:diffusion_current}strömen}{$n_{0,n/p}$ \qtyRef[Elektronendichte]{charge_carrier_density} in der $n$/$p$ Seite} + \eq{U_\text{bias}= \left(\frac{\kB T}{e}\right) \Ln{\frac{n_{0,n}}{n_{0,p}}}} \end{formula} \end{formulagroup} \TODO{Forward bias: negativ an n, positiv an p} \begin{formulagroup}{2deg} - \desc{Heterointerface}{2DEG, \fRef{cm:sc:doping:modulation}}{} + \desc{Heterointerface}{2DEG, \fRef{cm:sc:dope:modulation}}{} % \desc[german]{}{}{} \begin{formula}{schematic} \desc{Schematic and band diagram}{}{} @@ -486,11 +407,92 @@ } \end{formula} + \Subsubsection{led} + \desc{Led emighting diodes (LED)}{Based around forward biased $p^+n$ or $n^+p$ \fRef[junctions]{::sc-sc:pn}}{} + \desc[german]{}{Basieren auf $p^+n$ oder $n^+p$ \fRef[Kontakten]{::sc-sc:pn} im forward bias}{} + \begin{formula}{principle} + \desc{Principle}{}{} + \desc[german]{Prinzip}{}{} + \ttxt{\eng{ + Under external bias a net diffusion current flows across the junction. Injected minority carriers recombine in the vicinity of the depletion region and generate light. + }\ger{ + Unter äußerer Spannung fließt ein Nettodiffusionsstrom über den Übergang. + Injizierte Minoritätsträger rekombinieren in der Nähe der Verarmungszone und erzeugen Licht. + }} + \end{formula} + \begin{formula}{efficiency} + \desc{Power conversion}{}{ + $\eta_\text{int} = \frac{\frac{P_\text{int}}{\hbar\omega}}{\frac{j}{e}}$ internal quantum efficiency, + $\eta_\text{extraction} \approx \SI{3}{\percent}$ light extraction efficiency, + $\eta_\text{inj} = \frac{j_n}{j_n + j_p + j_\text{NR}}$ injection efficiency (for $n^+p$ junction) + } + \desc[german]{Umwandlungseffizienz}{}{} + \eq{ + \eta_\text{ext} = \frac{\frac{P_\text{ext}}{\hbar\omega}}{\frac{j}{e}} = \eta_\text{int} \eta_\text{extraction} \eta_\text{inj} + } + \end{formula} + + \Subsubsection{laser} + \desc{Laser}{Light Amplifictation by Stimulated Emission of Radiation}{} + \desc[german]{Laser}{}{} + \begin{formula}{laser} + \desc{Laser}{}{} + \desc[german]{Laser}{}{} + \ttxt{\eng{ + \textit{Gain medium} is energized by \textit{pumping energy} (electric current or light), light of certain wavelength is amplified in the gain medium + Components: + \begin{itemize} + \item Gain medium: amplify light by stimulated emission + \item Pump: add energy to the gain medium to keep the gain positive + \item Positive feedback + \item Output coupler: extract light from the oscillator cavity + \end{itemize} + }\ger{ + + }} + \end{formula} + + \begin{formulagroup}{stimulated_emission} + \desc{Stimulated emission}{}{$F$ \fRef{cm:egas:fermi-dirac}, $E$ \qtyRef{energy} of the electrons/holes} + \desc[german]{Stimulierte Emission}{}{$F$ \fRef{cm:egas:fermi-dirac}, $E$ \qtyRef{energy} der Elektronen/Löcher} + \begin{formula}{stimulated_emission} + \desc{Stimulated emission}{}{} + \desc[german]{Stimulierte Emission}{}{} + \ttxt{\eng{ + Emitted photons are identical: phase coherent, same polarization and optical mode, same propagation direction.\\ + Requires \textit{population inversion}, where most emitters are in the excited state. + }\ger{ + Emittierte Photonen sind identisch: phasenkohärent, gleiche Polarisation und optischer Modus, gleiche Ausbreitungsrichtung.\\ + Erfordert \textit{Besetzungsinversion}, bei der sich die meisten Emitter im angeregten Zustand befinden. + }} + \end{formula} + + \begin{formula}{coefficient} + \desc{Stimulated emission coefficient}{}{} + \desc[german]{Koeffizient der stimulierten Emission}{}{} + \eq{\alpha(\hbar\omega) \propto \left(1-F_\txe(E_\txe)\right) \left(1-F_\txh(E_\txh)\right)} + \end{formula} + \begin{formula}{gain_coefficient} + \desc{Bernard condition}{Both quasi fermi levels must lie within the bands. If fulfilled, gain coefficient is positive}{$\Efermi$ electron/hole quasi-\qtyRef[fermi level]{fermi_energy}} + \desc[german]{Bernard-Bedingung}{Beide quasi-Fermi Level müssen innerhalb der Bänder liegen. Verstärkungskoeffizient ist positiv wenn erfüllt}{$\Efermi$ Elektron/Loch Quasi-\qtyRef[Fermi-Niveau]{fermi_energy}} + \eq{ + E_\txe - E_\txh = E_\text{photon} < \left(\Efermi^\txe - \Efermi^\txh\right) + } + \end{formula} + \begin{formula}{gain_spectrum} + \desc{Gain spectrum}{Gain is frequency dependent}{} + % \desc[german]{}{}{} + \fig[width=0.7\textwidth]{img_static/cm_sc_laser_gain_spectrum.png} + \TODO{plot} + \end{formula} + \end{formulagroup} + + \Subsubsection{other} \desc{Other}{}{} \desc[german]{Andere}{}{} \begin{formula}{single_electron_box} - \desc{Single electron box}{Allows discrete changes of single electrons}{$C_\txg/V_\txg$ gate \qtyRef{capacity}/\qtyRef{voltage}, T tunnel barrier, $n\in\N_0$ number of electrons} + \desc{Single electron box}{Allows discrete changes of single electrons}{$C_\txg/V_\txg$ gate \qtyRef{capacitance}/\qtyRef{voltage}, T tunnel barrier, $n\in\N_0$ number of electrons} \desc[german]{Ein-Elektronen-Box}{}{} \fcenter{ \begin{tikzpicture} @@ -534,14 +536,14 @@ \eng[free_X]{for free Excitons} \ger[free_X]{für freie Exzitons} \begin{formula}{rydbrg} - \desc{Exciton Rydberg energy}{\gt{free_X}}{$R_\txH$ \fRef{qm:h:rydberg_energy}} + \desc{Exciton Rydberg energy}{\GT{::free_X}}{$R_\txH$ \fRef{qm:h:rydberg_energy}} \desc[german]{}{}{} \eq{ E(n) = - \left(\frac{\mu}{m_0\epsilon_r^2}\right) R_\txH \frac{1}{n^2} } \end{formula} \begin{formula}{bohr_radius} - \desc{Exciton Bohr radius}{\gt{free_X}. \qtyrange{2}{20}{\nm}}{\QtyRef{relative_permittivity}, \ConstRef{bohr_radius}, \ConstRef{electron_mass}, $\mu$ \GT{reduced_mass}} + \desc{Exciton Bohr radius}{\GT{::free_X}. \qtyrange{2}{20}{\nm}}{\QtyRef{relative_permittivity}, \ConstRef{bohr_radius}, \ConstRef{electron_mass}, $\mu$ \GT{reduced_mass}} \desc[german]{Exziton-Bohr Radius}{}{} \eq{ r_n = \left(\frac{m_\txe\epsilon_r a_\txB}{\mu}\right) n^2 @@ -549,7 +551,7 @@ \end{formula} \begin{formula}{binding_energy} - \desc{Binding energy}{\gt{free_X}. \qtyrange{0.2}{8}{\meV}}{$R^* = 1\,\text{Ry} \frac{\mu}{\epsilon_\txr^2}$, $\vecK_\text{CM} = \veck_\txe - \veck_\txh$, $\mu$ \TODO{reduced mass, of what?}, $n$ exciton state} + \desc{Binding energy}{\GT{::free_X}. \qtyrange{0.2}{8}{\meV}}{$R^* = 1\,\text{Ry} \frac{\mu}{\epsilon_\txr^2}$, $\vecK_\text{CM} = \veck_\txe - \veck_\txh$, $\mu$ \TODO{reduced mass, of what?}, $n$ exciton state} \desc[german]{Bindungsenergie}{}{} \eq{E_{n,K_\text{CM}} = \Egap - \frac{R^*}{n^2} + \frac{\hbar^2}{2 \left(\meff_\txe + \meff_\txh\right)} K^2_\text{CM}} \end{formula} @@ -560,10 +562,4 @@ \eq{\abs{\E_\text{ion}} \approx \frac{2R^*}{e a_\txX}} \end{formula} - \begin{formula}{quantum_well} - \desc{Exciton in a quantum well}{Increased \fRef{::binding_energy} due to larger Coulomb interaction through confinment}{} - % \desc[german]{}{}{} - \eq{E^\text{2D}_n = \Egap + E_{\txe0} + E_{\txh0} - \frac{R^*}{\left(n-\frac{1}{2}\right)^2}} - \end{formula} - \TODO{stark effect/shift, adv sc. slide 502} diff --git a/src/comp/est.tex b/src/comp/est.tex index 3134f9b..7e6519f 100644 --- a/src/comp/est.tex +++ b/src/comp/est.tex @@ -232,11 +232,11 @@ \begin{formula}{range-separated-hybrid} \desc{Range separated hyrid functionals (RSH)}{Here HSE as example}{$\alpha$ mixing paramter, $E_\txX$ exchange energy, $E_\txC$ correlation energy} % \desc[german]{}{}{} + \newFormulaEntry \begin{gather} \frac{1}{r} = \frac{\erf(\omega r)}{r} + \frac{\erfc{\omega r}}{r} \\ E_\text{XC}^\text{HSE} = \alpha E_\text{X,SR}^\text{HF}(\omega) + (1-\alpha)E_\text{X,SR}^\text{GGA}(\omega) + E_\text{X,LR}^\text{GGA}(\omega) + E_\txC^\text{GGA} \end{gather} - \separateEntries \ttxt{\eng{ Use \abbrRef{gga} and \fRef[Fock]{comp:est:dft:hf:potential} exchange for short ranges (SR) and only \abbrRef{GGA} for long ranges (LR). \abbrRef{GGA} correlation is always used. Useful when dielectric screening reduces long range interactions, saves computational cost. diff --git a/src/ed/misc.tex b/src/ed/misc.tex index 4d35ea7..999a3ca 100644 --- a/src/ed/misc.tex +++ b/src/ed/misc.tex @@ -6,9 +6,9 @@ \desc{Dipole moment}{}{} \desc[german]{Dipolmoment}{}{} - \begin{formula}{definition} - \desc{Defintion}{}{$q$ \qtyRef{charge}, $l$ distance between charges} - \desc[german]{Defintion}{}{} + \begin{formula}{dipole_moment} + \desc{Dipole moment}{}{$q$ \qtyRef{charge}, $l$ distance between charges} + \desc[german]{Dipolmoment}{}{} \quantity[dipole_moment]{\vecp}{\coulomb\meter}{v} \eq{\vecp &= ql\vece_l} \end{formula} @@ -42,13 +42,13 @@ \desc{misc}{}{} \desc[german]{misc}{}{} \begin{formula}{impedance_r} - \desc{Impedance of an ohmic rejkjksistor}{}{\QtyRef{resistance}} + \desc{Impedance of an ohmic resistor}{}{\QtyRef{resistance}} \desc[german]{Impedanz eines Ohmschen Widerstands}{}{} \eq{Z_{R} = R} \end{formula} \begin{formula}{impedance_c} - \desc{Impedance of a capacitor}{}{\QtyRef{capacity}, \QtyRef{angular_velocity}} + \desc{Impedance of a capacitor}{}{\QtyRef{capacitance}, \QtyRef{angular_velocity}} \desc[german]{Impedanz eines Kondensators}{}{} \eq{Z_{C} = \frac{1}{\I\omega C}} \end{formula} @@ -77,7 +77,7 @@ \desc{Capacitor}{} \desc[german]{Kondensator} - \begin{formula}{capacity} + \begin{formula}{capacitance} \desc{Parallel plate capacitor}{}{\ConstRef{vacuum_permittivity}, \QtyRef{relative_permittivity}, \QtyRef{area}, $d$ \qtyRef{length}} \desc[german]{Plattenkondensator}{}{} \eq{C = \epsilon_0 \epsilon_\txr \frac{A}{d}} diff --git a/src/ed/optics.tex b/src/ed/optics.tex index d039ac2..526e2d1 100644 --- a/src/ed/optics.tex +++ b/src/ed/optics.tex @@ -6,32 +6,32 @@ \begin{formulagroup}{refraction_index} - \desc{Refraction index}{Macroscopic}{\QtyRef{relative_permittivity}, \QtyRef{relative_permeability}, \ConstRef{vacuum_speed_of_light}, \QtyRef{phase_velocity}} + \desc{Refraction index}{Macroscopic}{\QtyRef{relative_permittivity}, \QtyRef{relative_permeability}, $c_0$ \constRef{vacuum_speed_of_light}, $c_\txM$ \qtyRef{phase_velocity}} \desc[german]{Brechungsindex}{Macroscopisch}{} \begin{formula}{definition} - \desc{Definition}{}{} - \desc[german]{Definition}{}{} + \desc{Refraction index}{}{} + \desc[german]{Brechungsindex}{}{} \quantity{\complex{n}}{}{s} \eq{ - \complex{n} = \nreal + i\ncomplex + \complex{n} = \nReal + i\nImag } \end{formula} \begin{formula}{real} - \desc{Real part}{}{} - \desc[german]{Reller Teil}{}{} - \quantity[refraction_index_real]{\nreal}{}{s} + \desc{Real part of the refraction index}{}{} + \desc[german]{Reller Teil des Brechungsindex}{}{} + \quantity[refraction_index_real]{\nReal}{}{s} \eq{ - n = \sqrt{\epsilon_\txr \mu_\txr} + \nReal = \sqrt{\epsilon_\txr \mu_\txr} } \eq{ - n = \frac{c_0}{c_\txM} + \nReal = \frac{c_0}{c_\txM} } \end{formula} \begin{formula}{complex} \desc{Extinction coefficient}{Complex part of the refraction index. Describes absorption in a medium}{\GT{sometimes} $\kappa$} \desc[german]{Auslöschungskoeffizient}{Komplexer Teil des Brechungsindex. Beschreibt Absorption im Medium}{} - \quantity[refraction_index_complex]{\ncomplex}{}{s} + \quantity[refraction_index_complex]{\nImag}{}{s} \end{formula} \end{formulagroup} @@ -44,9 +44,9 @@ \end{formula} \begin{formula}{snell} - \desc{Snell's law}{}{$\nreal_i$ \qtyRef{refraction_index_real}, $\theta_i$ incidence angle (normal to the surface)} + \desc{Snell's law}{}{$\nReal_i$ \qtyRef{refraction_index_real}, $\theta_i$ incidence angle (normal to the surface)} \desc[german]{Snelliussches Brechungsgesetz}{}{$n_i$ \qtyRef{refraction_index}, $\theta_i$ Einfallswinkel (normal zur Fläche)} - \eq{\nreal_1 \sin\theta_1 = \nreal_2\sin\theta_2} + \eq{\nReal_1 \sin\theta_1 = \nReal_2\sin\theta_2} \end{formula} \begin{formula}{group_velocity} @@ -70,7 +70,7 @@ \desc[german]{Absoprtionskoeffizient}{Intensitätsverringerung beim Druchgang eines Mediums, nicht zwingend durch Energieabgabe an Medium}{} \quantity{\alpha}{\per\cm}{s} \eq{ - \alpha &= 2\ncomplex \frac{\omega}{c} + \alpha &= 2\nImag \frac{\omega}{c} } \TODO{Is this equation really true in general?} \end{formula} @@ -102,23 +102,23 @@ \begin{formulagroup}{permittivity_complex} \desc{Complex relative \qtyRef[permittivity]{permittivity}}{Complex dielectric function\\Microscopic, response of a single atom to an EM wave}{\QtyRef{refraction_index_real}, \QtyRef{refraction_index_complex}} \desc[german]{Komplexe relative \qtyRef{permittivity}}{Komplexe dielektrische Funktion\\Mikroskopisch, Verhalten eines Atoms gegen eine EM-Welle}{} - \begin{formula}{definition} - \desc{Definition}{}{} - \desc[german]{Definition}{}{} - \eq{\epsilon_\txr &= \epsreal + i\epscomplex} + \begin{formula}{permittivity_complex} + \desc{Complex relative permittivity}{}{} + \desc[german]{Komplexe relative Permittivität}{}{} + \eq{\epsilon_\txr &= \epsReal + i\epsImag} \end{formula} \begin{formula}{real} \desc{Real part}{}{} \desc[german]{Realteil}{}{} - \eq{\epsreal &= {\nreal}^2 - {\ncomplex}^2} - \hiddenQuantity[permittivity_real]{\epsreal}{}{} + \eq{\epsReal &= {\nReal}^2 - {\nImag}^2} + \hiddenQuantity[permittivity_real]{\epsReal}{}{} \end{formula} \begin{formula}{complex} \desc{Complex part}{}{} \desc[german]{Komplexer Teil}{}{} - \eq{\epscomplex &= 2\nreal \ncomplex} - \hiddenQuantity[permittivity_complex]{\epscomplex}{}{} + \eq{\epsImag &= 2\nReal \nImag} + \hiddenQuantity[permittivity_complex]{\epsImag}{}{} \end{formula} \end{formulagroup} diff --git a/src/img_static/cm/sc_junction_ohmic.tex b/src/img_static/cm/sc_junction_ohmic.tex index c57ac4d..6098b8f 100644 --- a/src/img_static/cm/sc_junction_ohmic.tex +++ b/src/img_static/cm/sc_junction_ohmic.tex @@ -45,6 +45,6 @@ \drawDArrow{\tkRx+\tkRW*3/4}{\tkREf}{\tkREV}{$e\Phi_\txS$} \drawDArrow{\tkRx+\tkRW*2/4}{\tkREc}{\tkREV}{$e\chi$} % barrier height -\drawDArrow{\tkRx+\tkRBendW}{\tkREc}{\tkREc-\tkRBendH}{$eU_\text{Bias}$} +\drawDArrow{\tkRx+\tkRBendW}{\tkREc}{\tkREc+\tkRBendH}{$eU_\text{Bias}$} \end{tikzpicture} diff --git a/src/img_static/cm_sc_doped_TODO.png b/src/img_static/cm_sc_doped_TODO.png deleted file mode 100644 index aa2828a..0000000 Binary files a/src/img_static/cm_sc_doped_TODO.png and /dev/null differ diff --git a/src/main.tex b/src/main.tex index f54694a..3f7102e 100644 --- a/src/main.tex +++ b/src/main.tex @@ -48,8 +48,13 @@ % \tikzexternalize[prefix=tikz_figures] % \tikzexternalize \usepackage{circuitikz} % electrical circuits with tikz +\input{circuit.tex} % custom circuits TODO: move to util % SCIENCE PACKAGES \usepackage{mathtools} +\usepackage{unicode-math} % all sorts of math symbols, requires lualatex +% \setmathfont{STIX Math Two} +% \setmathfont{Latin Modern Math} +% \setmathfont{Fira Math} % set display math skips \AtBeginDocument{ \abovedisplayskip=0pt @@ -57,14 +62,14 @@ \belowdisplayskip=0pt \belowdisplayshortskip=0pt } -\usepackage{MnSymbol} % for >>> \ggg sign +% \usepackage{MnSymbol} % for >>> \ggg sign \usepackage[version=4,arrows=pgf-filled]{mhchem} -\usepackage{upgreek} % upright greek letters for chemmacros +% \usepackage{upgreek} % upright greek letters for chemmacros -> unicode-math \usepackage{chemmacros} % for orbitals images % \usepackage{esdiff} % derivatives % esdiff breaks when taking \dot{q} has argument \usepackage{derivative} % \odv, \pdv -\usepackage{bbold} % \mathbb font +% \usepackage{bbold} % \mathbb font -> unicode-math \usepackage{braket} % \usepackage{siunitx} % \si \SI units \sisetup{output-decimal-marker = {,}} @@ -72,10 +77,11 @@ \sisetup{per-mode = power} \sisetup{exponent-product=\ensuremath{\cdot}} +\usepackage{emoji} + % DEBUG % \usepackage{lua-visual-debug} % DUMB STUFF -% \usepackage{emoji} % \newcommand\temoji[1]{\text{\emoji{#1}}} % \def\sigma{\temoji{shark}} % \def\lambda{\temoji{sheep}} @@ -86,16 +92,16 @@ % \def\nu{\temoji{unicorn}} % \def\mu{\temoji{mouse}} -\newcommand{\TODO}[1]{{\color{fg-red}TODO:#1}} +\newcommand{\TODO}[1]{{\color{fg-red}TODO:#1}} % debug mode +\renewcommand{\TODO}[1]{} % release mode \newcommand{\ts}{\textsuperscript} -\input{circuit.tex} -\input{util/macros.tex} -\input{util/math-macros.tex} -\input{util/environments.tex} % requires util/translation.tex to be loaded first \usepackage{mqlua} \usepackage{mqfqname} +\usepackage{mqsections} \usepackage{mqref} +\input{util/macros.tex} % requires mqfqname +\input{util/math-macros.tex} % TRANSLATION % \usepackage{translations} \usepackage{mqtranslation} @@ -107,6 +113,7 @@ \usepackage{mqformula} \usepackage{mqperiodictable} +\input{util/environments.tex} % requires util/translation.tex to be loaded first \title{Formelsammlung} \author{Matthias Quintern} @@ -123,7 +130,7 @@ \input{util/translations.tex} % \InputOnly{cm} -% \InputOnly{test} +\InputOnly{test} \Input{math/math} \Input{math/linalg} @@ -172,26 +179,8 @@ \Input{ch/el} \Input{ch/misc} -\newpage -\Part{appendix} - \desc{Appendix}{}{} - \desc[german]{Anhang}{}{} -\begin{formula}{world} - \desc{World formula}{}{} - \desc[german]{Weltformel}{}{} - \eq{E = mc^2 +\text{AI}} -\end{formula} -\Input{quantities} -\Input{constants} +\Input{appendix} -% \listofquantities -\listoffigures -\listoftables -\Section{elements} - \desc{List of elements}{}{} - \desc[german]{Liste der Elemente}{}{} - \printAllElements -\newpage \Input{test} % \bibliographystyle{plain} diff --git a/src/math/linalg.tex b/src/math/linalg.tex index b6fc5a3..32992fc 100644 --- a/src/math/linalg.tex +++ b/src/math/linalg.tex @@ -102,7 +102,7 @@ \eq{ \mat{\theta} = (\mat{X}^\T \mat{X})^{-1} \mat{X}^\T \vec{y} } - \end{formula} + \end{formula} \begin{formula}{woodbury_matrix_identity} \desc{Woodbury matrix identity}{Inverse of a rank-$k$ correction}{$\matA\,n\times n$, $\matU\,n\times k$, $\matC\,k\times k$, $\matV \, k\times n$} diff --git a/src/math/probability_theory.tex b/src/math/probability_theory.tex index d55d7f7..6fbb471 100644 --- a/src/math/probability_theory.tex +++ b/src/math/probability_theory.tex @@ -41,18 +41,21 @@ \end{formula} \begin{formula}{pdf} + \abbrLabel{PDF} \desc{Probability density function}{Random variable has density $f$. The integral gives the probability of $X$ taking a value $x\in[a,b]$.}{$f$ normalized: $\int_{-\infty}^\infty f(x) \d x= 1$} \desc[german]{Wahrscheinlichkeitsdichtefunktion}{Zufallsvariable hat Dichte $f$. Das Integral gibt Wahrscheinlichkeit an, dass $X$ einen Wert $x\in[a,b]$ annimmt}{$f$ normalisiert $\int_{-\infty}^\infty f(x) \d x= 1$} \eq{P([a,b]) := \int_a^b f(x) \d x} \end{formula} \begin{formula}{cdf} + \abbrLabel{CDF} \desc{Cumulative distribution function}{}{$f$ probability density function} \desc[german]{Kumulative Verteilungsfunktion}{}{$f$ Wahrscheinlichkeitsdichtefunktion} \eq{F(x) = \int_{-\infty}^x f(t) \d t} \end{formula} \begin{formula}{pmf} + \abbrLabel{PMF} \desc{Probability mass function}{Probability $p$ that \textbf{discrete} random variable $X$ has exact value $x$}{$P$ probability measure} \desc[german]{Wahrscheinlichkeitsfunktion / Zählfunktion}{Wahrscheinlichkeit $p$ dass eine \textbf{diskrete} Zufallsvariable $X$ einen exakten Wert $x$ annimmt}{} \eq{p_X(x) = P(X = x)} diff --git a/src/pkg/mqformula.sty b/src/pkg/mqformula.sty index 929e7c8..ae7d934 100644 --- a/src/pkg/mqformula.sty +++ b/src/pkg/mqformula.sty @@ -1,13 +1,13 @@ \ProvidesPackage{mqformula} - -\RequirePackage{framed} % for leftbar \RequirePackage{mqfqname} +\RequirePackage{mqsections} \RequirePackage{mqconstant} \RequirePackage{mqquantity} +\RequirePackage{framed} % for leftbar \newlength\mqformula@formulaBoxWidth -\setlength\mqformula@formulaBoxWidth{\the\dimexpr\textwidth * 65/100\relax} +\setlength\mqformula@formulaBoxWidth{\the\dimexpr\textwidth * 68/100\relax} \newlength\mqformula@formulaBoxLeftMargin \setlength\mqformula@formulaBoxLeftMargin{1cm} \newlength\mqformula@ruleWidth @@ -23,7 +23,16 @@ \def\descwidth{\the\dimexpr\linewidth-\mqformula@formulaBoxWidth - \mqformula@formulaBoxLeftMargin\relax} % \def\descwidth{0.2\textwidth} -\def\Newcommand#1{\let#1\undefined\newcommand#1} +% STYLING +% apply some transformation on the formula name/description/definitions, eg bold, color... +\newcommand\mqformula@nameTransform[1]{#1} +% \newcommand\mqformula@nameTransform[1]{\textbf{#1}} +% \newcommand\mqformula@nameTransform[1]{{\color{fg-blue}#1}} +\newcommand\mqformula@groupNameTransform[1]{\textbf{#1}} +% \newcommand\mqformula@groupNameTransform[1]{{\color{fg-blue}\textbf{#1}}} + +\newcommand\mqformula@descTransform[1]{{\color{fg2}#1}} +\newcommand\mqformula@defsTransform[1]{{\color{fg2}#1}} % % FORMULA ENVIRONMENT @@ -35,13 +44,15 @@ % 2: fqname of name % 3: fqname of a translation that holds the explanation \newcommand{\NameWithDescription}[3][\descwidth]{% + \makeatletter% \begin{minipage}{#1} % {\color{red}\hrule} - \raggedright\GT{#2}% + \raggedright\mqformula@nameTransform{\GT{#2}}% \IfTranslationExists{#3}{% - \\ {\color{fg1} \GT{#3}}% + \\ \mqformula@defsTransform{\GT{#3}}% }{} \end{minipage}% + \makeatother% } @@ -54,39 +65,48 @@ \begin{lrbox}{\contentBoxBox}% \begin{minipage}{#1} }{ + \makeatletter% \IfTranslationExists{\ContentFqName}{% - \smartnewline% - \noindent% - \begingroup% - \color{fg1}% - \raggedright% - \GT{\ContentFqName}% - \endgroup% - }{} + \smartnewline\noindent\raggedright% + \mqformula@descTransform{\GT{\ContentFqName}}% + }{}% + \makeatother% \end{minipage} \end{lrbox}% \fbox{\usebox{\contentBoxBox}}% } - -% Class defining commands shared by all formula environments +% defines commands that may be used in formulas and formulagroups +% None of these commands may output anything % 1: key -\newenvironment{formulainternal}[1]{ - \mqfqname@enter{#1} - \directlua{n_formulaEntries = 0} - +\newenvironment{mqformulaInvisibleCommands}[1]{ % makes this formula referencable with \abbrRef{} - % [1]: label to use + % [1]: label to use, defaults to formula key % 2: Abbreviation to use for references - \Newcommand{\abbrLabel}[2][#1]{ + \forceNewCommand{\abbrLabel}[2][#1]{ \abbrLink[\fqname]{##1}{##2} } % makes this formula referencable with \absRef{} % [1]: to use, defaults to formula key - \Newcommand{\absLabel}[1][#1]{ + \forceNewCommand{\absLabel}[1][#1]{ \absLink[\fqname]{\fqname}{##1} } + % [1]: key, defaults to formula key + % 2: symbol + % 3: units + % 4: comment key to translation + \forceNewCommand{\hiddenQuantity}[4][#1]{% + \quantity@new[\fqname]{##1}{##2}{##3}{##4} + } +}{} + +% Class defining commands shared by all formula environments +% 1: key +\newenvironment{mqformulaCommands}[1]{ + \begin{mqformulaInvisibleCommands}{#1} + \directlua{n_formulaEntries = 0} + \newcommand{\newFormulaEntry}{ \directlua{ if n_formulaEntries > 0 then @@ -136,9 +156,6 @@ \newFormulaEntry \quantity@print{##1} } - \newcommand{\hiddenQuantity}[4][#1]{% - \quantity@new[\fqname]{##1}{##2}{##3}{##4} - } % must be used only in third argument of "constant" command % 1: value @@ -176,121 +193,95 @@ ##1% } }{ - \mqfqname@leave + \end{mqformulaInvisibleCommands} } \newenvironment{formula}[1]{ - \begin{formulainternal}{#1} - - \begingroup - \mqfqname@label - \par\noindent\ignorespaces - % \textcolor{gray}{\hrule} - % \vspace{0.5\baselineskip} - % {\color{red}\hrule} - \NameWithDescription[\descwidth]{\fqname}{\fqname:desc} - \hfill - \begin{ContentBoxWithExplanation}{\fqname:defs} + \begin{sectionEntry}{#1} + \begin{mqformulaCommands}{#1} + \par\noindent\ignorespaces + % {\color{red}\hrule} + \NameWithDescription[\descwidth]{\fqname}{\fqname:desc} + \hfill + \begin{ContentBoxWithExplanation}{\fqname:defs} }{ - \end{ContentBoxWithExplanation} - \endgroup - \separateEntries - % \textcolor{fg3}{\hrule} - % \vspace{0.5\baselineskip} - \ignorespacesafterend - \end{formulainternal} + \end{ContentBoxWithExplanation} + \end{mqformulaCommands} + \end{sectionEntry} } % BIG FORMULA \newenvironment{bigformula}[1]{ - \begin{formulainternal}{#1} - - \par\noindent - \begin{minipage}{\textwidth} % using a minipage to now allow line breaks within the bigformula - \mqfqname@label - \par\noindent\ignorespaces - % \textcolor{gray}{\hrule} - % \vspace{0.5\baselineskip} - \raggedright\GT{\fqname}\ignorespaces% - \IfTranslationExists{\fqname:desc}{\ignorespaces% - : {\color{fg1} \GT{\fqname:desc}} - }{} - \hfill - \par + \begin{sectionEntry}{#1} + \begin{mqformulaCommands}{#1} + \makeatletter% + \par\noindent + \begin{minipage}{\textwidth} % using a minipage to now allow line breaks within the bigformula + \par\noindent\ignorespaces + % name + \raggedright\mqformula@nameTransform{\GT{\fqname}}\ignorespaces% + % description + \IfTranslationExists{\fqname:desc}{\ignorespaces% + : \mqformula@descTransform{\GT{\fqname:desc}} + }{} + \hfill + \par }{ - \IfTranslationExists{\fqname:defs}{% - \smartnewline - \noindent - \begingroup - \color{fg1} - \GT{\fqname:defs} - % \edef\temp{\GT{#1_defs}} - % \expandafter\StrSubstitute\expandafter{\temp}{:}{\\} - \endgroup - }{} - \end{minipage} - \separateEntries - % \textcolor{fg3}{\hrule} - % \vspace{0.5\baselineskip} - \ignorespacesafterend - \end{formulainternal} + \IfTranslationExists{\fqname:defs}{% + \smartnewline + \noindent + \mqformula@defsTransform{\GT{\fqname:defs}} + }{} + \end{minipage} + \makeatother% + \end{mqformulaCommands} + \end{sectionEntry} } % GROUP \newenvironment{formulagroup}[1]{ - \mqfqname@enter{#1} + \begin{mqformulaInvisibleCommands}{#1} + \begin{sectionEntry}{#1} + % set nEntry to zero to prevent additional separations within the group + \def\oldNEntry{\value{nEntry}} + \setcounter{nEntry}{0} - % makes this formula referencable with \abbrRef{} - % [1]: label to use - % 2: Abbreviation to use for references - \Newcommand{\abbrLabel}[2][#1]{ - \abbrLink[\fqname]{##1}{##2} - } - % makes this formula referencable with \absRef{} - % [1]: to use, defaults to formula key - \Newcommand{\absLabel}[1][#1]{ - \absLink[\fqname]{\fqname}{##1} - } + % adapted from framed - leftbar + \def\FrameCommand{{\color{bg4}\vrule width \mqformula@ruleWidth} \hspace{\mqformula@ruleHMargin}}% + \MakeFramed {\advance\hsize-\width \FrameRestore}% - % adapted from framed - leftbar - \def\FrameCommand{{\color{bg4}\vrule width \mqformula@ruleWidth} \hspace{\mqformula@ruleHMargin}}% - \MakeFramed {\advance\hsize-\width \FrameRestore}% - - \par\noindent - \begin{minipage}{\textwidth-\mqformula@groupBarWidth} - \mqfqname@label - \par\noindent\ignorespaces - % \textcolor{gray}{\hrule} - % \vspace{0.5\baselineskip} - \raggedright\textbf{\GT{\fqname}}\ignorespaces% - \IfTranslationExists{\fqname:desc}{% - : {\color{fg1} \GT{\fqname:desc}} - }{}% - \hfill - \par + \makeatletter% + \par\noindent + \begin{minipage}{\textwidth-\mqformula@groupBarWidth} + \mqfqname@label + \par\noindent\ignorespaces + % \textcolor{gray}{\hrule} + % \vspace{0.5\baselineskip} + % name + \raggedright\mqformula@groupNameTransform{\GT{\fqname}}\ignorespaces% + \IfTranslationExists{\fqname:desc}{% + : \mqformula@defsTransform{\GT{\fqname:desc}} + }{}% + \hfill + \par }{ - \IfTranslationExists{\fqname:defs}{% - \smartnewline - \noindent - \begingroup - \color{fg1} - \GT{\fqname:defs} - % \edef\temp{\GT{#1_defs}} - % \expandafter\StrSubstitute\expandafter{\temp}{:}{\\} - \endgroup - }{} - \end{minipage} - \endMakeFramed - \separateEntries - % \textcolor{fg3}{\hrule} - % \vspace{0.5\baselineskip} - \ignorespacesafterend - \mqfqname@leave + \vspace{0.5\baselineskip} + \IfTranslationExists{\fqname:defs}{% + \smartnewline\noindent\raggedright% + \mqformula@defsTransform{\GT{\fqname:defs}}% + }{} + \end{minipage} + \makeatother% + \endMakeFramed + \setcounter{nEntry}{\oldNEntry} + \end{sectionEntry} +\end{mqformulaInvisibleCommands} } \newenvironment{hiddenformula}[1]{ - \begin{formulainternal}{#1} + \begin{mqformulaCommands}{#1} + \mqfqname@enter{#1} \renewcommand{\eq}[1]{} \renewcommand{\eqFLAlign}[2]{} \renewcommand{\fig}[2][]{} @@ -313,6 +304,7 @@ \endgroup } }{ - \end{formulainternal} + \mqfqname@leave + \end{mqformulaCommands} } diff --git a/src/pkg/mqfqname.sty b/src/pkg/mqfqname.sty index 7082d46..f5684dd 100644 --- a/src/pkg/mqfqname.sty +++ b/src/pkg/mqfqname.sty @@ -3,6 +3,9 @@ \RequirePackage{mqlua} \RequirePackage{etoolbox} +% make newcommand work on already defined commands +\def\forceNewCommand#1{\let#1\undefined\newcommand#1} + \begin{luacode} sections = sections or {} @@ -56,7 +59,7 @@ local relN = 0 local relTarget = "" - warning('translateRelativeFqname', '(target=' .. target .. ') '); + -- warning('translateRelativeFqname', '(target=' .. target .. ') '); for i = 1, #target do local c = target:sub(i,i) if c == ":" then @@ -72,7 +75,7 @@ local N = fqnameGetDepth() local newtarget = fqnameGetN(N - relN + 1) .. ":" .. relTarget - warning('translateRelativeFqname', '(relN=' .. relN .. ') ' .. newtarget); + -- warning('translateRelativeFqname', '(relN=' .. relN .. ') ' .. newtarget); return newtarget end \end{luacode*} @@ -94,56 +97,4 @@ } -% Define translations for the current fqname -% [1]: language -% 2: name -% 3: description -> :desc -% 4: definitions/links -> :defs -\newcommand{\desc}[4][english]{ - % language, name, description, definitions - \ifblank{#2}{}{\dt{#1}{#2}} - \ifblank{#3}{}{\dt[desc]{#1}{#3}} - \ifblank{#4}{}{\dt[defs]{#1}{#4}} -} -% SECTIONING -% start
, get heading from translation, set label -% fqname is the fully qualified name of all sections and formulas, the keys of all previous sections joined with a ':' -% fqname is secFqname: where is the key/id of some environment, like formula -% [1]: code to run after setting \fqname, but before the \part, \section etc -% 2: key - -% 1: depth -% 2: key -% 3: Latex section command -\newcommand\mqfqname@section[3]{ - \mqfqname@leaveOnlyFirstN{#1} - \mqfqname@enter{#2} - % this is necessary so that \part/\section... takes the fully expanded string. Otherwise the pdf toc will have just the fqname - \edef\fqnameText{\GT{\fqname}} - #3{\fqnameText} - \mqfqname@label - \IfTranslationExists{\fqname:desc}{ - {\color{fg1} \GT{\fqname:desc}} - }{} -} - - -\newcommand{\Part}[1]{ - \newpage - \mqfqname@section{0}{#1}{\part} -} -\newcommand{\Section}[1]{ - \mqfqname@section{1}{#1}{\section} -} -\newcommand{\Subsection}[1]{ - \mqfqname@section{2}{#1}{\subsection} -} -\newcommand{\Subsubsection}[1]{ - \mqfqname@section{3}{#1}{\subsubsection} -} -\newcommand{\Paragraph}[1]{ - \mqfqname@section{4}{#1}{\paragraph} -} - -\newcommand\printFqName{\expandafter\detokenize\expandafter{\fqname}} diff --git a/src/pkg/mqref.sty b/src/pkg/mqref.sty index 8ec1a66..7e20dd3 100644 --- a/src/pkg/mqref.sty +++ b/src/pkg/mqref.sty @@ -113,10 +113,11 @@ % Equations/Formulas +% Deprecated use fRef, absRef % \newrobustcmd{\fqEqRef}[1]{% -\newrobustcmd{\fAbsRef}[2][]{% - \directlua{hyperref(\luastring{#2}, \luastring{#1})}% -} +% \newrobustcmd{\fAbsRef}[2][]{% +% \directlua{hyperref(\luastring{#2}, \luastring{#1})}% +% } % [1]: link text % 2: link target (fqname) @@ -126,30 +127,29 @@ % etc. \newcommand{\fRef}[2][]{\directlua{hyperref(translateRelativeFqname(\luastring{#2}), \luastring{#1})}} -% [1]: link text -% 2: number of steps to take up -% 3: link target relative to the previous fqname section -\newcommand{\mqfqname@fRelRef}[3][1]{ - \directlua{ - local N = fqnameGetDepth() - luatexbase.module_warning('fRelRef', '(N=' .. N .. ') #2'); - if N > #2 then - local upfqname = fqnameGetN(N-#2) - hyperref(upfqname .. \luastring{:#3}, \luastring{#1}) - else - luatexbase.module_warning('fUpRef', 'fqname depth (N=' .. N .. ') too low for fUpRef if #1'); - end - } -} -\newcommand{\fThisRef}[2][]{\mqfqname@fRelRef[#1]{0}{#2}} -\newcommand{\fUpRef}[2][]{\mqfqname@fRelRef[#1]{1}{#2}} -\newcommand{\fUppRef}[2][]{\mqfqname@fRelRef[#1]{2}{#2}} +% Deprecated: use :: with fRef +% % [1]: link text +% % 2: number of steps to take up +% % 3: link target relative to the previous fqname section +% \newcommand{\mqfqname@fRelRef}[3][1]{ +% \directlua{ +% local N = fqnameGetDepth() +% luatexbase.module_warning('fRelRef', '(N=' .. N .. ') #2'); +% if N > #2 then +% local upfqname = fqnameGetN(N-#2) +% hyperref(upfqname .. \luastring{:#3}, \luastring{#1}) +% else +% luatexbase.module_warning('fUpRef', 'fqname depth (N=' .. N .. ') too low for fUpRef if #1'); +% end +% } +% } +% \newcommand{\fThisRef}[2][]{\mqfqname@fRelRef[#1]{0}{#2}} +% \newcommand{\fUpRef}[2][]{\mqfqname@fRelRef[#1]{1}{#2}} +% \newcommand{\fUppRef}[2][]{\mqfqname@fRelRef[#1]{2}{#2}} % Quantities % \newrobustcmd{\qtyRef}[2][]{% - % \edef\tempname{\luaDoubleFieldValue{quantities}{"#1"}{"fqname"}}% - % \hyperref[qty:#1]{\GT{\tempname}}% \directlua{hyperref(quantityGetFqname(\luastring{#2}), \luastring{#1})}% } % @@ -159,8 +159,6 @@ % Constants % \newrobustcmd{\constRef}[2][]{% - % \edef\tempname{\luaDoubleFieldValue{constants}{"#1"}{"linkto"}}% - % \hyperref[const:#1]{\GT{\tempname}}% \directlua{hyperref(constantGetFqname(\luastring{#2}), \luastring{#1})}% } % @@ -209,6 +207,10 @@ function absLabelGetTranslationKey(key) end end +function absRef(key, text) + hyperref(absLabelGetTarget(key), text) +end + function abbrLabelAdd(key, target, label) abbrLabels[key] = { @@ -232,6 +234,10 @@ function abbrLabelGetAbbr(key) return "" end end + +function abbrRef(key) + hyperref(abbrLabelGetTarget(key), abbrLabelGetAbbr(key)) +end \end{luacode} % [1]: translation key, if different from target @@ -257,24 +263,9 @@ end % [1]: text % 2: key \newcommand{\absRef}[2][]{% - % \directlua{ - % local text = (\luastring{#1} == "") and absLabelGetTranslationKey(\luastring{#2}) or \luastring{#1} - % if text \string~= "" then - % text = tlGetFallbackCurrent(text) - % end - % hyperref(absLabelGetTarget(\luastring{#2}, text)) - % }% - % TODO: find out if this works too, text shoud be handled by the hyperref function - \directlua{ - hyperref(absLabelGetTarget(\luastring{#2}), \luastring{#1}) - } + \directlua{absRef(\luastring{#2}, \luastring{#1})}% } +% 1: key \newrobustcmd{\abbrRef}[1]{% - \directlua{hyperref(abbrLabelGetTarget(\luastring{#1}), abbrLabelGetAbbr(\luastring{#1}))} - % if abbrLabels["#1"] == nil then - % tex.sprint(string.sanitize(\luastring{#1}) .. "???") - % else - % tex.sprint("\\hyperref[" .. abbrLabels["#1"]["fqname"] .. "]{" .. abbrLabels["#1"]["abbr"] .. "}") - % end - % } + \directlua{abbrRef(\luastring{#1})}% } diff --git a/src/pkg/mqsections.sty b/src/pkg/mqsections.sty new file mode 100644 index 0000000..aea501f --- /dev/null +++ b/src/pkg/mqsections.sty @@ -0,0 +1,84 @@ +\ProvidesPackage{mqsections} + +\RequirePackage{mqfqname} +\RequirePackage{mqtranslation} + +% SECTIONING +% start
, get heading from translation, set label +% fqname is the fully qualified name of all sections and formulas, the keys of all previous sections joined with a ':' +% fqname is secFqname: where is the key/id of some environment, like formula +% [1]: code to run after setting \fqname, but before the \part, \section etc +% 2: key + +% 1: depth +% 2: key +% 3: Latex section command +\newcommand\mqfqname@section[3]{ + \par + \mqfqname@leaveOnlyFirstN{#1} + \mqfqname@enter{#2} + % this is necessary so that \part/\section... takes the fully expanded string. Otherwise the pdf toc will have just the fqname + \edef\fqnameText{\GT{\fqname}} + #3{\fqnameText} + \mqfqname@label + \IfTranslationExists{\fqname:desc}{ + {\color{fg1} \GT{\fqname:desc}} + }{} + \setcounter{nEntry}{0} +} + + +\newcommand{\Part}[1]{ + \newpage + \mqfqname@section{0}{#1}{\part} +} +\newcommand{\Section}[1]{ + \mqfqname@section{1}{#1}{\section} +} +\newcommand{\Subsection}[1]{ + \mqfqname@section{2}{#1}{\subsection} +} +\newcommand{\Subsubsection}[1]{ + \mqfqname@section{3}{#1}{\subsubsection} +} +\newcommand{\Paragraph}[1]{ + \mqfqname@section{4}{#1}{\paragraph} +} + +\newcommand\printFqName{\expandafter\detokenize\expandafter{\fqname}} + +\newcounter{nEntry} +\setcounter{nEntry}{0} + +% Separate elements with a horizontal rule +% Rule only printed of its not the first entry within the section +\newcommand\startEntry{ + \par + \ifnum\value{nEntry}>0 + \vspace{0.5\baselineskip} + \textcolor{fg3}{\hrule} + \vspace{0.5\baselineskip} + \fi + \addtocounter{nEntry}{1} +} + +\newcommand\stopEntry{ + % \ifnum\value{nEntry}>0 + % \vspace{0.5\baselineskip} + % \textcolor{fg3}{\hrule} + % \vspace{0.5\baselineskip} + % \fi + % \addtocounter{nEntry}{1} + \ignorespacesafterend\par +} + +\newenvironment{sectionEntry}[1]{ + \startEntry + \mqfqname@enter{#1} + \begingroup + \mqfqname@label +}{ + \endgroup + \mqfqname@leave + \stopEntry +} diff --git a/src/pkg/mqtranslation.sty b/src/pkg/mqtranslation.sty index d3ff67e..3bc8b5f 100644 --- a/src/pkg/mqtranslation.sty +++ b/src/pkg/mqtranslation.sty @@ -113,7 +113,7 @@ % For ease of use in the ttext environment and the optional argument of the \Part, \Section, ... commands, % all "define translation" commands use \fqname as default key -% Get a translation +% GETTING TRANSLATIONS % expandafter required because the translation commands dont expand anything % shortcuts for translations % 1: key @@ -125,6 +125,8 @@ \newcommand{\tgt}[1]{\text{\gt{#1}}} \newcommand{\tGT}[1]{\text{\GT{#1}}} + +% PROVIDING TRANSLATIONS % Define a new translation % [1]: key, 2: lang, 3: translation \newcommand{\dt}[3][\fqname]{% @@ -155,6 +157,7 @@ \newcommand{\Ger}[2][\fqname]{\DT[#1]{german}{#2}} \newcommand{\Eng}[2][\fqname]{\DT[#1]{english}{#2}} +% UTLITY \newcommand{\IfTranslationExists}[3]{% \directlua{ if tlExistsFallback(language, \luastring{#1}) then @@ -177,3 +180,15 @@ \GT{\fqname}% \mqfqname@leave% } + +% Define translations for the current fqname +% [1]: language +% 2: name +% 3: description -> :desc +% 4: definitions/links -> :defs +\newcommand{\desc}[4][english]{ + % language, name, description, definitions + \ifblank{#2}{}{\dt{#1}{#2}} + \ifblank{#3}{}{\dt[desc]{#1}{#3}} + \ifblank{#4}{}{\dt[defs]{#1}{#4}} +} diff --git a/src/qm/qm.tex b/src/qm/qm.tex index f371b1f..dcd8f1c 100644 --- a/src/qm/qm.tex +++ b/src/qm/qm.tex @@ -285,7 +285,7 @@ \end{formula} \Subsubsection{ehrenfest_theorem} - \desc{Ehrenfest theorem}{\GT{see_also} \fRef{qm:se:time:ehrenfest_theorem:correspondence_principle}}{} + \desc{Ehrenfest theorem}{\GT{see_also} \fRef{qm:basics:correspondence_principle}}{} \desc[german]{Ehrenfest-Theorem}{}{} \absLink{}{ehrenfest_theorem} diff --git a/src/quantities.tex b/src/quantities.tex index f5f31dc..7ac88b8 100644 --- a/src/quantities.tex +++ b/src/quantities.tex @@ -186,6 +186,19 @@ \quantity{L}{\henry=\kg\m^2\per\s^2\ampere^2=\weber\per\ampere=\volt\s\per\ampere=\ohm\s}{s} \end{formula} + \begin{formula}{voltage} + \desc{Voltage}{Potential difference}{$\phi$ \qtyRef{electric_scalar_potential}} + \desc[german]{Spannung}{}{} + \eq{U = \phi_2 - \phi_1} + \quantity{U}{\volt=\kg\m^2\per\s^3\ampere}{s} + \end{formula} + + \begin{formula}{capacitance} + \desc{Capacitance}{Amount of charge stored per voltage}{} + \desc[german]{Kapazität}{Gespeicherte Ladungsmenge pro Spannung}{} + \quantity{C}{\farad=\coulomb\per\volt}{s} + \end{formula} + \Subsection{other} \desc{Others}{}{} \desc[german]{Sonstige}{}{} diff --git a/src/statistical_mechanics.tex b/src/statistical_mechanics.tex index 1f63fed..6568d2a 100644 --- a/src/statistical_mechanics.tex +++ b/src/statistical_mechanics.tex @@ -536,11 +536,11 @@ \eq{\braket{v^2} = \int_0^\infty \d v\,v^2 w(v) = \frac{3\kB T}{m}} \end{formula} - \Subsubsection{molecule_gas} + \Subsection{molecule_gas} \desc{Molecule gas}{}{} \desc[german]{Molekülgas}{}{} - \begin{formula}{desc} + \begin{formula}{molecule_gas} \desc{Molecule gas}{2 particles of mass $M$ connected by a ``spring'' with distance $L$}{} \desc[german]{Molekülgas}{2 Teilchen der Masse $M$ sind verbunden durch eine ``Feder'' mit Länge $L$}{} % \begin{figure}[h] diff --git a/src/test.tex b/src/test.tex index a528eac..91d72e5 100644 --- a/src/test.tex +++ b/src/test.tex @@ -1,4 +1,5 @@ -\part{Testing} +\Part{Testing} +\desc{Testing}{Very important}{} \makeatletter Sizes: @@ -24,92 +25,108 @@ Sizes: % Translations Aux loaded? \translationsAuxLoaded\\ Input only: \inputOnlyFile -\paragraph{Testing GT, GetTranslation, IfTranslationExists, IfTranslation} -\addtranslation{english}{ttest}{This is the english translation of \texttt{ttest}} -\noindent -GT: ttest = \GT{ttest}\\ -% GetTranslation: ttest = \GetTranslation{ttest}\\ -% Is english? = \IfTranslation{english}{ttest}{yes}{no} \\ -% Is german? = \IfTranslation{german}{ttest}{yes}{no} \\ -Is defined = \IfTranslationExists{ttest}{yes}{no} \\ +\Section{translation} +\desc{Translations}{}{} +\desc[german]{Übersetzungen}{}{} -\paragraph{Testing translation keys containing macros} -\def\ttest{NAME} -% \addtranslation{english}{\ttest:name}{With variable} -% \addtranslation{german}{\ttest:name}{Mit Variable} -% \addtranslation{english}{NAME:name}{Without variable} -% \addtranslation{german}{NAME:name}{Without Variable} -\DT[\ttest:name]{english}{DT With variable} -\DT[\ttest:name]{german}{DT Mit Variable} -\noindent -GT: {\textbackslash}ttest:name = \GT{\ttest:name}\\ -% GetTranslation: {\textbackslash}ttest:name = \GetTranslation{\ttest:name}\\ -% Is english? = \IfTranslation{english}{\ttest:name}{yes}{no} \\ -% Is german? = \IfTranslation{german}{\ttest:name}{yes}{no} \\ -% Is defined? = \IfTranslationExists{\ttest:name}{yes}{no} \\ -% Is defined? = \expandafter\IfTranslationExists\expandafter{\ttest:name}{yes}{no} + \paragraph{Testing GT, GetTranslation, IfTranslationExists, IfTranslation} + \addtranslation{english}{ttest}{This is the english translation of \texttt{ttest}} + \noindent + GT: ttest = \GT{ttest}\\ + % GetTranslation: ttest = \GetTranslation{ttest}\\ + % Is english? = \IfTranslation{english}{ttest}{yes}{no} \\ + % Is german? = \IfTranslation{german}{ttest}{yes}{no} \\ + Is defined = \IfTranslationExists{ttest}{yes}{no} \\ -\paragraph{Testing relative translations} -\begingroup - \edef\prevFqname{\fqname} - \edef\fqname{\prevFqname:test} - \eng{English, relative} - \ger{Deutsch, relativ} -\endgroup -\dt[testkey]{english}{Testkey} -{\textbackslash}gt\{test\}: \gt{test}\\ -{\textbackslash}gt\{test\}: \gt{testkey} + \paragraph{Testing translation keys containing macros} + \def\ttest{NAME} + % \addtranslation{english}{\ttest:name}{With variable} + % \addtranslation{german}{\ttest:name}{Mit Variable} + % \addtranslation{english}{NAME:name}{Without variable} + % \addtranslation{german}{NAME:name}{Without Variable} + \DT[\ttest:name]{english}{DT With variable} + \DT[\ttest:name]{german}{DT Mit Variable} + \noindent + GT: {\textbackslash}ttest:name = \GT{\ttest:name}\\ + % GetTranslation: {\textbackslash}ttest:name = \GetTranslation{\ttest:name}\\ + % Is english? = \IfTranslation{english}{\ttest:name}{yes}{no} \\ + % Is german? = \IfTranslation{german}{\ttest:name}{yes}{no} \\ + % Is defined? = \IfTranslationExists{\ttest:name}{yes}{no} \\ + % Is defined? = \expandafter\IfTranslationExists\expandafter{\ttest:name}{yes}{no} -% \DT[qty:test]{english}{HAHA} + \paragraph{Testing relative translations} + \begingroup + \edef\prevFqname{\fqname} + \edef\fqname{\prevFqname:test} + \eng{English, relative} + \ger{Deutsch, relativ} + \endgroup + \dt[testkey]{english}{Testkey} + {\textbackslash}gt\{test\}: \gt{test}\\ + {\textbackslash}gt\{test\}: \gt{testkey} -\paragraph{Testing hyperrefs} -\noindent{This text is labeled with "test" \label{test}}\\ -\fRef[This should refer to the line above]{test}\\ -Link to quantity which is defined after the reference: \qtyRef{test}\\ -\DT[eq:test]{english}{If you read this, then the translation for eq:test was expandend!} -Link to defined quantity: \qtyRef{mass} -\\ Link to element with name: \ElRef{H} -\begin{equation} - \label{eq:test} - E = mc^2 -\end{equation} + % \DT[qty:test]{english}{HAHA} -\paragraph{Testing translation keys with token symbols like undescores} -\noindent -\GT{absolute_undefined_translation_with_underscors}\\ -\gt{relative_undefined_translation_with_underscors}\\ -\GT{absolute_undefined_translation_with_&ersand} - - -\paragraph{Testing formula2} -\begin{formula}{test} - \desc{Test}{Test Description}{Defs} - \desc[german]{Test (DE)}{Beschreibung}{Defs (DE)} - \eq{ - \text{equationwith}_{\alpha} \delta \E \left[yo\right] - } - \quantity{\tau}{\m\per\s}{iv} -\end{formula} -\begin{formula}{test2} - \desc{Test2}{Test Description}{Defs} - \desc[german]{Test2 (DE)}{Beschreibung}{Defs (DE)} - \ttxt{ - \eng{This text is english} - \ger{Dieser Text ist deutsch} - } - \ttxt[moretext]{ - \eng{This text is english, again} - \ger{Dieser Text ist wieder deutsch} - } + \paragraph{Testing hyperrefs} + \noindent{This text is labeled with "test" \label{test}}\\ + \fRef[This should refer to the line above]{test}\\ + Link to quantity which is defined after the reference: \qtyRef{test}\\ + \DT[eq:test]{english}{If you read this, then the translation for eq:test was expandend!} + Link to defined quantity: \qtyRef{mass} + \\ Link to element with name: \ElRef{H} \begin{equation} - M\omega\rho\epsilon + \label{eq:test} + E = mc^2 \end{equation} -\end{formula} -\begin{formula}{test3} - \desc{Test2}{Test Description}{Defs} - \desc[german]{Test2 (DE)}{Beschreibung}{Defs (DE)} - Formula with just plain text. -\end{formula} + + \paragraph{Testing translation keys with token symbols like undescores} + \noindent + \GT{absolute_undefined_translation_with_underscors}\\ + \gt{relative_undefined_translation_with_underscors}\\ + \GT{absolute_undefined_translation_with_&ersand} + + +\Section{formula} + \desc{Formula and Maths}{}{} + \desc[german]{Formula und Mathe}{}{} + \begin{formula}{test} + \desc{Test}{Test Description}{Defs} + \desc[german]{Test (DE)}{Beschreibung}{Defs (DE)} + \eq{ + \text{equationwith}_{\alpha} \delta \E \left[yo\right] + } + \quantity{\tau}{\m\per\s}{iv} + % \quantity{tau}{mpers}{iv} + \constant{\mu}{exp}{ + \val{1023}{\m\per\s} + } + \newFormulaEntry + \begin{gather} + \vec{XX} = \vecA_\vecB \otimes C^\vecD \\ + \mat{XX} = \matA_\matB \otimes C^\matD \\ + \ten{XX} = \tenA_\tenB \otimes C^\tenD + \end{gather} + \end{formula} + \begin{formula}{test2} + \desc{Test2}{Test Description}{Defs} + \desc[german]{Test2 (DE)}{Beschreibung}{Defs (DE)} + \ttxt{ + \eng{This text is english} + \ger{Dieser Text ist deutsch} + } + \ttxt[moretext]{ + \eng{This text is english, again} + \ger{Dieser Text ist wieder deutsch} + } + \begin{equation} + M\omega\rho\epsilon + \end{equation} + \end{formula} + \begin{formula}{test3} + \desc{Test2}{Test Description}{Defs} + \desc[german]{Test2 (DE)}{Beschreibung}{Defs (DE)} + Formula with just plain text. + \end{formula} @@ -118,22 +135,14 @@ Link to defined quantity: \qtyRef{mass} \desc{Layout Test}{}{} \desc[german]{}{}{} -\begin{formula}{tt1} - \desc{Formula}{Desc}{Defs} - \eq{E=mc^2} -\end{formula} - -\begin{bigformula}{tt2} - \desc{Big formula}{Desc}{Defs} - \eq{E=mc^3} -\end{bigformula} - - -\begin{formulagroup}{tt3} - \desc{Formula group}{Desc}{Defs} \begin{formula}{tt1} \desc{Formula}{Desc}{Defs} \eq{E=mc^2} + \ttxt{\eng{ + Translated text via ttxt. + }\ger{ + Übersetzter text mit ttxt. + }} \end{formula} \begin{bigformula}{tt2} @@ -141,4 +150,17 @@ Link to defined quantity: \qtyRef{mass} \eq{E=mc^3} \end{bigformula} -\end{formulagroup} + + \begin{formulagroup}{tt3} + \desc{Formula group}{Desc}{Defs} + \begin{formula}{tt1} + \desc{Formula}{Desc}{Defs} + \eq{E=mc^2} + \end{formula} + + \begin{bigformula}{tt2} + \desc{Big formula}{Desc}{Defs} + \eq{E=mc^3} + \end{bigformula} + + \end{formulagroup} diff --git a/src/util/environments.tex b/src/util/environments.tex index 34ebc85..2537314 100644 --- a/src/util/environments.tex +++ b/src/util/environments.tex @@ -1,12 +1,3 @@ - -\newcommand\separateEntries{ - \vspace{0.5\baselineskip} - \textcolor{fg3}{\hrule} - \vspace{0.5\baselineskip} -} - - - % Custon environment with table of contents, requires etoolbox? % Define a custom list \newcommand{\listofmyenv}{% @@ -32,6 +23,18 @@ \def\distrightwidth{0.45} \def\distleftwidth{0.45} +\begin{luacode} + distRefs = { + mean = "math:pt:mean", + variance = "math:pt:variance", + median = "math:pt:median", + } + distAbbrRefs = { + pdf = "pdf", + pmf = "pmf", + cdf = "cdf", + } +\end{luacode} % Table for distributions % create entries for parameters using \disteq \newenvironment{distribution}{ @@ -39,21 +42,15 @@ % 2: math \newcommand{\disteq}[2]{ % add links to some names - \directlua{ - local cases = { - pdf = "math:pt:pdf", - pmf = "math:pt:pmf", - cdf = "math:pt:cdf", - mean = "math:pt:mean", - variance = "math:pt:variance", - median = "math:pt:median", - } - if cases[\luastring{##1}] \string~= nil then - tex.sprint("\\fRef{"..cases[\luastring{##1}].."}") - else - tex.sprint("\\GT{##1}") - end - } + \luaexec{ + if distRefs[\luastring{##1}] ~= nil then + hyperref(distRefs[\luastring{##1}]) + elseif distAbbrRefs[\luastring{##1}] ~= nil then + abbrRef(distAbbrRefs[\luastring{##1}]) + else + tex.sprint(tlGetFallbackCurrent(translateRelativeFqname(\luastring{##1}))) + end + }% & ##2 \\ \hline } \hfill diff --git a/src/util/macros.tex b/src/util/macros.tex index c7e26ba..acd672c 100644 --- a/src/util/macros.tex +++ b/src/util/macros.tex @@ -3,6 +3,15 @@ \newcommand\gooditem{\item[{$\color{fg-green}\bullet$}]} \newcommand\baditem{\item[{$\color{fg-red}\bullet$}]} +\AtBeginDocument{ +\newcommand\blacksquare{\mdblksquare} + +% \forceNewCommand\checkmark{\emoji{check-mark}} +\newcommand\symForbidden{\emoji{cross-mark}} +\newcommand\symAllowed{\emoji{check-mark}} +% \forceNewCommand\crossmark{$\times$} +} + % INPUT % 1: starting pattern of files to input using the Input command. All other files are ignored \newcommand\InputOnly[1]{\edef\inputOnlyFile{#1}} diff --git a/src/util/math-macros.tex b/src/util/math-macros.tex index d92d6b0..50fe1c6 100644 --- a/src/util/math-macros.tex +++ b/src/util/math-macros.tex @@ -1,3 +1,6 @@ +% This file is also sourced by matplotlib, +% it must thus not contain dependencies except those +% specified in the preamble in scripts/formulary.py % Functions with (optional) paranthesis % 1: The function (like \exp, \sin etc.) @@ -18,6 +21,21 @@ } } +% VECTOR, MATRIX and TENSOR +\AtBeginDocument{ % unicode-math defines them at begin document, need to overwrite vec there +% use vecAr to force an arrow +\NewCommandCopy{\vecAr}{\vec} +% extra {} assure they can b directly used after _ +%% arrow/underline +\newcommand\mat[1]{{\ensuremath{\underline{#1}}}} +\renewcommand\vec[1]{{\ensuremath{\vecAr{#1}}}} +\newcommand\ten[1]{{\ensuremath{[#1]}}} +\newcommand\complex[1]{{\ensuremath{\tilde{#1}}}} +} +%% bold +% \newcommand\mat[1]{{\ensuremath{\bm{#1}}}} +% \renewcommand\vec[1]{{\ensuremath{\bm{#1}}}} + % COMMON SYMBOLS WITH SUPER/SUBSCRIPTS, VECTOR ARROWS ETC. % \def\laplace{\Delta} % Laplace operator @@ -49,10 +67,10 @@ % \newcommand\O{\mathcal{O}} % order \newcommand\PhiB{\Phi_\text{B}} % mag. flux \newcommand\PhiE{\Phi_\text{E}} % electric flux -\newcommand\nreal{n^{\prime}} % refraction real part -\newcommand\ncomplex{n^{\prime\prime}} % refraction index complex part -\newcommand\epsreal{\epsilon^{\prime}} % permittivity real part -\newcommand\epscomplex{\epsilon^{\prime\prime}} % permittivity complex part +\newcommand\nReal{n^{\prime}} % refraction real part +\newcommand\nImag{n^{\prime\prime}} % refraction index complex part +\newcommand\epsReal{\epsilon^{\prime}} % permittivity real part +\newcommand\epsImag{\epsilon^{\prime\prime}} % permittivity complex part \newcommand\I{i} % complex/imaginary unit \newcommand\crit{\text{crit}} % crit (for subscripts) \newcommand\muecp{\overline{\mu}} % electrochemical potential @@ -186,15 +204,3 @@ \newcommand\Log[1]{\CmdWithParenthesis{\log}{#1}} \newcommand\Order[1]{\CmdWithParenthesis{\mathcal{O}}{#1}} -% VECTOR, MATRIX and TENSOR -% use vecAr to force an arrow -\NewCommandCopy{\vecAr}{\vec} -% extra {} assure they can b directly used after _ -%% arrow/underline -\newcommand\mat[1]{{\ensuremath{\underline{#1}}}} -\renewcommand\vec[1]{{\ensuremath{\vecAr{#1}}}} -\newcommand\ten[1]{{\ensuremath{[#1]}}} -\newcommand\complex[1]{{\ensuremath{\tilde{#1}}}} -%% bold -% \newcommand\mat[1]{{\ensuremath{\bm{#1}}}} -% \renewcommand\vec[1]{{\ensuremath{\bm{#1}}}} diff --git a/src/util/translations.tex b/src/util/translations.tex index ec299b1..a8093ea 100644 --- a/src/util/translations.tex +++ b/src/util/translations.tex @@ -31,10 +31,10 @@ \Eng[semiconductor]{Semiconductor} \Ger[semiconductor]{Halbleiter} -\Eng{conduction band}{conduction band} -\Ger{conduction band}{Leitungsband} -\Eng{valence band}{valance band} -\Ger{valence band}{Valenzband} +\Eng[conduction band]{conduction band} +\Ger[conduction band]{Leitungsband} +\Eng[valence band]{valance band} +\Ger[valence band]{Valenzband} \Eng[creation_annihilation_ops]{Creation / Annihilation operators}