% pgf-interference package: German manual
% Version 0.1
% 9. Januar 2022
\documentclass{scrartcl}
\usepackage[UKenglish,ngerman]{babel}
\usepackage{pgf-interference}
\usepackage{libertinus}
\usepackage{cnltx-example}
\usepackage{mathtools}
\usepackage{pgfplots}
\usepackage{worldflags}
\usepackage[locale=DE,mode=match]{siunitx}
\usepackage[colorlinks=true,
  allcolors=black,
  bookmarksopen=true,
  bookmarksopenlevel=0,
  bookmarksnumbered=true,
  pdfencoding=auto,
  pdftitle={Interferenzmuster zeichnen mit pgf/TikZ},
  pdfsubject={Anleitung zum Paket pgf-interference},
  pdfkeywords={latex pgf tikz Interferenz},
  pdfauthor={K. Wehr}]{hyperref}

\definecolor{pgfinterferencered}{wave}{632.8}

\definecolorscheme{pgfinterferencecolorscheme}{cs => cnltxformalblue,
  option => cnltxgreen,
  cnltx => pgfinterferencered}

\setcnltx{add-cmds = {pgfinterferenceoptions,pgfinterferencepattern},
  color-scheme = pgfinterferencecolorscheme,
  add-listings-options = {numbers=none},
  pre-output = {\raggedright}}

\makeatletter
\setlength{\cnltx@before@skip}{5pt plus1pt minus1pt}
\setlength{\cnltx@after@skip}{1pt plus1pt minus1pt}
\makeatother

\selectcolormodel{rgb}

\setmonofont{DejaVu Sans Mono}[Scale=MatchLowercase]

\pgfplotsset{compat=newest}
\usetikzlibrary{angles}

\newenvironment{Befehlsliste}{\begin{list}{}{
  \setlength\leftmargin{0pt}
  \setlength\itemindent{-1em}
  \setlength\parsep{0pt}
  \setlength\listparindent{\parindent}
  \setlength\itemsep{\topsep}}}{\end{list}}

\newcommand*\Befehlsbeschreibung[2]{\item\cs{#1}#2\\}

\newcommand*\Optionsbeschreibung[3]{\item\choicekey{#1}{#2}
  \hfill Voreinstellung:~\code{#3}\\}

\newcommand*\OptionsbeschreibungZahl[2]{\item
  \choicekey{#1}{\meta{Zahl}}
  \hfill Voreinstellung:~\code{#2}\\}

\newcommand*\Paket[1]{\textsf{#1}}
\newcommand\inter{\textcolor{pgfinterferencered}{\Paket{pgf-interference}}}
\newcommand\pgftikz{\Paket{\textsc{pgf}/Ti\textit{k}Z}}
\newcommand\pakettikz{\Paket{Ti\textit{k}Z}}
\newcommand\AutorNachname{Wehr}
\newcommand\AutorVorname{Keno}

\begin{document}

\begin{center}
\fontsize{41}{41}\selectfont\textsc{\inter}

\medskip
\pgfinterferencepattern{}

\LARGE
\rmfamily
Interferenzmuster zeichnen mit \pgftikz

\bigskip
\Large
\textcolor{pgfinterferencered}{Version 0.1}

\medskip
\large
\today

\bigskip
\textit{Paketautor}

\smallskip
\AutorVorname\ \AutorNachname

\bigskip
\textit{Fragen und Fehlermeldungen}

\smallskip
\normalsize
\url{https://codeberg.org/wehr/pgf-interference}
\end{center}

\begin{abstract}
\noindent Mit diesem \LaTeX-Paket können Interferenzmuster, die bei Beugung von monochromatischem Licht an regelmäßigen Spaltanordnungen auf einem Schirm entstehen, simuliert werden. Hierfür wird das Graphikpaket \pgftikz\ verwendet.

\medskip
\noindent Das Paket ist noch im experimentellen Stadium. Die Nutzerschnittstelle kann sich in künftigen Versionen ändern.

\medskip
\noindent
\worldflag[width=9pt,framewidth=0pt]{GB} \foreignlanguage{UKenglish}{An English version of this manual is available in the file \texttt{pgf-interference-en.pdf}.}
\end{abstract}

\vfill
\tableofcontents

\newpage
\section{Einführung}
Zu den eindrücklichsten Belegen für die Wellennatur des Lichts zählt das Auftreten von Interferenzmustern nach dem Durchgang durch feine Spaltanordnungen. Solche Interferenzmuster werden bereits im Physikunterricht der gymnasialen Oberstufe untersucht.

Da in Physiksammlungen nur ein begrenzter Vorrat an Lichtquellen und Beugungsobjekten zur Verfügung steht, ist es wünschenswert, auch die Interferenzbilder für Wellenlängen und Spaltabmessungen, die nicht experimentell zugänglich sind, präsentieren zu können.
\begin{center}
\pgfinterferencepattern{wavelength=450e-9}

\small
Interferenzmuster für Licht der Wellenlänge
\qty{450}{nm}
hinter einem Doppelspalt

\medskip
\pgfinterferencepattern{wavelength=550e-9,slits=4,intensity=3}

\small
Interferenzmuster für Licht der Wellenlänge
\qty{550}{nm}
hinter einem Vierfachspalt

\medskip
\pgfinterferencepattern{slits=1,slit-width=5e-5,intensity=10}

\small
Interferenzmuster für Licht der Wellenlänge
\qty{633}{nm}
hinter einem Einzelspalt
\end{center}

Das Paket \inter\ macht dies möglich. Unterstützt werden nur monochromatisches Licht und regelmäßige Spaltanordnungen (Einzel-, Doppel- und Mehrfachspalte). Auch können bisher nur Interferenzstreifen dargestellt werden, wie sie bei vertikaler Aufweitung des Lichts entstehen, nicht die typischen „Interferenzkuller“, die von einem Laserstrahl erzeugt werden.

Das Paket unterliegt der
\emph{\LaTeX\ Project Public License},
Version 1.3 oder Nachfolgeversion.%
\footnote{\url{http://www.latex-project.org/lppl.txt}}

\newpage
\section{Verwendung}
Das Paket wird wie üblich geladen:
\begin{sourcecode}
  \usepackage{pgf-interference}
\end{sourcecode}
Damit wird indirekt auch das Paket \pakettikz{} geladen.

Das Übersetzen von Dokumenten mit vielen Interferenzmustern kann aufgrund der nötigen Berechnungen lange dauern. Daher gibt es einen Entwurfsmodus, in dem nur der Schirm, aber kein Interferenzmuster gezeichnet wird, was wesentlich schneller geht. Der Entwurfsmodus wird durch die Paketoption
\code{draft} aktiviert.
\begin{sourcecode}
  \usepackage[draft]{pgf-interference}
\end{sourcecode}

Das Paket \inter{} definiert zwei Befehle:
\begin{Befehlsliste}
\Befehlsbeschreibung{pgfinterferencepattern}{\marg{Optionen}}
Erzeugt ein Interferenzmuster. Das Argument ist eine kommaseparierte Optionenliste. Die verfügbaren Optionen werden im Abschnitt \ref{Optionen} beschrieben.
\begin{example}
  \pgfinterferencepattern{slits=3,wavelength=590e-9,slit-distance=3e-5,intensity=2}
\end{example}
\Befehlsbeschreibung{pgfinterferenceoptions}{\marg{Optionen}}
Legt Optionen fest, ohne ein Interferenzmuster zu zeichnen.
\begin{sourcecode}
  \pgfinterferenceoptions{slit-width=1e-6,screen-distance=3.5,screen-width=0.15}
\end{sourcecode}
\end{Befehlsliste}

\newpage
\section{Optionen\label{Optionen}}
\pgfinterferenceoptions{screen-width=0.05,screen-height=0.015}
Alle Längen des Experiments wie die Wellenlänge, der Spaltabstand, die Schirmbreite usw. sind in Metern anzugeben, wobei die wissenschaftliche Schreibweise verwendet werden kann. Beispielsweise kann ein Spaltabstand von
\qty{0,1}{mm}
als
\code{0.0001}, \code{0.1e-3} oder \code{1e-4} eingegeben werden.\footnote{Die Längen werden intern als Gleitkommazahlen des \Paket{expl3}-Moduls \Paket{l3fp} behandelt, dessen Syntax daher auch für die Eingabe gilt.}

\subsection{Optionen für das Licht}
\begin{Befehlsliste}
\OptionsbeschreibungZahl{wavelength}{632.8e-9}
Wellenlänge des Lichts in \unit{m}. Die Voreinstellung entspricht der Wellenlänge des Helium-Neon-Lasers
(\qty{632,8}{nm}).
Aus der Wellenlänge ergibt sich nicht nur die Lage, sondern auch die Farbe der Interferenzmaxima, die mit Hilfe des Pakets \Paket{xcolor} ermittelt wird.

Für Wellenlängen außerhalb des sichtbaren Bereichs werden die Maxima schwarz dargestellt.\footnote{Nach dem Algorithmus des Pakets \Paket{xcolor} ist dies für Wellenlängen unter
\qty{363}{nm}
und über
\qty{814}{nm} der Fall.}
Um solche Maxima sichtbar zu machen, sollte weiße Schirmfarbe eingestellt werden. Die größtmögliche Wellenlänge ist
\qty{1}{m}.
\begin{sidebyside}
  \pgfinterferencepattern{wavelength=590e-9}
  \pgfinterferencepattern{wavelength=350e-9,screen-color=white}
\end{sidebyside}
\OptionsbeschreibungZahl{intensity}{1.0}
Relative Intensität des Lichts. Falls nicht alle erwarteten Maxima sichtbar sind, sollte der Wert vergrößert werden.
\begin{sidebyside}
  \pgfinterferencepattern{slits=5}
  \pgfinterferencepattern{slits=5,intensity=6.5}
\end{sidebyside}
\end{Befehlsliste}

\subsection{Optionen für das Beugungsobjekt}
\begin{Befehlsliste}
\OptionsbeschreibungZahl{slits}{2}
Anzahl der Spalte
\begin{sidebyside}
  \pgfinterferencepattern{slits=3}
  \pgfinterferencepattern{slits=20}
\end{sidebyside}
\OptionsbeschreibungZahl{slit-distance}{1e-4}
Spaltabstand in m
\begin{sidebyside}
  \pgfinterferencepattern{slit-distance=2e-4}
  \pgfinterferencepattern{slit-distance=5e-5}
\end{sidebyside}
\OptionsbeschreibungZahl{slit-width}{1e-5}
Spaltbreite in m
\begin{sidebyside}
  \pgfinterferencepattern{slit-width=2e-5}
  \pgfinterferencepattern{slit-width=3.5e-5}
\end{sidebyside}
\end{Befehlsliste}

\subsection{Optionen für den Schirm}
\begin{Befehlsliste}
\OptionsbeschreibungZahl{screen-distance}{1.0}
Abstand des Schirms vom Beugungsobjekt in m
\begin{sidebyside}
  \pgfinterferencepattern{screen-distance=0.8}
  \pgfinterferencepattern{screen-distance=1.6}
\end{sidebyside}
\OptionsbeschreibungZahl{screen-width}{0.1}
Breite des Schirms in m
\OptionsbeschreibungZahl{screen-height}{0.03}
Höhe des Schirms in m
\OptionsbeschreibungZahl{scale}{1.0}
Faktor, um den der Schirm in der Abbildung skaliert wird

Die Maße für Breite und Höhe beziehen sich auf den realen Schirm. Die Größe des Schirms in der Abbildung hängt vom Wert der Option \option{scale} ab.
\begin{sidebyside}
  \pgfinterferencepattern{screen-width=0.06,screen-height=0.01}
  \pgfinterferencepattern{slits=10,slit-distance=2e-6,slit-width=2e-7,screen-width=2,screen-height=0.5,scale=0.03}
\end{sidebyside}
\Optionsbeschreibung{screen-color}{\meta{Farbe}}{black}
Farbe des Schirms. Für die Farbe gilt die Syntax des \Paket{xcolor}-Pakets.
\begin{sidebyside}
  \pgfinterferencepattern{screen-color=yellow}
  \pgfinterferencepattern{screen-color=green!25!black}
\end{sidebyside}
\Optionsbeschreibung{ruler}{above,below,screen,none}{none}
Oberhalb oder unterhalb des Schirms kann ein Lineal mit Zentimeterskala angezeigt werden.

Mit \code{ruler=screen} dient das Lineal selbst als Schirm. In diesem Fall werden die Optionen \option{screen-height} und \option{screen-color} ignoriert.
\begin{example}
  \pgfinterferenceoptions{screen-width=0.135,screen-height=0.025}
  \pgfinterferencepattern{ruler=above}
  \pgfinterferencepattern{ruler=below,scale=0.8}
  \pgfinterferencepattern{ruler=screen}
\end{example}
\end{Befehlsliste}

\section{Physikalische Theorie}
Für die Intensität des in Richtung $\varphi$ gebeugten Lichts hinter einem Mehrfachspalt geben die Lehrbücher (z.\,B. \cite{BS}, S. 373) folgende Formel an:
\begin{equation}
I(\varphi)\sim\frac{\sin^2\bigl(\frac{\pi\,b}{\lambda}\,\sin\varphi\bigr)}{\bigl(\frac{\pi\,b}{\lambda}\,\sin\varphi\bigr)^2}\cdot\frac{\sin^2\bigl(\frac{p\,\pi}{\lambda}\,s\,\sin\varphi\bigr)}{\sin^2\bigl(\frac{\pi}{\lambda}\,s\,\sin\varphi\bigr)}\label{Winkelabhaengigkeit}
\end{equation}
Dabei ist $b$ die Spaltbreite, $s$ der Spaltabstand und $p$ die Anzahl der Spalte.

Der erste Faktor beschreibt die Intensitätsverteilung in Folge der Beugung am Einzelspalt, der zweite die Interferenz am idealen Mehrfachspalt (siehe Abb.
\ref{Intensitaetsverteilung}).
\begin{figure}
\centering
\begin{minipage}{13,4cm}
\raggedleft
\begin{tikzpicture}
\begin{axis}[xmin=-2.5,xmax=2.5,ymin=0,ymax=1.2,xlabel=$\varphi$,ylabel=Intensität in Skt.,xtick={-2,...,2},xticklabels={\ang{-2},\ang{-1},\ang{0},\ang{1},\ang{2}},yticklabels=\empty,x=2.5cm,y=5.5cm]
\addplot[domain=-2.5:2.5,samples=500,blue] {(sin(180*3e-5/632.8e-9*sin(x)))^2/(pi*3e-5/632.8e-9*sin(x))^2};
\addplot[domain=-2.5:2.5,samples=700,green] {(sin(4*180/632.8e-9*1e-4*sin(x)))^2/(sin(180/632.8e-9*1e-4*sin(x)))^2/16};
\addplot[domain=-2.5:2.5,samples=700,thick,red] {(sin(180*3e-5/632.8e-9*sin(x)))^2/(pi*3e-5/632.8e-9*sin(x))^2*(sin(4*180/632.8e-9*1e-4*sin(x)))^2/(sin(180/632.8e-9*1e-4*sin(x)))^2/16};
\legend{Einzelspalt,idealer Vierfachspalt,realer Vierfachspalt}
\end{axis}
\end{tikzpicture}

\medskip
\pgfinterferencepattern{slits=4,slit-width=3e-5,screen-distance=1.431,screen-width=0.125,screen-height=0.025,intensity=6}
\end{minipage}
\caption{Intensitätsverteilung und Interferenzmuster für einen Vierfachspalt mit Spaltabstand
\qty{0,1}{mm}
und Spaltbreite
\qty{30}{\micro\m}
bei einer Wellenlänge von
\qty{632,8}{nm}\label{Intensitaetsverteilung}}
\end{figure}

\begin{figure}
\centering
\begin{tikzpicture}[font=\small]
\draw[thick] (-3,5)--node[above] {Schirm} (3,5);
\draw (0,0) coordinate (O)--node[left] {$a$} (0,5) coordinate(A);
\draw (0,0)--node[right] {$e$} (2,5) coordinate (B);
\draw[dotted,thick] (-2,0)--node[below] {Beugungsobjekt} (2,0);
\path (A)--node[below] {$x$} (B);
\draw pic[draw,angle radius=1.4cm,pic text={$\varphi$}] {angle=B--O--A};
\end{tikzpicture}
\caption{Zusammenhang zwischen Beugungswinkel
$\varphi$
und Position
$x$
auf dem Schirm
\label{Dreieck}}
\end{figure}
Für die Darstellung des Interferenzmusters benötigen wir die Intensität in Abhängigkeit von der Position $x$ auf dem Schirm. Aus Abb. \ref{Dreieck} ergibt sich
\begin{equation}
\sin\varphi=\frac{x}{e}=\frac{x}{\sqrt{a^2+x^2}}\label{Sinus}
\end{equation}
mit dem Schirmabstand $a$. Durch Einsetzen von
\eqref{Sinus}
in
\eqref{Winkelabhaengigkeit}
ergibt sich:
\[I(x)\sim\frac{\sin^2\left(\frac{\pi\,b\,x}{\lambda\,\sqrt{a^2+x^2}}\right)}{\left(\frac{\pi\,b\,x}{\lambda\,\sqrt{a^2+x^2}}\right)^2}\cdot\frac{\sin^2\left(\frac{p\,\pi\,s\,x}{\lambda\,\sqrt{a^2+x^2}}\right)}{\sin^2\left(\frac{\pi\,s\,x}{\lambda\,\sqrt{a^2+x^2}}\right)}\]
Diese Formel ist die Grundlage für die Berechnung der Interferenzmuster.

Unberücksichtigt bleibt die Verminderung der Intensität durch steigenden Abstand vom Beugungsobjekt mit steigendem $x$.

\begin{thebibliography}{9}
\bibitem{BS} Bergmann/Schaefer: Lehrbuch der Experimentalphysik. Band 3: Optik, hrsg. von Heinrich Gobrecht, \textsuperscript{7}1978.
\end{thebibliography}

\end{document}
