Como forçar o conteúdo a sair de uma célula da tabela (centralizada verticalmente)?

Como forçar o conteúdo a sair de uma célula da tabela (centralizada verticalmente)?

Quero forçar o conteúdo de uma das células da minha tabela a ultrapassar a largura da célula em um valor especificado. Com ccolunas, o kerning negativo resolve. Mas também quero alinhamento vertical, e o kerning negativo não funciona mais com mcolunas.

Exemplo mínimo de trabalho:

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

insira a descrição da imagem aqui

A célula inferior central mostra o que quero dizer. Alterne os comentários nas \begin{tabular}linhas para ver se falha nas mcolunas. Como posso fazê-lo funcionar?

Motivação:Eu tenho uma coluna contendo várias imagens com conteúdo semelhante e alinhado. A maioria deles tem a mesma largura, mas um é mais largo porque o espaço extra contém algumas informações adicionais, como rótulos. Quero que o espaço extra seja ignorado para que as imagens permaneçam bem alinhadas no meu documento. Não quero simplesmente usar o alinhamento à esquerda ou à direita, porque isso desperdiça espaço extra nas outras células.

Responder1

Use \makeboxem vez de \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}

Explicação: \makebox[1in][r]{\rule{1.5in}{0.2in}}coloca a regra em uma caixa de largura 1ine ralinha-a à direita na caixa.

insira a descrição da imagem aqui

informação relacionada