A tabela não está sendo impressa corretamente

A tabela não está sendo impressa corretamente

Estou tentando criar uma tabela com várias linhas em uma célula.

\documentclass{article}

\usepackage{array}
\usepackage{mdframed}
\usepackage{multirow}
\usepackage{xcolor} % Required for specifying colors by name
\definecolor{ocre}{RGB}{243,102,25}


\newmdenv[%
linecolor=ocre,
backgroundcolor=ocre!10,
linewidth=1pt]{mytablebox}

\begin{document}
    %\begin{mytablebox}
        \begin{table}
            \centering
            \caption{Crane shop activities.}
            \label{table:crane_shop_activities}
            \begin{tabular}{|m{2cm}| m{5cm}| m{5cm}|}
                \hline\\
                \textbf{Category} & \textbf{Types} & \textbf{Activities}\\
                \hline\\
                \multirow{3}{*}{Tower Car} & Mark II, III, IV & \multirow{3}{5cm}{Earlier Manufacturing, currently only POH}\\
                & DHTC (Diesel Hydraulic Tower Car) & \\
                & 8 Wheeler &\\
                \hline\\
                \multirow{2}{*}{20T Crane} & Mechanical & \multirow{2}{5cm}{Both Manufacturing and POH}\\
                & Hydraulic (retrofitting of mechanical superstructure with hydraulic one) & \\
                \hline\\
                \multirow{2}{*}{140T Crane} & Old Design Crane & POH, MLR, SP MLR\\
                & New Design Crane & Manufacturing, POH, MLR, SP MLR\\
                \hline
            \end{tabular}
        \end{table}
    %\end{mytablebox}
\end{document}

Estou recebendo isso como saída.

Observe que as linhas verticais não se conectam à linha horizontal. Como corrigir isso?

Eu também quero fazer esta tabela dentro de mytablebox, mas quando eu descomente \begin{mytablebox} ele mostra o erro "Não está no modo de par externo. \centering". Como posso fazer isso funcionar?

Saída da tabela

Responder1

Remova a quebra de linha \\depois \hline(como disse o TeXnician) e mova seu ambiente dentro do tableambiente.

\documentclass{article}

\usepackage{array}
\usepackage{mdframed}
\usepackage{multirow}
\usepackage{xcolor} % Required for specifying colors by name
\definecolor{ocre}{RGB}{243,102,25}


\newmdenv[%
linecolor=ocre,
backgroundcolor=ocre!10,
linewidth=1pt]{mytablebox}

\begin{document}
    \begin{table}
        \centering
        \caption{Crane shop activities.}
        \label{table:crane_shop_activities}
        \begin{mytablebox}
            \begin{tabular}{|m{15mm}| m{40mm}| m{45mm}|}
                \hline
                \textbf{Category} & \textbf{Types} & \textbf{Activities}\\
                \hline
                \multirow{3}{*}{Tower Car} & Mark II, III, IV & \multirow{3}{5cm}{Earlier Manufacturing, currently only POH}\\
                & DHTC (Diesel Hydraulic Tower Car) & \\
                & 8 Wheeler &\\
                \hline
                \multirow{2}{*}{20T Crane} & Mechanical & \multirow{2}{5cm}{Both Manufacturing and POH}\\
                & Hydraulic (retrofitting of mechanical superstructure with hydraulic one) & \\
                \hline
                \multirow{2}{*}{140T Crane} & Old Design Crane & POH, MLR, SP MLR\\
                & New Design Crane & Manufacturing, POH, MLR, SP MLR\\
                \hline
            \end{tabular}
        \end{mytablebox}
    \end{table}
\end{document}

insira a descrição da imagem aqui

Responder2

Seu espaço entre a linha e o texto é produzido por uma quebra de linha supérflua.

E você não pode usar um ambiente flutuante em uma caixa mdframed. Basta removê-lo e usá-lo \captionof.

Você notará então que sua tabela é muito larga para sua caixa (mais larga que a largura do texto).

mesa e mdframed

Você pode facilmente se livrar disso escolhendo um \textwidthque seja mais largo ou corrigindo suas colunas. Com m{4cm}(e com margens de página para mostrar que cabe):

corrigido

\documentclass{article}

\usepackage{array}
\usepackage{mdframed}
\usepackage{multirow}
\usepackage{xcolor} % Required for specifying colors by name
\usepackage{caption}
\definecolor{ocre}{RGB}{243,102,25}


\newmdenv[%
linecolor=ocre,
backgroundcolor=ocre!10,
linewidth=1pt]{mytablebox}

\begin{document}
    \begin{mytablebox}
            \centering
            \captionof{table}{Crane shop activities.}
            \label{table:crane_shop_activities}
            \begin{tabular}{|m{2cm}| m{5cm}| m{5cm}|}
                \hline
                \textbf{Category} & \textbf{Types} & \textbf{Activities}\\
                \hline
                \multirow{3}{*}{Tower Car} & Mark II, III, IV & \multirow{3}{5cm}{Earlier Manufacturing, currently only POH}\\
                & DHTC (Diesel Hydraulic Tower Car) & \\
                & 8 Wheeler &\\
                \hline
                \multirow{2}{*}{20T Crane} & Mechanical & \multirow{2}{5cm}{Both Manufacturing and POH}\\
                & Hydraulic (retrofitting of mechanical superstructure with hydraulic one) & \\
                \hline
                \multirow{2}{*}{140T Crane} & Old Design Crane & POH, MLR, SP MLR\\
                & New Design Crane & Manufacturing, POH, MLR, SP MLR\\
                \hline
            \end{tabular}
    \end{mytablebox}
\end{document}

informação relacionada