los datos de la tabla cruzan la columna

los datos de la tabla cruzan la columna
% Table generated by Excel2LaTeX from sheet 'Sheet1'
\documentclass{article}
\usepackage{tabularx,booktabs}
\usepackage{multirow}

\begin{document}

\begin{table}[htbp]
  \centering
  \caption{Add caption}
    \begin{tabular}{|p{3em}|p{5em}|p{4em}|p{5em}|p{5em}|p{4em}|p{4em}|p{4em}|}
    \hline
    \multirow{2}{*}{\textbf{Mobility Model}}
            &   \multicolumn{7}{c}{\textbf{Parameter}}  \\
            \cmidrule{2-8}& \textbf{Basic Description} & \textbf{Adaptability for AANETs} & \textbf{Support to higher node mobility and Frequent topology updates} & \textbf{Safety parameters} & \textbf{Mechanical and aerodynamic constraint} & \textbf{Degree of Randomness} & \textbf{Applications} \\
    \hline

    \end{tabular}%
  \label{tab:addlabel}%
\end{table}%
\end{document}

Respuesta1

Uno de los problemas que estás encontrando es que pdfLaTeX nunca divide con guiones la primera palabra de un párrafo. El contenido de una celda en una pcolumna forma un párrafo, en el sentido específico del término en TeX.

La forma de permitir la separación de palabras de las primeras palabras en algunas de las celdas ("Adaptabilidad" y "Mecánica" son las principales candidatas) es introducir una apariencia un tanto artificial \hspace{0pt}. En el código siguiente, esto se hace configurando un nuevo tipo de columna, llamado P, que es una pcolumna que establece su contenido irregularmente a la derecha en lugar de justificado completamente, y al mismo tiempo permite la separación de palabras, incluso de la primera palabra de la celda.

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage[letterpaper,margin=1in]{geometry} % set suitable page parameters
\usepackage[english]{babel}

\usepackage{array,ragged2e}
\newcolumntype{P}[1]{>{\RaggedRight\arraybackslash\hspace{0pt}}p{#1}}

\begin{document}

\begin{table}[htbp]
\centering
\caption{Add caption}
\label{tab:addlabel}
\begin{tabular}{|P{4.5em}|P{5em}|P{5em}|P{5em}|%
                 P{5em}  |P{4em}|P{4em}|P{4em}|}
\hline
\textbf{Mobility Model}
& \multicolumn{7}{c|}{\textbf{Parameter}}  \\
\cline{2-8}
& \textbf{Basic Description} 
& \textbf{Adaptability for AANETs} 
& \textbf{Support to higher node mobility and Frequent topology updates} 
& \textbf{Safety parameters} 
& \textbf{Mechanical and aerodynamic constraint} 
& \textbf{Degree of Randomness} 
& \textbf{Applications} \\
\hline
\end{tabular}
\end{table}
\end{document}

Respuesta2

Aquí hay dos (tres) soluciones posibles más. En todos ellos he utilizado el tabularxpaquete para hacer las tablas tan anchas como el ancho del texto. También reemplacé el \cmidrulecomando por, \clineya que las reglas de las pestañas de libros no cooperan bien con las líneas verticales. Para ver una alternativa, consulte el tercer ejemplo.

En el primero he utilizado abreviaturas para los encabezados de las columnas que se explican debajo de la tabla:

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{tabularx}
\usepackage{multirow}

\begin{document}

\begin{table}[htbp]
  \centering
  \caption{Add caption}
    \begin{tabularx}{\textwidth}{|p{1.5cm}|X|X|X|X|X|X|X|}
    \cline{1-8}
    \textbf{Mobility Model} &   \multicolumn{7}{c|}{\textbf{Parameter}}  \\
            \cline{2-8}
            & \textbf{BD} & \textbf{AA} & \textbf{SF} & \textbf{SP} & \textbf{MC} & \textbf{DR} & \textbf{AP} \\
    \cline{1-8}
\multicolumn{8}{p{\textwidth}}{\small BD: Basic Description, AA: Adaptability for AANETs, SF: Support to higher node mobility and Frequent topology updates, SP: Safety parameters, MC: Mechanical and aerodynamic constraint, DR: Degree of Randomness, AP: Applications}
    \end{tabularx}%
  \label{tab:addlabel}%
\end{table}%
\end{document}

En el segundo ejemplo, he usado sidewaystabledel rotatingpaquete para rotar la tabla:

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{rotating}
\usepackage{ragged2e}
\newcolumntype{R}{>{\RaggedRight\let\newline\\\arraybackslash\hspace{0pt}}X}

\begin{document}

\begin{sidewaystable}[htbp]
  \centering
  \caption{Add caption}
    \begin{tabularx}{\textwidth}{|R|R|R|R|R|R|R|R|}
    \hline
    \textbf{Mobility  Model} &   \multicolumn{7}{c|}{\textbf{Parameter}}  \\
            \cline{2-8}
            & \textbf{Basic Description} 
            & \textbf{Adaptability for AANETs} 
            & \textbf{Support to higher node mobility and Frequent topology updates} 
            & \textbf{Safety parameters} 
            & \textbf{Mechanical and aerodynamic constraint} 
            & \textbf{Degree of Randomness} & \textbf{Applications} \\
    \hline

    \end{tabularx}%
  \label{tab:addlabel}%
\end{sidewaystable}%
\end{document}

En este último ejemplo, eliminé todas las líneas verticales y reemplacé las líneas horizontales con las reglas de las pestañas de libros. También eliminé la negrita de los encabezados de las columnas, ya que podría distraer:

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{booktabs}

\begin{document}

\begin{table}[htbp]
  \centering
  \caption{Add caption}
    \begin{tabularx}{\textwidth}{p{1.5cm}XXXXXXX}
    \toprule
   Mobility Model &   \multicolumn{7}{c}{Parameter}  \\
    \cmidrule{2-8}
            & BD & AA & SF & SP & MC & DR & AP \\
    \bottomrule
\multicolumn{8}{p{\textwidth}}{\small BD: Basic Description, AA: Adaptability for AANETs, SF: Support to higher node mobility and Frequent topology updates, SP: Safety parameters, MC: Mechanical and aerodynamic constraint, DR: Degree of Randomness, AP: Applications}
    \end{tabularx}%
  \label{tab:addlabel}%
\end{table}%
\end{document}

Respuesta3

(agregando esta respuesta por separado de la primera, ya que el método de solución es bastante diferente)

Su tabla no parece estar configurada para abarcar completamente el ancho disponible del bloque de texto. Si esta fuera mi mesa, cambiaría a un tabularxentorno (con el ancho total establecido en\textwidth ) y eliminaría lo innecesario.negritadel contenido de las celdas del encabezado. Las siete columnas de datos emplean un tipo de columna llamado C, que es simplemente una versión modificada y centrada del Xtipo de columna. Una característica es que es sencillo permitir diferentes anchos de columna; la única restricción es que los 7 Cargumentos deben sumar 7, que es el número de columnas de este tipo. Un objetivo principal de formato que guió las opciones de ancho fue no tener más de cuatro filas en cualquier celda de encabezado.

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage[letterpaper,margin=1in]{geometry} % set suitable page parameters
\usepackage[english]{babel}
\usepackage{tabularx,ragged2e,booktabs}
\newcolumntype{L}{>{\RaggedRight\arraybackslash\hspace{0pt}}X}
\newcolumntype{C}[1]{>{\Centering\arraybackslash%
      \hspace{0pt}\hsize=#1\hsize\linewidth=\hsize}X}
\usepackage[skip=0.333\baselineskip]{caption} % optional

\newcommand\mytab[1]{\smash{%
   \begin{tabular}[t]{@{}l@{}} #1 \end{tabular}}}

\begin{document}

\begin{table}[htbp]
\setlength\tabcolsep{3pt} % default value: 6pt
\caption{Add caption}
\label{tab:addlabel}
\small
\begin{tabularx}{\textwidth}{@{} L 
    C{0.8}C{1}C{1.5}C{0.8}C{1}C{0.9}C{1} @{}}  % 7 args sum to 7
\toprule
\mytab{Mobility\\Model} & \multicolumn{7}{c@{}}{Parameters}  \\
\cmidrule(l){2-8}
& Basic Description 
& Adaptability for AANETs 
& Support for higher node mobility and frequent topology updates
& Safety parameters
& Mechanical and aero\-dynamic constraint
& Degree of randomness
& Applications \\
\midrule
blabla & blabla & blabla & blabla & blabla & blabla & blabla & blabla \\
blabla & blabla & blabla & blabla & blabla & blabla & blabla & blabla \\
blabla & blabla & blabla & blabla & blabla & blabla & blabla & blabla \\
\bottomrule
\end{tabularx}
\end{table}

\end{document}

información relacionada