我有一件非常紧急的事情,我读了很多帖子,试图把答案结合起来,但都不管用,或者变得更丑了……我只想以一种好的方式在表格中显示我的图表和文本。图像覆盖了线条,没有垂直对齐……
抱歉,我是用德语,但是我没有时间用德语写一个简单的英语例子。
我有以下代码
\begin{table}[h]
\centering
\begin{tabular}{l|l|l|}
\cline{2-3}
& \textbf{Konflikttyp}
& \textbf{Kollisionsarten} \\
\hline
\multicolumn{1}{|l|}{
\parbox[c]{1em}{\includegraphics[width=50mm]{./Abbildungen/Auffahren.jpg}}
\label{fig:Auffahren}}
& Auffahren
& \tabitem Auffahrunfall\\
\hline
\multicolumn{1}{|l|}{
\includegraphics[width=50mm]{./Abbildungen/Fahrstreifenwechsel.jpg}
\label{fig:Fahrstreifenwechsel}}
& Fahrstreifenwechsel
& \begin{tabular}[c]{@{}l@{}}
\tabitem Auffahrunfall\\
\tabitem Seitenkollision (wenn die Seite ei-\\
\quad \thinspace nes Fahrzeuges im Längsverkehr\\
\quad \thinspace mit der Seite eines anderen\\
\quad \thinspace Fahrzeugs kollidieren würde)
\end{tabular} \\
\hline
\end{tabular}
\caption[Konfliktszenarien mit zugehörigen Kollisionsarten]{Konfliktszenarien mit zugehörigen Kollisionsarten nach \textsc{Wang} und \textsc{Stamatiadis} \cite{Wang.2013} \label{tab:Konfliktszenarios}}
\end{table}
答案1
与 @leandriis 的回答略有不同(+1)。
由于你没有提供任何关于你的文档设计的信息(使用的文档类,页面布局,文档序言中的相关包),所以两个答案都是猜测的,我们都根据我们的喜好使用了文档类和序言,多么漂亮的表格:
在下面的 MWE 中:
- 表格位置选项
[h]
已更改为更正确的位置[ht]
(现在表格可以迁移到下一页的顶部) - 用于表格,
tabularx
因为它可以规定表格宽度并自动确定X
列宽 - 为了更好地格式化最后一列的文本,
X
列类型被修改为>{RaggedRight}X
(RaggedRight
在包中定义ragged2e
),这使得单元格内容可以“智能”地向左对齐 - 对于列标题使用命令
\thead
中定义的命令makecell
- 利用该
adjustbox
包的功能将图像基线移动到图像顶部,在图像周围添加垂直空间,并使用命令插入\adjustimage
图像 - 第三列中的列表使用
itemize
包及其定制功能 - 用于列表定制的是来自包的
\AtBeginEnvironment{...}{...}
环境etoolbox
\documentclass{article}
\usepackage{geometry}
\usepackage{ragged2e}
\usepackage{makecell, tabularx}
\renewcommand\theadfont{\normalsize\bfseries}
\usepackage[demo, % remove demo option in actual document
export]{adjustbox} % it load graphicx too
\usepackage{enumitem}
\usepackage{etoolbox}
\AtBeginEnvironment{table}%
{%
\setlist[itemize]{nosep,
leftmargin=*,
label=\textbullet,
after=\end{minipage}, % <---
before=\begin{minipage}[t]{\linewidth} % <---
}
}
\begin{document}
\begin{table}[ht] % <---
\centering
\adjustboxset{width=50mm,valign=t, margin=0pt 6pt 0pt 6pt} % <---
\begin{tabularx}{\textwidth}{|l|l|>{\RaggedRight}X|}
\cline{2-3}
\multicolumn{1}{c|}{}
& \thead[l]{Konflikttyp}
& \thead[l]{Kollisionsarten} \\
\hline
\adjustimage{}{./Abbildungen/Auffahren}
& Auffahren
& \begin{itemize}
\item Auffahrunfall
\end{itemize} \\
\hline
\adjustimage{}{./Abbildungen/Fahrstreifenwechsel}
% \label{fig:Fahrstreifenwechsel} % this label does not make sense since the image does nt have its own figure number and caption.
& Fahrstreifenwechsel
& \begin{itemize}
\item Auffahrunfall
\item Seitenkollision (wenn die Seite eines Fahrzeuges im Längsverkehr mit der Seite eines anderen Fahrzeugs kollidieren würde)
\end{itemize}\\
\hline
\end{tabularx}
\caption[Konfliktszenarien mit zugehörigen Kollisionsarten]{Konfliktszenarien mit zugehörigen Kollisionsarten nach \textsc{Wang} und \textsc{Stamatiadis} \cite{Wang.2013}
\label{tab:Konfliktszenarios}}
\end{table}
\end{document}
答案2
以下内容应作为起点:
\documentclass{article}
\usepackage{geometry}
\usepackage[demo]{graphicx} % remove demo option in actual document
\usepackage{tabularx}
\usepackage[column=0]{cellspace}
\usepackage[export]{adjustbox}
\usepackage{enumitem}
\setlength{\cellspacetoplimit}{\tabcolsep}
\setlength{\cellspacebottomlimit}{\cellspacetoplimit}
\addparagraphcolumntypes{X}
\newlist{tabitemize}{itemize}{1}
\setlist[tabitemize]{label=\textbullet,nosep,after=\strut,align=parleft,leftmargin=*,before={\begin{minipage}[t]{\hsize}}, after={\end{minipage}}}
\begin{document}
\begin{table}[h]
\centering
\begin{tabularx}{\textwidth}{|0l|0l|0{X}|}
\cline{2-3}
\multicolumn{1}{c|}{} & \textbf{Konflikttyp}
& \textbf{Kollisionsarten} \\
\hline
\includegraphics[width=50mm,valign=t]{./Abbildungen/Auffahren.jpg}
% \label{fig:Auffahren} % this label does not make sense since the image does nt have its own figure number and caption.
& Auffahren
& \begin{tabitemize} \item Auffahrunfall \end{tabitemize} \\
\hline
\includegraphics[width=50mm,valign=t]{./Abbildungen/Fahrstreifenwechsel.jpg}
% \label{fig:Fahrstreifenwechsel} % this label does not make sense since the image does nt have its own figure number and caption.
& Fahrstreifenwechsel
& \begin{tabitemize}
\item Auffahrunfall
\item Seitenkollision (wenn die Seite eines Fahrzeuges im Längsverkehr mit der Seite eines anderen Fahrzeugs kollidieren würde)
\end{tabitemize}\\
\hline
\end{tabularx}
\caption[Konfliktszenarien mit zugehörigen Kollisionsarten]{Konfliktszenarien mit zugehörigen Kollisionsarten nach \textsc{Wang} und \textsc{Stamatiadis} \cite{Wang.2013} \label{tab:Konfliktszenarios}}
\end{table}
\end{document}