我如何才能改进这个表格(使用 tabularx)?

我如何才能改进这个表格(使用 tabularx)?

我想让表格看起来更美观;更具体地说,我希望第一列和第三列的宽度为 6-6.5 厘米,第二列的宽度仅为 1-1.5 厘米。我还希望顶部和底部单元格的空白最少。

你能帮助我吗?最简单的方法是什么?我完全是个tabularx新手……

在此处输入图片描述

这是我与... 一起整理的tabular(比... 简单得多tabularx

\documentclass[12pt,a4paper]{article}
\usepackage{mwe}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{setspace}
\begin{document}

\resizebox{14cm}{!}{  
\setstretch{1}
\noindent
\begin{tabular}{|p{6cm}|p{3cm}|p{7cm}|}\hline
      % after \\: \hline or \cline{col1-col2} \cline{col3-col4} ...
      Vecindario & Evaluaciones de $f$ & Perspectiva General \\
      \hline
      Añadiendo al anterior, el intercambio de tareas de la primera y última posición (6 vecinos)& 6 & \includegraphics[width=70mm]{opvec2.eps} \\
      \hline
      Generando una permutación aleatoria en cada iteración e intercambiando las tareas en las posiciones que ocupan 1-2,3-4,5-6 (3 vecinos)  & 3 & \includegraphics[width=70mm]{opvec2.eps} \\
      \hline
      Generando una permutación aleatoria en cada iteración e intercambiando las tareas en las posiciones que ocupan 1-2,2-3,3-4,4-5,5-6,6-1 (6 vecinos)& 6 & \includegraphics[width=70mm]{opvec2.eps} \\
      \hline
      Intercambiando la tarea de la 1ª posición con todas las demás; la de la 2ª con todas las siguientes; la de la 3ª con todas las siguientes posiciones;....;y la de la penúltima posición con la tarea de la última posición& 15 & \includegraphics[width=70mm]{opvec2.eps} \\
      \hline
\end{tabular}\\
}
\setstretch{1.5}

{\small ''Iteraciones máximas''=20}
\end{document} 

这就是我所做的tabularx

\documentclass[12pt,a4paper]{article}
\usepackage{mwe}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{setspace}
\begin{document}

\setstretch{1}
\noindent
\begin{tabularx}{\textwidth}{>{\hsize=\hsize}X>{\hsize=0.25\hsize}X>{\hsize=\hsize}X}
      \hline
      % after \\: \hline or \cline{col1-col2} \cline{col3-col4} ...
      Vecindario & Evaluaciones de $f$ & Perspectiva General \\
      \hline
      Añadiendo al anterior, el intercambio de tareas de la primera y última posición (6 vecinos)& 6 & \includegraphics[width=70mm]{opvec2.eps} \\
      \hline
      Generando una permutación aleatoria en cada iteración e intercambiando las tareas en las posiciones que ocupan 1-2,3-4,5-6 (3 vecinos)  & 3 & \includegraphics[width=70mm]{opvec2.eps} \\
      \hline
      Generando una permutación aleatoria en cada iteración e intercambiando las tareas en las posiciones que ocupan 1-2,2-3,3-4,4-5,5-6,6-1 (6 vecinos)& 6 & \includegraphics[width=70mm]{opvec2.eps} \\
      \hline
      Intercambiando la tarea de la 1ª posición con todas las demás; la de la 2ª con todas las siguientes; la de la 3ª con todas las siguientes posiciones;....;y la de la penúltima posición con la tarea de la última posición& 15 & \includegraphics[width=70mm]{opvec2.eps} \\
      \hline

\end{tabularx}\\
\setstretch{1.5}

{\small ''Iteraciones máximas''=20}
\end{document} 

答案1

如果您需要在表格中使用分页符,请使用包ltablex而不是tabularx

\documentclass{article}
\usepackage{tabularx,graphicx}
\usepackage{booktabs}
\usepackage{mwe}%% Only for demo needed

\begin{document}

\noindent
\begin{tabularx}{\textwidth}{@{} >{\vspace{0pt}}X >{\vspace{0pt}}p{1cm} >{\vspace{0pt}}X @{}}\toprule
\emph{Vecindario} & \hspace{0pt}\emph{Evaluciones de $f$} & \emph{Perspectiva General}\\\midrule 
The mwe package has due to its nature a little uncommon installation requirements.
While the normal package files are installed as normal, a variety of image files
are installed in the tex/latex/mwe/ folder, so that they can be accessed from
every (MWE) document. & 6 & 
   \includegraphics[width=\linewidth]{example-image-a}\\\midrule
The mwe package has due to its nature a little uncommon installation requirements.
While the normal package files are installed as normal, a variety of image files
are installed in the tex/latex/mwe/ folder, so that they can be accessed from
every (MWE) document. & 3 & 
   \includegraphics[width=\linewidth]{example-image-a}\\\bottomrule
\end{tabularx}

\end{document}

在此处输入图片描述

以及采用的两列示例。重要的是您\newline在第一列使用,否则您将得到一个新的表格行,并且图像从最后一行开始(我用 运行它pdflatex):

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage{graphicx}
\usepackage{booktabs,setspace}
\usepackage{epstopdf}

\begin{document}
Hola\\
tronquito
\setstretch{1}

\noindent
\begin{tabularx}{\textwidth}{@{} >{\vspace{0pt}}X >{\vspace{0pt}}X @{}}\toprule
\emph{Vecindario}  & \emph{Perspectiva General}\\\midrule
Añadiendo al anterior vecindario, el intercambio de tareas de la primera y última posición.\newline
\textbf{Nº de vecinos: 6.}\newline
\textbf{Nº de evaluaciones/iteración: 6} & \includegraphics[width=\linewidth]{opvec2.eps}\\ \midrule
Generando una permutación aleatoria en cada iteración e intercambiando las tareas en las posiciones que ocupan 1-2,3-4,5-6.\newline
\textbf{Nº de vecinos: 3.}\newline
Nº de evaluaciones/iteración: 3   &
  \includegraphics[width=\linewidth]{opvec2.eps} \\ \midrule
Generando una permutación aleatoria en cada iteración e intercambiando las tareas en las posiciones que ocupan 1-2,2-3,3-4,4-5,5-6,6-1.\newline
\textbf{Nº de vecinos: 6.}\newline
Nº de evaluaciones/iteración: 6 &
   \includegraphics[width=\linewidth]{opvec2.eps}\\ \midrule
Intercambiando la tarea de la 1ª posición con todas las demás; la de la 2ª con todas las siguientes; la de la 3ª con todas las siguientes posiciones;....;y la de la penúltima posición con la tarea de la última posición.\newline
\textbf{Nº de vecinos: 15.}\newline
Nº de evaluaciones/iteración: 15   &
   \includegraphics[width=\linewidth]{opvec2.eps}\\ \bottomrule
\end{tabularx}
\setstretch{1.5}

\end{document}

答案2

\begin{tabularx}{\textwidth}{>{\hsize=\hsize}X>{\hsize=0.25\hsize}X>{\hsize=\hsize}X}

\hsize=\hsize什么也不做,所以

\begin{tabularx}{\textwidth}{X  >{\hsize=0.25\hsize}X X}

如果更改尺寸,则需要确保总宽度不变,因此您需要更改其他两列的宽度。但是,没有必要将后两列设为 X,因为它们是固定宽度(数字或指定的图像宽度为 70 毫米)

所以你应该使用

\begin{tabularx}{\textwidth}{Xcc}

然后为了让图像看起来更好,你需要让它的基线穿过它的中心

 \raisebox{-.5\height}{\includegraphics.....}

或者您可以使用该包,通过提供选项来控制垂直对齐,adjustbox从而避免使用需要。\raisebox\includegraphics

答案3

图形的参考点\raisebox可以改变。以下示例将宏定义\tabgraphics为 的简写\includegraphics,其参考点从顶部向下移动大写字母的高度。同样,X单元格内的最大宽度为。此外,列规范中\hsize的 总和应等于列数。\hsizetabularxX

\documentclass[12pt,a4paper]{article}

\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{setspace}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}

\newcommand*{\tabgraphics}[2][]{%
  \begingroup
    \settoheight{\dimen0}{H}%
    \raisebox{\dimexpr\dimen0-\height}{%
      \includegraphics[width=\hsize,{#1}]{#2}%
    }%
  \endgroup
}

\begin{document}

\setstretch{1}
\noindent
\begin{tabularx}{\linewidth}{>{\hsize=1.3\hsize}X>{\hsize=0.3\hsize}X>{\hsize=1.4\hsize}X}
  \hline
  % after \\: \hline or \cline{col1-col2} \cline{col3-col4} ...
  Vecindario & \hspace{0pt}Evaluaciones de~$f$ & Perspectiva General \\
  \hline
  Añadiendo al anterior, el intercambio de tareas de la primera y última posición (6 vecinos)& 6 &
  \tabgraphics{opvec2} \\
  \hline
  Generando una permutación aleatoria en cada iteración e intercambiando las tareas en las posiciones que ocupan 1-2,3-4,5-6 (3 vecinos)  & 3 &
  \tabgraphics{opvec2} \\
  \hline
  Generando una permutación aleatoria en cada iteración e intercambiando las tareas en las posiciones que ocupan 1-2,2-3,3-4,4-5,5-6,6-1 (6 vecinos)& 6 &
  \tabgraphics{opvec2} \\
  \hline
  Intercambiando la tarea de la 1ª posición con todas las demás; la de la 2ª con todas las siguientes; la de la 3ª con todas las siguientes posiciones;....;y la de la penúltima posición con la tarea de la última posición& 15 &
  \tabgraphics{opvec2} \\
  \hline

\end{tabularx}\\
\setstretch{1.5}

{\small ``Iteraciones máximas''=20}
\end{document} 

结果

相关内容