将表格标题与长表的左边框对齐

将表格标题与长表的左边框对齐

主题。

我无法使用,singlelinecheck=off因为它与页面左边框对齐。为什么表格太窄?

\documentclass[12pt,a4paper,oneside]{article}
\usepackage[left=35mm,right=15mm,top=2cm,bottom=2cm,bindingoffset=0cm]{geometry}
\usepackage[utf8x]{inputenc} % указать кодировку русского текста
\usepackage[russian]{babel} % указать, что язык текста - русский

\usepackage{cmap}

\usepackage{makeidx}
\makeindex

\usepackage{indentfirst} 
\setlength{\parindent}{1.25cm}

\usepackage{caption}
\captionsetup[table]{labelsep=endash}

\usepackage{ltablex}
\usepackage{lipsum}
\begin{document}
    \keepXColumns
        \begin{tabularx}{\textwidth}{| l | X |} 

        \caption{A long description of this awesomest table ever. No, seriously.}\\
        \hline 
        First & Second\\ \hline \hline
        \endfirsthead
        \captionsetup{singlelinecheck=off}
        \caption{A short one}\\
        \hline 
        First & Second\\ \hline
        \endhead
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        \end{tabularx}
\end{document}

答案1

我不知道为什么表格没有拉伸。但这里有一个替代方案,ltablex用较新的longtabu环境替换。另一个longtabu与此直接比较的例子ltablex可以在以下答案中找到:Ltablex 自定义标题

\documentclass[12pt,a4paper,oneside]{article}
\usepackage[left=35mm,right=15mm,top=2cm,bottom=2cm,bindingoffset=0cm]{geometry}
\usepackage[utf8x]{inputenc} % указать кодировку русского текста
\usepackage[russian]{babel} % указать, что язык текста - русский

\usepackage{cmap}

\usepackage{makeidx}
\makeindex

\usepackage{indentfirst} 
\setlength{\parindent}{1.25cm}

\usepackage{caption}
\captionsetup[table]{labelsep=endash}

\usepackage{longtable}
\usepackage{tabu}
\usepackage{lipsum}
\begin{document}
%    \keepXColumns
        \begin{longtabu} to \textwidth {| l | X |} 

        \caption{A long description of this awesomest table ever. No, seriously. Worth repeating: A long description of this awesomest table ever. No, seriously. }\\
        \hline 
        First & Second\\ \hline \hline
        \endfirsthead
        \captionsetup{singlelinecheck=off}
        \caption{A short one}\\
        \hline 
        First & Second\\ \hline
        \endhead
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        \end{longtabu}
\end{document}

答案2

您使用的是{|l|X|}。相反,如果您使用{|X|X|},您将获得两列等宽,并且表格跨越文本宽度。但在这种情况下表格会看起来很丑陋。因此,您可以尝试类似 的方法\begin{tabularx}{\textwidth}{|l|p{.89\textwidth}|}

你的第一点不太清楚。你不想让标题与左边距对齐?在这种情况下,你可以输入\captionsetup{singlelinecheck=off,margin=0cm}。你可以根据自己的意愿调整边距值。

妇女权利委员会:

\documentclass[12pt,a4paper,oneside]{article}
\usepackage[left=25mm,right=15mm,top=2cm,bottom=2cm,bindingoffset=0cm]{geometry}
\usepackage[utf8x]{inputenc} % указать кодировку русского текста
\usepackage[russian]{babel} % указать, что язык текста - русский

\usepackage{cmap}

\usepackage{makeidx}
\makeindex

\usepackage{indentfirst}
\setlength{\parindent}{1.25cm}

\usepackage{caption}
\captionsetup[table]{labelsep=endash}
\usepackage{ltablex}
\usepackage{lipsum}
\begin{document}
%     \keepXColumns
        \begin{tabularx}{\textwidth}{|l|p{.89\textwidth}|}
                \captionsetup{singlelinecheck=off,margin=0cm,format=hang} %% Try format=hang for a change
        \caption{A long description of this awesomest table ever. No, seriously.}\\
        \hline
        First & Second\\ \hline \hline
        \endfirsthead

        \caption{A short one}\\
        \hline
        First & Second column of the table\\ \hline
        \endhead
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        Lols & \lipsum[150] \\ \hline
        \end{tabularx}
\end{document}

相关内容