コンテンツを(垂直に中央揃えされた)テーブルセルから強制的にはみ出させるにはどうすればよいですか?

コンテンツを(垂直に中央揃えされた)テーブルセルから強制的にはみ出させるにはどうすればよいですか?

表内のセルの 1 つの内容を、指定した量だけセル幅からオーバーフローさせたいと考えています。c列の場合は、負のカーニングでうまくいきます。しかし、垂直方向の配置も必要で、負のカーニングはm列では機能しなくなりました。

最小限の動作例:

\documentclass{article}

\usepackage{array}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}

\begin{document}

%\begin{tabular}[h]{|M{1in}|M{1in}|M{1in}|}
\begin{tabular}[h]{|c|c|c|}
  \hline
  \rule{0.2in}{1in} &
  \rule{1in}{0.2in} &
  \rule{0.2in}{1in} \\
  \hline
  \rule{1in}{0.2in} &
  \rule{0.2in}{1in} &
  \rule{1in}{0.2in} \\
  \hline
  \rule{0.2in}{1in} &
  \kern-0.5in\rule{1.5in}{0.2in} &
  \rule{0.2in}{1in} \\
  \hline
\end{tabular}

\end{document}

ここに画像の説明を入力してください

下の中央のセルに、私が言いたいことが表示されます。行のコメントを切り替えると、\begin{tabular}列で失敗することがわかりますm。どうすれば機能するでしょうか?

モチベーション:類似した整列したコンテンツを持つ多数の画像を含む列があります。ほとんどの画像の幅は同じですが、1 つの画像の幅が広くなっています。これは、余分なスペースにラベルなどの追加情報が含まれているためです。余分なスペースを無視して、画像がドキュメント内で適切に整列されたままになるようにします。単純に左揃えまたは右揃えを使用するのは望ましくありません。そうすると、他のセルの余分なスペースが無駄になるからです。

答え1

\makeboxの代わりに以下を使用します\kern:

\documentclass{article}

\usepackage{array}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}

\begin{document}

\begin{tabular}[h]{|M{1in}|M{1in}|M{1in}|}
%\begin{tabular}[h]{|c|c|c|}
  \hline
  \rule{0.2in}{1in} &
  \rule{1in}{0.2in} &
  \rule{0.2in}{1in} \\
  \hline
  \rule{1in}{0.2in} &
  \rule{0.2in}{1in} &
  \rule{1in}{0.2in} \\
  \hline
  \rule{0.2in}{1in} &
  \makebox[1in][r]{\rule{1.5in}{0.2in}} &
  \rule{0.2in}{1in} \\
  \hline
\end{tabular}

\end{document}

説明:\makebox[1in][r]{\rule{1.5in}{0.2in}}ルールを幅のボックス内に配置し1inrボックス内で水平に揃えます。

ここに画像の説明を入力してください

関連情報