Vertikale Ausrichtung einer Tabelle in einer Gleichung

Vertikale Ausrichtung einer Tabelle in einer Gleichung

Ich verwende das Paket, sgameum Spiele in Normalform zu formatieren. Die Spiele werden normalerweise in einem formatiert, figureaber ich möchte sie in einem verwenden equation. Ich habe ein Problem mit dem vertikalen Abstand der Satzzeichen.

Hier ist der Code, den ich verwende:

\documentclass{article}

\usepackage{color}
\usepackage{sgame}
\gamemathtrue

\begin{document}

\begin{equation}
\begin{game}{3}{2}
  & F     & O    \\
F & 2, 2  & 0, 1 \\
O & 0, 0  & 1, 3 \\
P & 0, 0  & 1, 3
\end{game}
.
\end{equation}

\end{document}

Hier ist das Ergebnis: Ergebnis

Mir gefällt die Ausrichtung der Gleichungsnummer, aber nicht die des Punkts. Ich hätte den Punkt gerne mit dem Text in der letzten Zeile der Tabelle ausgerichtet. Der Abstand ist 0.3\baselineskipvon der unteren horizontalen Linie, aber es ist kein fester Abstand von der Grundlinie.

Das ist es, was ich will: Bildbeschreibung hier eingeben

Antwort1

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{color}
\usepackage{sgame}
\gamemathtrue

\begin{document}

\begin{equation}
\begin{game}{3}{2}
  & F     & O    \\
F & 2, 2  & 0, 1 \\
O & 0, 0  & 1, 3 \\
P & 0, 0  & 1, 3\rlap{\quad.}
\end{game}
\end{equation}

\end{document}

Antwort2

Es stellte sich heraus, dass die Grundlinie nicht 0.3\baselineskipvom unteren Ende des Spiels stammte. Das sgamePaket implementiert die Array-Struktur mit zwei wesentlichen Unterschieden neu:

  1. Der Text wird in der Zelle zentriert, anstatt die Grundlinie bei 30 % zu haben

  2. die Regeln um das Array können mit dem Text kollidieren, sie scheinen sich in einer Art Überlagerung zu befinden

Die folgende Lösung befasst sich mit diesen beiden Unterschieden und funktioniert beim Ändern der Werte von \gamestretchund arrayrulewidth.

\documentclass{article}

\usepackage{calc}
\usepackage{color}
\usepackage{sgamevar}

\newcommand{\punctuategame}[2]{%
  \setbox0 = \hbox{#1}% box containing the whole game
  \setbox1=\hbox{I}% box used to determined the height of text in a cell
  \newlength{\vdisp}% vertical displacement of punctuation
  \setlength{\vdisp}{-\dp0 - \arrayrulewidth + \gamestretch \baselineskip / 2 - \ht1 / 2}%
  \newlength{\hdisp}% horizontal displacement of punctuation
  \setlength{\hdisp}{0.5\arrayrulewidth}%
  \mbox{#1}% placing the game
  \raisebox{\vdisp}{\hspace{\hdisp}\mbox{#2}}}% placing punctuation

\begin{document}

\begin{equation}
\punctuategame{
\begin{game}{3}{2}
  \> F     \> O    \\
F \> 2, 2  \> 0, 1 \\
O \> 0, 0  \> 1, 3 \\
P \> 0, 0  \> 1, 3
\end{game}
}{.}
\end{equation}

\end{document}

verwandte Informationen