我可能有一个非常简单的问题。我正在尝试格式化一个数字表,所有列都向右对齐。该表包含数字,我希望其中一些数字位于“框架”中(例如:\fbox{42})。请参阅以下代码:
\documentclass[12pt]{article}
\begin{document}
\begin{table}
\centering
\begin{tabular}{|*{4}{r|}}
\fbox{0} & 0 & 0 & 0 \\
\fbox{11} & 11 & 11 & 11 \\
2 &\fbox{2} & 2 & 2 \\
3 & 3 &\fbox{3} & 3 \\
44 &\fbox{44} & 44 & 44 \\
\end{tabular}
\end{table}
\end{document}
这段代码的问题是 fboxes 中的数字向左移动了一点,这是我不想要的。我希望数字向右对齐,但我认为实际上是 fboxes 向右对齐。
有什么建议吗?谢谢!
答案1
你可以使用一些\ooalign
魔法。
\documentclass[12pt]{article}
\newcommand*\phantomfbox[1]{{%
\ooalign{#1\cr\hidewidth\fbox{\phantom{#1}}\hidewidth\cr}}}
\begin{document}
\begin{table}
\centering
\begin{tabular}{|*{4}{r|}}
\phantomfbox{0} & 0 & 0 & 0 \\
\phantomfbox{11} & 11 & 11 & 11 \\
2 & \phantomfbox{2} & 2 & 2 \\
3 & 3 & \phantomfbox{3} & 3 \\
44 & \phantomfbox{44} & 44 & 44 \\
\end{tabular}
\end{table}
\end{document}