Как заставить содержимое выступать за пределы ячейки таблицы (вертикально отцентрированной)?

Как заставить содержимое выступать за пределы ячейки таблицы (вертикально отцентрированной)?

Я хочу заставить содержимое одной из ячеек в моей таблице выходить за пределы ширины ячейки на указанную величину. Со 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

Используйте \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}}помещает линейку в рамку шириной 1inи rвыравнивает ее по правому краю рамки.

введите описание изображения здесь

Связанный контент