
Ich verwende das Paket, sgame
um Spiele in Normalform zu formatieren. Die Spiele werden normalerweise in einem formatiert, figure
aber 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:
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\baselineskip
von der unteren horizontalen Linie, aber es ist kein fester Abstand von der Grundlinie.
Das ist es, was ich will:
Antwort1
\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\baselineskip
vom unteren Ende des Spiels stammte. Das sgame
Paket implementiert die Array-Struktur mit zwei wesentlichen Unterschieden neu:
Der Text wird in der Zelle zentriert, anstatt die Grundlinie bei 30 % zu haben
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 \gamestretch
und 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}