Wie kann man erreichen, dass Inhalt aus einer (vertikal zentrierten) Tabellenzelle herausragt?

Wie kann man erreichen, dass Inhalt aus einer (vertikal zentrierten) Tabellenzelle herausragt?

Ich möchte, dass der Inhalt einer Zelle meiner Tabelle die Zellenbreite um einen bestimmten Betrag überschreitet. Bei cSpalten funktioniert negatives Kerning. Ich möchte aber auch eine vertikale Ausrichtung, und negatives Kerning funktioniert bei mSpalten nicht mehr.

Minimales Arbeitsbeispiel:

\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}

Bildbeschreibung hier eingeben

Die untere mittlere Zelle zeigt, was ich meine. Schalten Sie die Kommentierung der \begin{tabular}Zeilen um, um zu sehen, dass sie bei Spalten fehlschlägt m. Wie kann ich es zum Laufen bringen?

Motivation:Ich habe eine Spalte mit einer Reihe von Bildern mit ähnlichem, ausgerichtetem Inhalt. Die meisten davon sind gleich breit, aber eines ist breiter, weil der zusätzliche Platz zusätzliche Informationen wie Beschriftungen enthält. Ich möchte, dass der zusätzliche Platz ignoriert wird, damit die Bilder in meinem Dokument gut ausgerichtet bleiben. Ich möchte nicht einfach die Links- oder Rechtsausrichtung verwenden, da dadurch der zusätzliche Platz in den anderen Zellen verschwendet wird.

Antwort1

Verwenden Sie \makeboxstattdessen \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}

Erklärung: \makebox[1in][r]{\rule{1.5in}{0.2in}}Platziert die Regel in einem Feld mit der Breite 1inund rrichtet sie darin rechtsbündig aus.

Bildbeschreibung hier eingeben

verwandte Informationen