ich bin noch relativ neu in LaTeX und schon allein die Problemformulierung bereitet mir leider etwas Schwierigkeiten. Ich bitte euch deshalb, etwas Nachsicht bei mir walten zu lassen

Ich schreibe gerade meine Masterarbeit und brauche da sehr viele Formeln und Gleichungen. Zu dem Zweck nutze ich folgende Vereinfachung, um alle Zeilen gleich auszurichten:
\newenvironment{derivation} {\vspace{8pt}\begin{tabular}[b]{p{0.3cm} p{0.2cm} p{15cm}}} {\end{tabular}\vspace{8pt}}
(Schrittnummer) | = | [Gleichung]
Leider macht das mehrere Probleme:
1. Für untenstehendes Dokument ist die letzte Zeile über den Seitenrand hinausgerutscht
2. Es gibt immer einen Seitenumbruch, wenn das Environment über die vorherige Seite hinausgeht, siehe Seite 3/4
Habt ihr eine Idee, wie ich das bessermachen könnte?
Vielen Dank schonmal im Voraus!
%Das ist mein Dokument \documentclass[a4paper, 12pt]{article} \usepackage{array} \usepackage{fixltx2e} \usepackage[top=1in, bottom=1in, left=1in, right=1in]{geometry} \usepackage[utf8]{inputenc} \usepackage{amsmath} \usepackage{stmaryrd} % for evaluation brackets \usepackage{qtree} % for tree design \usepackage{lscape} %for landscape mode \usepackage{setspace} % line spacing \usepackage[normalem]{ulem} % striking through words \newcommand{\evalleft}{\llbracket} \newcommand{\evalright}{\rrbracket} \newcommand{\variable}[2]{#1\textsubscript{#2}} \newcommand{\var}[2]{#1\textsubscript{#2}} \newcommand{\step}[1]{-- #1} \newenvironment{derivation} {\vspace{8pt}\begin{tabular}[b]{p{0.3cm} p{0.2cm} p{15cm}}} {\end{tabular}\vspace{8pt}} \newenvironment{evaluation} {$\evalleft$} {$\evalright$} \newcommand{\derstart}[1]{\\ \\ (#1) & $=$ &} \newcommand{\type}[1]{$<$#1$>$} \newcommand{\example}[1]{(#1)} %================================================% \begin{document} \onehalfspacing \begin{derivation} \derstart{1} $\evalleft$$R$$\evalright$ (\var{w}{0}) \& $\evalleft$Sim \var{w}{0} 2 f I \var{w}{2} be f you \var{w}{2}$\evalright$ \step{lexical entry for R} \derstart{2} [$\lambda$\variable{w}{a}.[$\lambda$\variable{w}{b}.\variable{w}{b} is compatible with what \var{speaker}{w0} knows in \variable{w}{a}]] (\var{w}{0}) \& $\evalleft$Sim \var{w}{0} 2 f I \var{w}{2} be f you \var{w}{2}$\evalright$ \step{via variable assignment function} \derstart{3} [$\lambda$\variable{w}{a}.[$\lambda$\variable{w}{b}.\variable{w}{b} is compatible with what \var{speaker}{w0} knows in \variable{w}{a}]] (\var{w}{0}) \& $\evalleft$Sim \var{w}{0} 2 \var{speaker}{w2} be \var{hearer}{w2}$\evalright$ \step{via lambda conversion} \derstart{4} [$\lambda$\variable{w}{b}.\variable{w}{b} is compatible with what \var{speaker}{w0} knows in \variable{w}{0}] \& $\evalleft$Sim \var{w}{0} 2 \var{speaker}{w2} be \var{hearer}{w2}$\evalright$ \step{lexical entry for Sim} \derstart{5} [$\lambda$\variable{w}{b}.\variable{w}{b} is compatible with what \var{speaker}{w0} knows in \variable{w}{0}] \& [$\lambda$w.[$\lambda$p.[$\lambda$w'.w'$\in$p \& $\forall$w''$\in$p, w'' $\neq$ w' [dist(w',w) $<$ dist(w'', w)] ]]] (\var{w}{0}) ($\evalleft$2 \var{speaker}{w2} be \var{hearer}{w2}$\evalright$)) \step{via lambda conversion} \derstart{6} [$\lambda$\variable{w}{b}.\variable{w}{b} is compatible with what \var{speaker}{w0} knows in \variable{w}{0}] \& [$\lambda$p.[$\lambda$w'.w'$\in$p \& $\forall$w''$\in$p, w'' $\neq$ w' [dist(w',\var{w}{0}) $<$ dist(w'', \var{w}{0})] ]] ($\evalleft$2 \var{speaker}{w2} be \var{hearer}{w2}$\evalright$)) \step{via lambda abstraction} \derstart{7} [$\lambda$\variable{w}{b}.\variable{w}{b} is compatible with what \var{speaker}{w0} knows in \variable{w}{0}] \& [$\lambda$p.[$\lambda$w'.w'$\in$p \& $\forall$w''$\in$p, w'' $\neq$ w' [dist(w',\var{w}{0}) $<$ dist(w'', \var{w}{0})] ]] ([$\lambda$\var{w}{2}.$\evalleft$\var{speaker}{w2} be \var{hearer}{w2}$\evalright$]) \step{function application \& lexical entry} \derstart{7a} [$\lambda$\variable{w}{b}.\variable{w}{b} is compatible with what \var{speaker}{w0} knows in \variable{w}{0}] \& [$\lambda$p.[$\lambda$w'.w'$\in$p \& $\forall$w''$\in$p, w'' $\neq$ w' [dist(w',\var{w}{0}) $<$ dist(w'', \var{w}{0})] ]] ([$\lambda$\var{w}{2}.[$\lambda$x.[$\lambda$y.y is in a contextually relevant sense similar to x]] (\var{hearer}{\var{w}{2}}) (\var{speaker}{\var{w}{2}})]) \step{lexical entry} \derstart{7b} [$\lambda$\variable{w}{b}.\variable{w}{b} is compatible with what \var{speaker}{w0} knows in \variable{w}{0}] \& [$\lambda$p.[$\lambda$w'.w'$\in$p \& $\forall$w''$\in$p, w'' $\neq$ w' [dist(w',\var{w}{0}) $<$ dist(w'', \var{w}{0})] ]] ([$\lambda$\var{w}{2}.\var{speaker}{\var{w}{2}} is in a contextually relevant sense similar to \var{speaker}{\var{w}{2}}]) \step{$\lambda$-conversion x2} \derstart{9} [$\lambda$\variable{w}{b}.\variable{w}{b} is compatible with what \var{speaker}{w0} knows in \variable{w}{0}] \& [$\lambda$p.[$\lambda$w'.w'$\in$p \& $\forall$w''$\in$p, w'' $\neq$ w' [dist(w',\var{w}{0}) $<$ dist(w'', \var{w}{0})] ]] ([$\lambda$\var{w}{2}.\var{speaker}{w2} is in a contextually relevant sense similar to \var{hearer}{w2}]) \step{$\lambda$-conversion} \derstart{0} [$\lambda$\var{w}{b}.\var{w}{b} is compatible with what \var{speaker}{w0} knows in \variable{w}{0}] \& \newline [$\lambda$w'. \variable{speaker}{w'} is in a contextually relevant sense similar to \variable{hearer}{w'} \& $\forall$w''$\in$p, w'' $\neq$ w' [dist(w',\variable{w}{0}) $<$ dist(w'', \variable{w}{0})] ] \step{simplification} \derstart{$\alpha$} [$\lambda$w'.w' is compatible with what \var{speaker}{w0} knows in \variable{w}{0} \& \variable{speaker}{w'} is in a contextually relevant sense similar to \variable{hearer}{w'} \& $\forall$w''$\in$p, w'' $\neq$ w' [dist(w',\variable{w}{0}) $<$ dist(w'', \variable{w}{0})] ] \end{derivation} \newpage \par Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \par Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \par Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \begin{derivation} \derstart{1} $\evalleft$$R$$\evalright$ (\var{w}{0}) \& $\evalleft$Sim \var{w}{0} 2 f I \var{w}{2} be f you \var{w}{2}$\evalright$ \step{lexical entry for R} \derstart{2} [$\lambda$\variable{w}{a}.[$\lambda$\variable{w}{b}.\variable{w}{b} is compatible with what \var{speaker}{w0} knows in \variable{w}{a}]] (\var{w}{0}) \& $\evalleft$Sim \var{w}{0} 2 f I \var{w}{2} be f you \var{w}{2}$\evalright$ \step{via variable assignment function} \derstart{3} [$\lambda$\variable{w}{a}.[$\lambda$\variable{w}{b}.\variable{w}{b} is compatible with what \var{speaker}{w0} knows in \variable{w}{a}]] (\var{w}{0}) \& $\evalleft$Sim \var{w}{0} 2 \var{speaker}{w2} be \var{hearer}{w2}$\evalright$ \step{via lambda conversion} \derstart{4} [$\lambda$\variable{w}{b}.\variable{w}{b} is compatible with what \var{speaker}{w0} knows in \variable{w}{0}] \& $\evalleft$Sim \var{w}{0} 2 \var{speaker}{w2} be \var{hearer}{w2}$\evalright$ \step{lexical entry for Sim} \derstart{5} [$\lambda$\variable{w}{b}.\variable{w}{b} is compatible with what \var{speaker}{w0} knows in \variable{w}{0}] \& [$\lambda$w.[$\lambda$p.[$\lambda$w'.w'$\in$p \& $\forall$w''$\in$p, w'' $\neq$ w' [dist(w',w) $<$ dist(w'', w)] ]]] (\var{w}{0}) ($\evalleft$2 \var{speaker}{w2} be \var{hearer}{w2}$\evalright$)) \step{via lambda conversion} \derstart{6} [$\lambda$\variable{w}{b}.\variable{w}{b} is compatible with what \var{speaker}{w0} knows in \variable{w}{0}] \& [$\lambda$p.[$\lambda$w'.w'$\in$p \& $\forall$w''$\in$p, w'' $\neq$ w' [dist(w',\var{w}{0}) $<$ dist(w'', \var{w}{0})] ]] ($\evalleft$2 \var{speaker}{w2} be \var{hearer}{w2}$\evalright$)) \step{via lambda abstraction} \end{derivation} \end{document} %Ende des Dokumentes