tabularx 的不同问题

tabularx 的不同问题

我对 tabularx 有一些问题,请看图。

1:为什么第一列的第二行有空格,而第三行没有?

2和3:为什么边缘有一些缝隙?

4:为什么有一个空格?

问题

这是我的代码:

\documentclass[a4paper,10pt, hidelinks]{article}
\usepackage{amssymb} 
\usepackage{amsmath} 
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel} 
\usepackage[T1]{fontenc}    
\usepackage[margin=1.5cm]{geometry} 
\usepackage{tabularx}

\usepackage{hyperref}
\def\thesection{\Alph{section}}

\title{Befragung}
\date{}
\setcounter{tocdepth}{1}

\begin{document}


\begin{Form}[action={mailto:[email protected]?subject=Daten&body=Hi, meine Daten sind im Anhang.}]

\textbf{Inwieweit stimmen folgende Aussagen zu?} \\

\small{

  \begin{tabularx}{0.95\textwidth}{|X|X|X|X|}
  \hline \\
  & \textbf{Im Jahr 2016} & \textbf{Im Jahr 2017} & \textbf{Im Jahr 2018} \\
  \hline \\
    \textbf{Hier soll einfach nur ein Statement stehen und nichts weiter.} & %%
    \begin{itemize}
  \item Stimme voll zu
  \item Stimme eher zu
  \item Teils, teils
  \item Stimme eher nicht zu
  \item Stimme nicht zu
  \item Keine Angabe
  \end{itemize} & %%
    \begin{itemize}
  \item Stimme voll zu
  \item Stimme eher zu
  \item Teils, teils
  \item Stimme eher nicht zu
  \item Stimme nicht zu
  \item Keine Angabe
  \end{itemize} & %%
    \begin{itemize}
  \item Stimme voll zu
  \item Stimme eher zu
  \item Teils, teils
  \item Stimme eher nicht zu
  \item Stimme nicht zu
  \item Keine Angabe
  \end{itemize} \\
  \hline
    \textbf{Auch hier steht absolut nichts, was irgendwie interessant ist.} & %%
    \begin{itemize}
  \item Stimme voll zu
  \item Stimme eher zu
  \item Teils, teils
  \item Stimme eher nicht zu
  \item Stimme nicht zu
  \item Keine Angabe
  \end{itemize} & %%
    \begin{itemize}
  \item Stimme voll zu
  \item Stimme eher zu
  \item Teils, teils
  \item Stimme eher nicht zu
  \item Stimme nicht zu
  \item Keine Angabe
  \end{itemize} & %%
    \begin{itemize}
  \item Stimme voll zu
  \item Stimme eher zu
  \item Teils, teils
  \item Stimme eher nicht zu
  \item Stimme nicht zu
  \item Keine Angabe
  \end{itemize} \\
  \hline

  \end{tabularx} \\

}

\Reset{Alle Eingaben löschen} \\

\Submit[export=PDF]{Abschicken}

\end{Form}

\end{document}

答案1

  • 更新\\后添加\hline
  • 在第二行中你没有使用\hline\hline因此该行第一个单元格中的内容被正确放置
  • 之前和之后itemize总是添加垂直空间\topsep,并且partopsep。该包enumitem提供了删除它们的简单可能性(见姆韦以下)

看看下面的解决方案是否能满足您的要求:

\documentclass[a4paper,10pt, hidelinks]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[margin=1.5cm]{geometry}
\usepackage{makecell,           % <---
            tabularx}           
\setcellgapes{3pt}              % <---
\usepackage{enumitem}           % <---

\usepackage{hyperref}
\def\thesection{\Alph{section}}

\title{Befragung}
\date{}
\setcounter{tocdepth}{1}

\begin{document}
    \begin{Form}[action={mailto:[email protected]?subject=Daten&body=Hi, meine Daten sind im Anhang.}]
\textbf{Inwieweit stimmen folgende Aussagen zu?} \\

{\small
 \setlist[itemize]{nosep,     % <-- list setup, adopted for use in table
                   leftmargin = *,
                   before     = \vspace{-0.6\baselineskip},
                   after      = \vspace{-\baselineskip}
                        }
 \makegapedcells               % <---
    \begin{tabularx}{0.95\textwidth}{|X|X|X|X|}
    \hline
    & \textbf{Im Jahr 2016} & \textbf{Im Jahr 2017} & \textbf{Im Jahr 2018} \\
    \hline
\textbf{Hier soll einfach nur ein Statement stehen und nichts weiter.} & %%
\begin{itemize}
    \item Stimme voll zu
    \item Stimme eher zu
    \item Teils, teils
    \item Stimme eher nicht zu
    \item Stimme nicht zu
    \item Keine Angabe
\end{itemize}
    &  \begin{itemize}
            \item Stimme voll zu
            \item Stimme eher zu
            \item Teils, teils
            \item Stimme eher nicht zu
            \item Stimme nicht zu
            \item Keine Angabe
        \end{itemize}
        &   \begin{itemize}
                \item Stimme voll zu
                \item Stimme eher zu
                \item Teils, teils
                \item Stimme eher nicht zu
                \item Stimme nicht zu
                \item Keine Angabe
            \end{itemize} \\
    \hline
\textbf{Auch hier steht absolut nichts, was irgendwie interessant ist.}
    &   \begin{itemize}
            \item Stimme voll zu
            \item Stimme eher zu
            \item Teils, teils
            \item Stimme eher nicht zu
            \item Stimme nicht zu
            \item Keine Angabe
        \end{itemize}
        &   \begin{itemize}
                \item Stimme voll zu
                \item Stimme eher zu
                \item Teils, teils
                \item Stimme eher nicht zu
                \item Stimme nicht zu
                \item Keine Angabe
            \end{itemize}
            &   \begin{itemize}
                    \item Stimme voll zu
                    \item Stimme eher zu
                    \item Teils, teils
                    \item Stimme eher nicht zu
                    \item Stimme nicht zu
                    \item Keine Angabe
                \end{itemize}   \\
  \hline
  \end{tabularx}    \\
}

\Reset{Alle Eingaben löschen} \\

\Submit[export=PDF]{Abschicken}
\end{Form}
\end{document}

注意:与您的文档示例相比,上述代码中的变化用 表示 % <---。对于列表,使用enumitem包中的宏;对于单元格内容周围的更多垂直空间,使用包\makegapedcells中的宏makecell

在此处输入图片描述

答案2

您的问题来自于\\在 之后添加\hline。以下是正确的代码,并对 进行了一些改进enumitem。请注意\small不是带有参数的命令,而是开关。

\documentclass[a4paper,10pt, hidelinks]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[margin=1.5cm]{geometry}
\usepackage{tabularx}
\usepackage{enumitem}
\usepackage{hyperref}
\def\thesection{\Alph{section}}

\title{Befragung}
\date{}
\setcounter{tocdepth}{1}
\makeatletter
\newcommand*{\compress}{\@minipagetrue}
\makeatother

\begin{document}

\begin{Form}[action={mailto:[email protected]?subject=Daten&body=Hi, meine Daten sind im Anhang.}]

\textbf{Inwieweit stimmen folgende Aussagen zu?} \\

{\setlist[itemize]{wide=0pt, leftmargin=*, after = \vspace*{-\dimexpr\topsep + \partopsep}}
\setlength{\extrarowheight}{3pt}
\small
  \begin{tabularx}{0.95\textwidth}{|*{4}{>{\compress\arraybackslash}X|}}
  \hline
  & \textbf{Im Jahr 2016} & \textbf{Im Jahr 2017} & \textbf{Im Jahr 2018} \\
  \hline
    \textbf{Hier soll einfach nur ein Statement stehen und nichts weiter.} & %%
    \begin{itemize}
  \item Stimme voll zu
  \item Stimme eher zu
  \item Teils, teils
  \item Stimme eher nicht zu
  \item Stimme nicht zu
  \item Keine Angabe
  \end{itemize} & %%
    \begin{itemize}
  \item Stimme voll zu
  \item Stimme eher zu
  \item Teils, teils
  \item Stimme eher nicht zu
  \item Stimme nicht zu
  \item Keine Angabe
  \end{itemize} & %%
    \begin{itemize}
  \item Stimme voll zu
  \item Stimme eher zu
  \item Teils, teils
  \item Stimme eher nicht zu
  \item Stimme nicht zu
  \item Keine Angabe
  \end{itemize} \\
  \hline
    \textbf{Auch hier steht absolut nichts, was irgendwie interessant ist.} & %%
    \begin{itemize}
  \item Stimme voll zu
  \item Stimme eher zu
  \item Teils, teils
  \item Stimme eher nicht zu
  \item Stimme nicht zu
  \item Keine Angabe
  \end{itemize} & %%
    \begin{itemize}
  \item Stimme voll zu
  \item Stimme eher zu
  \item Teils, teils
  \item Stimme eher nicht zu
  \item Stimme nicht zu
  \item Keine Angabe
  \end{itemize} & %%
    \begin{itemize}
  \item Stimme voll zu
  \item Stimme eher zu
  \item Teils, teils
  \item Stimme eher nicht zu
  \item Stimme nicht zu
  \item Keine Angabe
  \end{itemize} \\
  \hline

  \end{tabularx} \\

}

\Reset{Alle Eingaben löschen} \\

\Submit[export=PDF]{Abschicken}

\end{Form}

\end{document} 

在此处输入图片描述

答案3

使用

\usepackage{enumitem}
\setlist{nosep}

{\small 
\begin{tabularx}{0.95\textwidth}{|X|X|X|X|}\hline
    & \textbf{Im Jahr 2016} & \textbf{Im Jahr 2017} & \textbf{Im Jahr 2018}\\\hline
\textbf{Hier soll einfach nur ein Statement stehen und nichts weiter.} & %%
.... 

\small是一个开关并且没有参数:{\small ...}并且不是 \small{}

相关内容