带有 itemize 的 longtabular 中两页之间的空白区域

带有 itemize 的 longtabular 中两页之间的空白区域

您可以在下图中看到我的问题。我有一张表格 ( longtable),其中有三列,在第三列中我使用工具 ( itemize) 处理许多项目。一切都运行良好,但在页面末尾我仍然看到空白处,itemize下一页上会重新开始。我想使用所有页面,并且想拆分项目。

\documentclass[10pt,a6paper]{book}

\usepackage[utf8]{inputenc}
\usepackage[main=english,slovak]{babel}
\usepackage[cm]{fullpage}
\usepackage[a6paper, top=10mm, left=10mm, right=10mm, bottom=10mm,foot=5mm,marginparsep=0mm,showframe]{geometry}
%showframe
\usepackage{tipa}
\usepackage{tabularx,booktabs}
\usepackage{multirow}
\usepackage{rotating}
\usepackage{graphicx}
\usepackage{array}
\usepackage{color}
\usepackage[dvipsnames]{xcolor}
\usepackage{longtable}
\usepackage{lscape}

\usepackage{enumitem}
\usepackage{tabularx,booktabs}
\usepackage{enumitem}
\usepackage{mathtools}
%\pagenumbering{alph}
\pagenumbering{Roman}

\begin{document}
\catcode`\-=12
\sloppy

\section{\foreignlanguage{slovak}{Predložky I}}
{\small 
\begin{longtable}{llp{5cm}}
    \toprule
    {\sffamily on}   & \textsl{[\textipa{6n}]}  & \setlist{nosep,topsep=0sp,label=--}
                                                  \vspace{-\baselineskip}
                                                  \begin{itemize}
                                                    \item[-] na \textit{čom/čo}
                                                    \item[-] na povrch(u) \textit{čoho (položený, pripevnený ap.)}
                                                    \item[-] na \textit{koho/čo}, od \textit{koho/čoho}
                                                    \item[-] o \textit{čo (zraniť sa, porezať sa)}
                                                    \item[-] na palube, vnútri \textit{čoho}, v \textit{čom}
                                                    \item[-] o \textit{čom (rozprava, správa)}, k \textit{čomu (komentár ap.)}
                                                    \item[-] v \textit{čom (televízii, rádiu ap.)}
                                                    \item[-] v \textit{čom (komisii, výbore ap.)}
                                                    \item[-] \textit{za čo (minúť peniaze)}
                                                  \end{itemize}\\
    {\sffamily for}  & \textsl{[\textipa{fO:\super r}]}  & \setlist{nosep,topsep=0sp,label=--}
                                                           \vspace{-\baselineskip}
                                                           \begin{itemize}  
                                                             \item[-] pre \textit{koho/čo}
                                                             \item[-] za, v mene \textit{koho (hovoriť ap.)}
                                                             \item[-] pre, za, (na)miesto \textit{koho (urobiť čo)}
                                                             \item[-] k(u), voči \textit{komu}, vo vzťahu ku \textit{komu (cítiť emócie ap.)}
                                                             \item[-] na \textit{čo (určený)}
                                                             \item[-] po \textit{(istý čas)}, počas \textit{(vymedzenie dĺžky trvania, zvyčajne neprekladáme)}
                                                             \item[-] na \textit{kedy (termín ap.)}
                                                           \end{itemize}\\  
    {\sffamily with} & \textsl{[\textipa{wID}]} & \setlist{nosep,topsep=0sp,label=--}
                                                  \vspace{-\baselineskip}
                                                  \begin{itemize}
                                                    \item[-] s \textit{kým/čím (súčasne, na jednom mieste)}
                                                    \item[-] pomocou \textit{čoho, čím (nástrojom, pomôckou ap.)}
                                                    \item[-] \textit{čím (pokrytý alebo vyplnený)}
                                                  \end{itemize}\\   
    {\sffamily in}   & \textsl{[\textipa{In}]}  & \setlist{nosep,topsep=0sp,label=--}
                                                  \vspace{-\baselineskip}
                                                  \begin{itemize}
                                                    \item[-] v \textit{čom}, vnútri \textit{čoho (miestne)}                                                 
                                                  \end{itemize}\\
    {\sffamily in}   & \textsl{[\textipa{tu:}]} & \setlist{nosep,topsep=0sp,label=--}
                                                  \vspace{-\baselineskip}
                                                  \begin{itemize}
                                                    \item[-] do, k(u), smerom k \textit{čomu}, na \textit{čo}, za \textit{kým (smerom kam)}
                                                    \item[-] na \textit{čo (ísť - na návštevu ap.)}
                                                    \item[-] k \textit{čomu (pripevnený ap.)}
                                                    \item[-] k(u), voči \textit{komu/čomu (správať sa ap.)}
                                                  \end{itemize}\\
    {\sffamily of}   & \textsl{[\textipa{6v}]}  & \setlist{nosep,topsep=0sp,label=--}
                                                  \vspace{-\baselineskip}
                                                  \begin{itemize}                                             
                                                    \item[-] \textit{koho/čoho (druhý pád alebo privlastňovanie)}
                                                    \item[-] z \textit{(o pôvode, pôsobisku)}
                                                    \item[-] z \textit{čoho (vyrobený ap.)}
                                                    \item[-] na \textit{čo/koho (myslieť, zomrieť ap.)}
                                                    \item[-] od \textit{koho (milé, podlé ap.)}
                                                  \end{itemize}\\       
    {\sffamily at}   & \textsl{[\textipa{\ae t}]}  & \setlist{nosep,topsep=0sp,label=--}
                                                     \vspace{-\baselineskip}
                                                     \begin{itemize}
                                                       \item[-] v(o), na, pri \textit{(o mieste, udalosti)}
                                                       \item[-] na \textit{(škole, univerzite - študovať ap.)}
                                                       \item[-] pri \textit{čom (stole ap.)}, za \textit{čím (písacím strojom ap.)}
                                                       \item[-] v \textit{(o vzdialenosti, uhle ap.)}, pod \textit{(určitým uhlom)}
                                                       \item[-] v, o, na \textit{(o čase, hodine)}
                                                       \item[-] (smerom) na \textit{koho/čo (ukázať ap.)}, po \textit{kom/čom (hádzať ap.)}
                                                     \end{itemize}\\
    \toprule     
\end{longtable}}
\end{document}

在此处输入图片描述 在此处输入图片描述

答案1

您唯一能做的就是通过反复试验,以最佳空间将一行分成两行。我提出了一些改进。使用tabularx扩展\ltablex将有望限制此类调整的数量,方法是在最后一列中增加更长的行。它是一X列自动进入和离开itemize环境,在进入环境之前设置规范tabularx,因此您只需排版项目。同样,前两列的字体特征在进入列时即已存在,您只需键入文本即可。

最后,我建议为 IPA 列添加颜色,而不是使用\slshape,但这只是一个建议,并且您的初始版本(自动)仅在表格的序言中进行了注释。我还定义了一个scroman编号,因为我认为罗马页码对于 A6 纸张格式来说太大了。

\documentclass[10pt,a6paper]{book}

\usepackage[utf8]{inputenc}
\usepackage[main=english,slovak]{babel}
\usepackage{ragged2e}%
\usepackage[cm]{fullpage}
\usepackage[a6paper, margin=10mm,foot=5mm,marginparsep=0mm,showframe]{geometry}
%showframe
\usepackage{tipa}
\usepackage{multirow}
\usepackage{rotating}
\usepackage{graphicx}
\usepackage{array}
\usepackage[dvipsnames, svgnames]{xcolor}
\usepackage{lscape}
\usepackage{enumitem}
\usepackage{ltablex,booktabs}
\usepackage{mathtools}
%\pagenumbering{alph}
%\pagenumbering{Roman}
\makeatletter
 \def\scroman#1{\expandafter\@scroman\csname c@#1\endcsname}
    \def\@scroman#1{{\scshape\romannumeral #1}}
\makeatother
\pagenumbering{scroman}

\begin{document}
\catcode`\-=12
\sloppy
\keepXColumns
\section{\foreignlanguage{slovak}{Predložky I}}
{\small\setlist[itemize]{nosep, topsep=0sp, label=--, wide=0pt, leftmargin=*, before =\vspace{-\baselineskip}}
\begin{tabularx}{\linewidth}%{@{} >{\sffamily}l>{\slshape[\tipaencoding}l<{]}>{\arraybackslash\RaggedRight\itemize}X < {\enditemize}@{}}%
{@{} >{\sffamily}l>{\color{SteelBlue}[\tipaencoding}l<{]}>{\arraybackslash\RaggedRight\itemize}X < {\enditemize}@{}}%
    \toprule
\endhead
    \bottomrule
\endfoot
   on & 6n &
   \item na \textit{čom/čo}
   \item na povrch(u) \textit{čoho (položený, pripevnený ap.)}
   \item na \textit{koho/čo}, od \textit{koho/čoho}
   \item o \textit{čo (zraniť sa, porezať sa)}
   \item na palube, vnútri \textit{čoho}, v \textit{čom}
   \item o \textit{čom (rozprava, správa)}, k \textit{čomu (komentár ap.)}
   \item v \textit{čom (televízii, rádiu ap.)}
   \item v \textit{čom (komisii, výbore ap.)}
   \item \textit{za čo (minúť peniaze)}
    \\
 for & fO:\super r & \item pre \textit{koho/čo}
 \item za, v mene \textit{koho (hovoriť ap.)}
 \item pre, za, (na)miesto \textit{koho (urobiť čo)}
 \item k(u), voči \textit{komu}, vo vzťahu ku \textit{komu (cítiť emócie ap.)}
 \item na \textit{čo (určený)}
 \item po \textit{(istý čas)}, počas \textit{(vymedzenie dĺžky trvania, zvyčajne neprekladáme)}
 \item na \textit{kedy (termín ap.)}
    \\
 with & wID & \item s \textit{kým/čím (súčasne, na jednom mieste)}
 \item pomocou \textit{čoho, čím (nástrojom, pomôckou ap.)}%
 \item \textit{čím (pokrytý alebo vyplnený)}
    \\
 in & In &
 \item v \textit{čom}, vnútri \textit{čoho (miestne)}
 \\
 in & tu: & \item do, k(u), smerom k \textit{čomu}, na \textit{čo}, za \textit{kým (smerom kam)}
 \item na \textit{čo (ísť - na návštevu ap.)}
 \item k \textit{čomu (pripevnený ap.)}
 \item k(u), voči \textit{komu/čomu (správať sa ap.)}
    \\
 of & 6v & \item \textit{koho/čoho (druhý pád alebo privlastňovanie)}
 \item z \textit{(o pôvode, pôsobisku)}
 \item z \textit{čoho (vyrobený ap.)}
 \item na \textit{čo/koho (myslieť, zomrieť ap.)}
 \item od \textit{koho (milé, podlé ap.)}
    \\
 at & \ae t & \item v(o), na, pri \textit{(o mieste, udalosti)}
 \item na \textit{(škole, univerzite - študovať ap.)}
 \item pri \textit{čom (stole ap.)}, za \textit{čím (písacím strojom ap.)}
 \item v \textit{(o vzdialenosti, uhle ap.)}, pod \textit{(určitým uhlom)}
 \item v, o, na \textit{(o čase, hodine)}
 \item (smerom) na \textit{koho/čo (ukázať ap.)}, po \textit{kom/čom (hádzať ap.)}
\end{tabularx}}

\end{document} 

在此处输入图片描述

相关内容