PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wahrheitstafeln



marius79
05-05-2007, 18:30
Hallo,

ich möchte Wahrheitstafeln für boolesche Formeln setzen. Bisher mache ich das als Tabelle. Da aber unter jeden Junktor sein Wahrheitswertverlauf soll, muss ich die Formel über mehrere Spalten verteilen, was zum Einen die Eingabe recht mühsam macht und zum Anderen auch in der Ausgabe nicht ganz optimal ist, da manche Spalten linksbündig und manche zentriert sind.

Gibt es dafür irgendeine elegante Lösung?

Grüße
marius

rais
08-05-2007, 08:55
Moin moin,


Gibt es dafür irgendeine elegante Lösung?


wie sieht es denn bisher aus? Stichwort: Minimalbeispiel... dann hat vllt jmd auch einen eleganten Ansatz.;)
MfG,

localghost
08-05-2007, 09:31
[…] wie sieht es denn bisher aus? Stichwort: Minimalbeispiel... dann hat vllt jmd auch einen eleganten Ansatz. […]
… oder im Anhang ein Scan von einem Beispiel, das Du irgendwo gefunden hast.

marius79
08-05-2007, 10:41
Sorry, hier ein Minimalbeispiel:


\documentclass{article}

\begin{document}

\begin{tabular}[t]{c|c||lclcc}
$P$ & $Q$ & $\neg\neg\neg{}P$ & $\wedge$ & $\neg\neg{}P$ & $\wedge$ & $Q$\\
\hline
w & w & f\,\,w\,f & f & w\,f & \textbf{f} & \\
w & f & f\,\,w\,f & f & w\,f & \textbf{f} & \\
f & w & w\,f\,w & f & f\,\,w & \textbf{f} & \\
f & f & w\,f\,w & f & f\,\,w & \textbf{f} &
\end{tabular}\\[1em]
\begin{tabular}[t]{c|c||cclcl}
$P$ & $Q$ & $(P\wedge{}Q)$ & $\vee$ & $(\neg{}P$ & $\vee$ & $\neg{}Q)$\\
\hline
w & w & w & \textbf{w} & \,\,f & f & f\\
w & f & f & \textbf{w} & \,\,f & w & w\\
f & w & f & \textbf{w} & \,\,w & w & f\\
f & f & f & \textbf{w} & \,\,w & w & w
\end{tabular}

\end{document}
Mir gefällt erst mal nicht, dass die Formel so extrem weit auseinandergezogen ist. Ich muss aber z. B. das $\wedge$ ein eine eigene Spalte schreiben, weil ich sonst die Wahrheitswerte nicht platziert bekomme. Außerdem finde ich es unschön, dass die Wahrheitswerte unter der Negation linksbündig sind. Das wiederum muss sein, weil sonst auch das $\neg$ sehr weit von der folgenden Formel entfernt wäre.
Eine deutliche Verbesserung würde es schon bedeuten, wenn ich die Spalten schmaler machen könnte. Wahrscheinlich mit p{...} formatieren? Dann muss ich aber tausendmal probieren, biss ich die richtige Breite gefunden habe. Hilft es vielleicht, die Symbolklasse der Junktoren zu verändern? Zu \mathord?

Grüße
marius

sofa-surfer
08-05-2007, 11:01
Hallo,

eine ganz einfache Lösung (ich hoffe ich habe das Layout richtig "imitiert", denn in dieser Form kannte ich Wahrheitstafeln bisher nicht):


\documentclass{article}
\begin{document}


\begin{tabular}{c|c||*{9}{c@{}}c}
$P$ & $Q$ & $\neg$ & $\neg$ & $\neg$ & $P$ & ${}\wedge{}$ & $\neg$ & $\neg$ & $P$ & ${}\wedge{}$ & $Q$ \\ \hline
w & w & f & w & f && f & w & f && \textbf{f} \\
w & f & f & w & f && f & w & f && \textbf{f}
\end{tabular}
\end{document}

Wenn du eine Lösung mit p-Spalten anstrebst, dir aber die Friemelei mit den Spaltenbreiten sparen willst, dann ist evt. auch tabularx von Interesse für dich.

Matthias

marius79
08-05-2007, 14:20
Super, vielen Dank sofa-surfer! :)

Der @-Ausdruck tut wohl genau das, was ich wollte.