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