长表中不需要的额外间隙

长表中不需要的额外间隙

我终于遇到了一个问题,当时所有的谷歌搜索、这个论坛和任何机智都无法帮助我。我一直在一个 \longtable环境中工作,在我制作的看似最简单的表格中出现了一个不必要的额外间距,但对我来说没有任何明显的原因。以下是代码:

\usepackage{longtable}
\usepackage{polyglossia}
\setdefaultlanguage{latvian}

\begin{longtable}{ccccc}
 \caption{Virknes slēguma bezdimensionālie lielumi} \\ %fixed
  \hline
   npk & $\omega$ & $i$ & $u_C$ & $u_L$ \\
  \hline
  \endfirsthead

   \multicolumn{5}{c}
    {{\tablename\ \thetable{} (turpināta no iepriekšējas lappuses)}} \\ \\
  \hline
   npk & $\omega$ & $i$ & $u_C$ & $u_L$ \\
 \hline 
 \endhead

 \hline \multicolumn{5}{l}{{Tabulas turpinājums nākamā lappusē}} \\
 \endfoot

\hline
\endlastfoot
  %just data
  1  & 1,71 & 0,891 & 0,522 & 1,52 \\
  2  & 1,68 & 0,923 & 0,551 & 1,55 \\
  3  & 1,62 & 0,995 & 0,614 & 1,61 \\
  4  & 1,45 & 1,32 & 0,911 & 1,91 \\
  5  & 1,30 & 1,86 & 1,43 & 2,42 \\
  6  & 1,21 & 2,51 & 2,07 & 3,05 \\
  7 & 1,16 & 3,32 & 2,87 & 3,84 \\
  8  & 1,10 & 4,94 & 4,49 & 5,43 \\
  9  & 1,01 & 12,8 & 12,6 & 12,9 \\
  10 & 0,984 & 12,3 & 12,5 & 12,1 \\
  11 & 0,955 & 8,47 & 8,87 & 8,09 \\
  12  & 0,941 & 6,98 & 7,42 & 6,57 \\
  13  & 0,926 & 5,87 & 6,33 & 5,43 \\
  14  & 1,04 & 9,07 & 8,71 & 9,45 \\
  15  & 0,868 & 3,41 & 3,93 & 2,96 \\
  16  & 0,752 & 1,71 & 2,28 & 1,29 \\
  17  & 0,665 & 1,19 & 1,79 & 0,790 \\
  18  & 0,578 & 0,867 & 1,50 & 0,501 \\
\end{longtable}

我需要使用拉脱维亚语,我不认为这很重要,但我更愿意如实描述我的问题。任何帮助和建议都将不胜感激。

第 4 列和第 5 列之间不需要的间隙

答案1

如果您不想要额外的填充,您可以使用这个解决方案,它利用了 longtable 的标题功能:

\documentclass{article}
\usepackage{longtable}
\usepackage{polyglossia}
\setdefaultlanguage{latvian}
\begin{document}
      \begin{longtable}{ccccc}
          \caption{Virknes slēguma bezdimensionālie lielumi}\\
          \hline
          npk & $\omega$ & $i$ & $u_C$ & $u_L$\\
          \hline
        \endfirsthead
          \caption[]{(turpināta no iepriekšējas lappuses)}\\ \\
          \hline
          npk & $\omega$ & $i$ & $u_C$ & $u_L$\\
          \hline
        \endhead
          \hline \multicolumn{5}{l}{{Tabulas turpinājums nākamā lappusē}}\\
        \endfoot
          \hline
        \endlastfoot
        %just data
        1  & 1,71 & 0,891 & 0,522 & 1,52 \\
        2  & 1,68 & 0,923 & 0,551 & 1,55 \\
        3  & 1,62 & 0,995 & 0,614 & 1,61 \\
        4  & 1,45 & 1,32 & 0,911 & 1,91 \\
        5  & 1,30 & 1,86 & 1,43 & 2,42 \\
        6  & 1,21 & 2,51 & 2,07 & 3,05 \\
        7 & 1,16 & 3,32 & 2,87 & 3,84 \\
        8  & 1,10 & 4,94 & 4,49 & 5,43 \\
        9  & 1,01 & 12,8 & 12,6 & 12,9 \\
        10 & 0,984 & 12,3 & 12,5 & 12,1 \\
        11 & 0,955 & 8,47 & 8,87 & 8,09 \\
        12  & 0,941 & 6,98 & 7,42 & 6,57 \\
        13  & 0,926 & 5,87 & 6,33 & 5,43 \\
        14  & 1,04 & 9,07 & 8,71 & 9,45 \\
        15  & 0,868 & 3,41 & 3,93 & 2,96 \\
        16  & 0,752 & 1,71 & 2,28 & 1,29 \\
        17  & 0,665 & 1,19 & 1,79 & 0,790 \\
        18  & 0,578 & 0,867 & 1,50 & 0,501 \\
  \end{longtable}
\end{document}

从 pdf 转换而来的 png 显示使用 longtable 的标题处理的解决方案

顺便说一句,如果您在后面的页面上需要不同的标题,这就是 longtable 告诉您管理变体标题的方式。将空的可选命令传递给 \caption 将阻止表格再次添加到表格列表中。

答案2

如果我纠正省略的\\\caption问题是 LT 标题是\multicolumn,并且如果跨越的单元格比它跨越的单元格的自然宽度宽,TeX 会将所有空间放在最后一列中。如果添加额外的填充,效果会更好。

      \begin{longtable}{@{\extracolsep{10pt}}ccccc@{}}

在此处输入图片描述

或者最好按小数点对齐,

在此处输入图片描述

      \usepackage{dcolumn}
       \newcolumntype{,}{D{,}{{,}}{3.4}}
\begin{document}

      \begin{longtable}{r,,,,}
        \caption{Virknes slēguma bezdimensionālie lielumi}\\
        \hline
        npk & \multicolumn{1}{c}{$\omega$} & 
\multicolumn{1}{c}{$i$} & \multicolumn{1}{c}{$u_C$} &
\multicolumn{1}{c}{ $u_L$} \\
        \hline
        \endfirsthead

        \multicolumn{5}{c}
        {{\tablename\ \thetable{} (turpināta no iepriekšējas lappuses)}} \\
        \hline
        npk &\multicolumn{1}{c}{$\omega$}&
\multicolumn{1}{c}{$i$} & 
\multicolumn{1}{c}{$u_C$}&
\multicolumn{1}{c}{$u_L$}\\
        \hline 
        \endhead

        \hline \multicolumn{5}{l}{{Tabulas turpinājums nākamā lappusē}} \\
        \endfoot

        \hline
        \endlastfoot
        %just data
        1  & 1,71 & 0,891 & 0,522 & 1,52 \\

答案3

S以下是使用列构造的实现siunitx

\documentclass{article}

\usepackage{longtable}
\usepackage{booktabs}
\usepackage[
  locale = DE % comma instead of full stop as decimal separator
]{siunitx}
\usepackage{polyglossia}
\setdefaultlanguage{latvian}

\newcommand*\mc[1]{\multicolumn{1}{c}{#1}}

\begin{document}

\begin{longtable}{
  S[table-format = 2]
  S[table-format = 1.3]
  S[table-format = 2.3]
  S[table-format = 2.3]
  S[table-format = 2.3]
}
  \caption{Virknes slēguma bezdimensionālie lielumi}
  \label{tbl:something}
  \\
    \toprule
     \mc{npk} & \mc{$\omega$} & \mc{$i$} & \mc{$u_C$} & \mc{$u_L$} \\
    \midrule
   \endfirsthead
    \caption[]{Virknes slēguma bezdimensionālie lielumi (turpināta no iepriekšējas lappuses)}
  \\
    \toprule
     \mc{npk} & \mc{$\omega$} & \mc{$i$} & \mc{$u_C$} & \mc{$u_L$} \\
    \midrule
   \endhead
    \bottomrule
     \multicolumn{5}{l}{Tabulas turpinājums nākamā lappusē} \\
     \endfoot
    \bottomrule
     \endlastfoot
      1 & 1.71  &  0.891 &  0.522 &  1.52  \\
      2 & 1.68  &  0.923 &  0.551 &  1.55  \\
      3 & 1.62  &  0.995 &  0.614 &  1.61  \\
      4 & 1.45  &  1.32  &  0.911 &  1.91  \\
      5 & 1.30  &  1.86  &  1.43  &  2.42  \\
      6 & 1.21  &  2.51  &  2.07  &  3.05  \\
      7 & 1.16  &  3.32  &  2.87  &  3.84  \\
      8 & 1.10  &  4.94  &  4.49  &  5.43  \\
      9 & 1.01  & 11.8   & 12.6   & 12.9   \\
     10 & 0.984 & 12.3   & 12.5   & 12.1   \\
     11 & 0.955 &  8.47  &  8.87  &  8.09  \\
     12 & 0.941 &  6.98  &  7.42  &  6.57  \\
     13 & 0.926 &  5.87  &  6.33  &  5.43  \\
     14 & 1.04  &  9.07  &  8.71  &  9.45  \\
     15 & 0.868 &  3.41  &  3.93  &  2.96  \\
     16 & 0.752 &  1.71  &  2.28  &  1.29  \\
     17 & 0.665 &  1.19  &  1.79  &  0.790 \\
     18 & 0.578 &  0.867 &  1.50  &  0.501 \\
\end{longtable} 

\end{document}

输出

注意使用booktabs以获得正确的水平线。

PS 使用 进行三次编译xelatex

相关内容