表格列表水平空间太小

表格列表水平空间太小

我有以下问题:我想根据子节为文档的某些部分添加不同的表格标签。我正在使用代码\renewcommand{\thetable}{\arabic{section}.\arabic{subsection}.\arabic{table}}。效果很好。但是当我创建 LOT 时,间距似乎不对 - 标题与表格左侧的表格编号相交,表格编号为 10。有什么可以做的吗?除了使用 之外,我还可以灵活使用其他解决方案\renewcommand{\thetable}{\arabic{section}.\arabic{subsection}.\arabic{table}},但它效果很好。如果我没记错的话,这不是问题。解决方案必须与 一起使用scrreprt

\documentclass[11pt]{scrreprt}
\usepackage{caption}
\usepackage[USenglish]{babel}
\usepackage{setspace}
\usepackage[a4paper,showframe=true]{geometry}

\begin{document}
    
    \listoftables
    
    \chapter{Introduction}
    
    \renewcommand{\thetable}{\arabic{section}.\arabic{subsection}.\arabic{table}}
    
    \section{Section}
    \subsection{Subsection}
    
    \makeatletter
    \@whilenum\value{table}<10\do{%
        \captionof{table}{This is test table \thetable}
    }
    \makeatother
    
\end{document}

谢谢任何提示。编辑:我试过了listof=flat。效果很好,但在某些情况下,表格标题较长时,它似乎向右延伸得有点太远了。编辑:使用这种方法缩进是错误的(当标题超过两行时,缩进就不正确了)。因此不推荐使用这种解决方案。还有其他选择吗?

答案1

您可以使用

\DeclareTOCStyleEntry[dynnumwidth]{tocline}{table}

例子:

\documentclass{scrreprt}
\usepackage[USenglish]{babel}
\usepackage{showframe}% to show the page layout
\usepackage{blindtext}% only for dummy text

\DeclareTOCStyleEntry[dynnumwidth]{tocline}{table}

\begin{document}
\listoftables
\chapter{Introduction}
\renewcommand{\thetable}{\Alph{section}.\arabic{subsection}.\arabic{table}}
\section{Section}
\subsection{Subsection}
\captionof{table}{This is test table \thetable}
\setcounter{table}{9}
\captionof{table}{This is test table \thetable}
\captionof{table}{\blindtext}
\end{document}

运行三次即可获得

在此处输入图片描述

您还可以更改indent

\DeclareTOCStyleEntry[dynnumwidth,indent=0pt]{tocline}{table}

在此处输入图片描述

但如果您需要dynnumwidth,indent=0pt图形和表格

\DeclareTOCStyleEntries[dynnumwidth,indent=0pt]{tocline}{figure,table}

您还可以使用类选项listof=flat

\documentclass[listof=flat]{scrreprt}
\usepackage[USenglish]{babel}
\usepackage{showframe}% to show the page layout
\usepackage{blindtext}% only for dummy text

\begin{document}
\listoftables
\chapter{Introduction}
\renewcommand{\thetable}{\Alph{section}.\arabic{subsection}.\arabic{table}}
\section{Section}
\subsection{Subsection}
\captionof{table}{This is test table \thetable}
\setcounter{table}{9}
\captionof{table}{This is test table \thetable}
\captionof{table}{\blindtext}
\end{document}

运行三次即可获得

在此处输入图片描述

相关内容