\documentclass{article} \pagestyle{empty} \usepackage{amssymb} \DeclareRobustCommand*{\concreteState}[1]{\ifmmode\mathsf{#1}\else\textsf{#1}\fi} \newcommand*{\textQEDendingNonProofSymbol}{\(\blacksquare\)} \makeatletter \newcommand*{\textQEDendingNonProof}{{\unskip\nobreak\hfil\penalty50\hskip1em\null\nobreak\hfil\textQEDendingNonProofSymbol\parfillskip=\z@\finalhyphendemerits=0\endgraf}}%%% A generic macro for putting QED anywhere \makeatother \newlength\lastSkipOfEndCenter \newcommand*{\qedEndingNonProofAfterCenter}{\setlength\lastSkipOfEndCenter{\lastskip}\removelastskip\nopagebreak\par\nopagebreak\vspace{\dimexpr-\baselineskip-\parskip\relax}\nopagebreak\textQEDendingNonProof\vskip\lastSkipOfEndCenter} %%% puttiung QED specifically after center \begin{document} \begin{center}% \begin{tabular}[c]{@{}r|cc@{}} from \textbackslash\ to & \concreteState{stop} & \concreteState{go}\\ \hline \(\to\) \concreteState{stop} & 0 & 1\\ \concreteState{go} & 1 & 0 \end{tabular}\quad\qquad or, equivalently,\qquad\quad%%%% intentionally too many of \qquad's so that you see the problem. \begin{tabular}[c]{@{}r|cc@{}} from \textbackslash\ to & \concreteState{go} & \concreteState{stop}\\ \hline \concreteState{go} & 0 & 1\\ \(\to\) \concreteState{stop} & 1 & 0 \end{tabular}% \end{center}\qedEndingNonProofAfterCenter \end{document}
we obtain
As you might see, the bottom of the QED symbol (black square) aligns neither with the baseline of the last line of the tabular nor with the bottom of the tabular. The QED symbol is placed simply way too high. Any way to adjust the macro \qedEndingNonProofAfterCenter specifically for a tabular-inside-center setup such that the bottom of the QED symbol aligns either with the bottom of the tabular or with the baseline of the last line of the tabular?
(An aside is worth being made. Marginnote-based solutions to place the qed symbol are of second choice, since the package is abandoned and does lead to problems with a large book. Marginpar/marginline sometimes requires manual vertical adjustments, i.e., a no-go for automation. Using amsthm or ntheorem is also a no-go: in a non-minimal example, I use the class svmono V 5.6, and amsthm clashes with svmono in various ways, and ntheorem has bugs (e.g., doesn't jive with UTF-8 engines and has other problems, see http://tex.stackexchange.com/questions/tagged/ntheorem) and is both antique and abandoned. The inclusion of ntheorem with some options into svmono.cls is, in fact, so far from a clever design that I had to turn off ntheorem manually. (If you have problems with getting svmono.cls for the purpose of trying this very example out, go with the book class instead).
A minipage-based solution would probably work, but pollute the contents with formatting. I prefer the formatting related to QED to be hidden inside separate QED-placing macros (\qedEndingNonProofAfterCenter above) as much as possible.)