在下面的输出中,我想将红色方块放在更好的位置(这是为了解释表格是如何填充的)。从红色框到垂直线的间距应该与从红色框到水平线的间距相同。有没有简单的方法可以做到这一点?
这是我的宏使用的代码,带有不稳定的代码。我认罪。
\documentclass{article}
\usepackage{color}
\newcommand\when[1]{%
\hfill $\color{red}{}^{\fbox{\tiny #1}^{\vphantom{X}}}$}
\begin{document}
\begin{tabular}{l*{4}{|p{2.5cm}}}
& Magie
& Théâtre
& Photo
& Total \\
\hline
Adultes & \when{4}
& \when{6}
& \when{5}
& \when{1} \\
\hline
Enfants & \when{3}
& \when{8}
& Value \when{7}
& \when{2} \\
\hline
Total & \when{9}
& \when{10}
& \when{11}
& Total
\end{tabular}
\end{document}
答案1
Simon Dispa 的回答非常有效。但是,它还可以改进。
我会缩小\fboxsep
小矩形的距离,并设置从顶部到右侧的精确间隔:首先将框降低至零高度,然后将其升高至支柱高度减 1pt。右侧添加 1pt 的空间。
最后一列所添加的空间最终被删除。
我使用w
列类型,这似乎比p
这个应用程序更好。
\documentclass{article}
\usepackage{array}
\usepackage{xcolor}
\newcommand\when[1]{%
\hfill
\raisebox{\dimexpr\ht\strutbox-1pt}{%
\raisebox{-\height}{%
\setlength{\fboxsep}{1.5pt}%
\textcolor{red}{\fbox{\tiny #1}\hspace{1pt}}%
}%
}%
}
\begin{document}
\begin{tabular}{l*{4}{|w{l}{2.5cm}@{}}@{\hspace{-1pt}}}
& Magie
& Théâtre
& Photo
& Total \\
\hline
Adultes & \when{4}
& \when{6}
& \when{5}
& \when{1} \\
\hline
Enfants & \when{3}
& \when{8}
& Value \when{7}
& \when{2} \\
\hline
Total & \when{9}
& \when{10}
& \when{11}
& Total
\end{tabular}
\end{document}
答案2
抑制右侧标签列分隔。
\documentclass{article}
\usepackage{color}
\newcommand\when[1]{%
\hfill $\color{red}{}^{\fbox{\tiny #1}^{\vphantom{X}}}$}
\begin{document}
\begin{tabular}{l*{4}{|p{2.5cm}@{}}}% changed <<<<<<<<<<<<<<<
& Magie
& Théâtre
& Photo
& Total \\
\hline
Adultes & \when{4}
& \when{6}
& \when{5}
& \when{1} \\
\hline
Enfants & \when{3}
& \when{8}
& Value \when{7}
& \when{2} \\
\hline
Total & \when{9}
& \when{10}
& \when{11}
& Total
\end{tabular}
\end{document}
仍然存在很小的差异,可以使用例如来减少(对于此字体大小)
\begin{tabular}{l*{4}{|p{2.5cm}@{\hspace{0.2pt}}}}