表格布局和标题不一致

表格布局和标题不一致

我有一个长表和页眉,它们会获取页面上表格的第一项和最后一项。我通过汇总各种建议(例如此处)实现了解决方案长表最后一页的页眉不正确和这里longtable - 如何将页面上的第一个元素放入标题中但结果还不令人满意;页眉的边距和表格的边距不一致。

在此处输入图片描述

我希望使标题与表格(左右边距)一致,并且不能使表格变窄。

MWE 是:

\documentclass{scrbook}
\KOMAoptions{paper=     6.14in:9.21in,    
    BCOR=8mm,twoside,
    headinclude=false, footinclude=false, 
    headings=normal,
    titlepage=true,
    DIV=13,  % textbuecher 11 % textwidth 117
    fontsize=11pt,
}
\usepackage[german]{babel}  

\usepackage{booktabs,array,microtype, longtable}
\usepackage[automark,headsepline]{scrlayer-scrpage}

\rehead{\leftmark}  \rohead{\leftmark}
\lehead{\rightmark} \lohead{\rightmark}

\begin{document}

\newcommand{\dohang}{\hangindent1em\hangafter1 }


{\begin{scriptsize}
        \addtolength{\oddsidemargin}{-10mm}
        \addtolength{\evensidemargin}{-10mm}
        \begin{longtable}{@{}
                l
                >{\everypar{\dohang}\dohang\raggedright\arraybackslash}p{18mm} 
                >{\everypar{\dohang}\dohang\raggedright\arraybackslash}p{65mm} 
                >{\everypar{\dohang}\dohang\raggedright\arraybackslash}p{26mm}
                p{9mm}}
            {} & Lemma & Gedichtzeile & Gedichttitel & Index \\\\
            \endfirsthead 

        \markboth{Abendsäuseln}{Abendsäuseln}&Abendsäuseln & Eingelullt von Abendsäuseln, & Himmelsleiter & 5:1-3\\
        \markboth{abgedorrt}{abgedorrt}&abgedorrt & Doch endlich abgedorrt! & Am Sarg eines & 7:1-3\\
        \markboth{alt}{alt}&alt & Hockt vor der Tür und flickt die alten Schuh und wirkt und wirkt bis ans ende der Zeit. & Wie glänzt der helle & 2:1-14\\
        \markboth{alt}{alt}& & So ist die alte Eiche & Am Sarg eines & 7:1-2\\


        \end{longtable}
    \end{scriptsize}
}   
\end{document}

有什么建议如何修复吗?

答案1

您的表格比 宽,因此溢出了右边距。计算列宽时,linewidth您必须考虑列之间的添加。您的表格很宽,但由于您有五列,因此只有可用于列内的文本。由于我习惯于删除左右侧边距(每个边距计为 1 ),因此我需要总共减去八个额外的s。tabcolsep\linewidth\linewidth-10 tabcolsep@{}tabcolseptabcolsep

表格似乎向右移动了几毫米,原因是第一列在右侧l添加了一个。因此,即使列宽为零,您也会在第 1 列和第 2 列之间看到一个,并且表格似乎没有与左边距对齐。实际上它确实对齐了。添加一个,您就会看到。因此,我通过在右侧添加一个来删除了tabcolseptabcolsep\midruletabcolsep@{}l。事实上,这与您在问题中描述的问题完全相同:longtable 的左对齐 - 不需要的最小缩进

@{}最后一个 -column 后面的 on删除p了表格右侧的侧边距,确保右对齐或两端对齐的文本与右边距齐平。它还会为列内的文本添加一些额外的空间。如果您没有右对齐或两端对齐的文本,您将无法直接看到效果。

另外,我建议您计算相对于的列宽linewidth。我加载了包计算使计算更加容易。您可以不用(使用\dimexpr)进行计算。

在您的 MWE 中,您使用\setlength ...。这些命令只会将文本块向内边距移动 1 厘米,不会为文本添加额外的空间。我已将它们注释掉。我也移动了一些其他代码,但这并不重要。您可以恢复这些更改。

这是我的 MWE:

\documentclass{scrbook}
\KOMAoptions{paper=6.14in:9.21in,    
    BCOR=8mm,twoside,
    headinclude=false, footinclude=false, 
    headings=normal,
    titlepage=true,
    DIV=13,  % textbücher 11 % textwidth 117
    fontsize=11pt,
}
\usepackage[german]{babel}  

\usepackage{booktabs,array,microtype, longtable, calc}
\usepackage[automark,headsepline]{scrlayer-scrpage}

\rehead{\leftmark}  \rohead{\leftmark}
\lehead{\rightmark} \lohead{\rightmark}

\setlength\LTleft{0pt}
\setlength\LTright\fill

\newcommand{\dohang}{\hangindent1em\hangafter1}

\begin{document}

%\addtolength{\oddsidemargin}{-10mm}   % These two commands only move the textarea, they do not widen it.
%\addtolength{\evensidemargin}{-10mm}
\scriptsize % `longtable` should not be put in an environment
\begin{longtable}{@{}
                l@{}  % You need to remove the tabcolsep in a zero width column
                >{\everypar{\dohang}\dohang\raggedright\arraybackslash}p{2\linewidth/12-\tabcolsep} 
                >{\everypar{\dohang}\dohang\raggedright\arraybackslash}p{6.4\linewidth/12-2\tabcolsep} 
                >{\everypar{\dohang}\dohang\raggedright\arraybackslash}p{2.5\linewidth/12-2\tabcolsep}
                p{1.1\linewidth/12-\tabcolsep}@{}}  % You need to subtract the tabcolseps from tabular column width 
            {} & Lemma & Gedichtzeile & Gedichttitel & Index\\\midrule
            \endfirsthead 

        \markboth{Abendsäuseln}{Abendsäuseln}&Abendsäuseln & Eingelullt von Abendsäuseln, & Himmelsleiter & 5:1-3\\
        \markboth{abgedorrt}{abgedorrt}&abgedorrt & Doch endlich abgedorrt! & Am Sarg eines & 7:1-3\\
        \markboth{alt}{alt}&alt & Hockt vor der Tür und flickt die alten Schuh und wirkt und wirkt bis ans ende der Zeit. & Wie glänzt der helle & 2:1-14\\
        \markboth{alt}{alt}& & So ist die alte Eiche & Am Sarg eines & 7:1-2\\

        \end{longtable}
\normalsize

\end{document}

在此处输入图片描述

相关内容