尺寸太大且标题太长?

尺寸太大且标题太长?

我遇到了一个问题,一个带有长标题的图表占据了大部分页面(但不是全部)。这是一个 MWE,它重现了与长度大致相同的 lorem ipsum 文本的问题。

\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{caption}

\begin{document}

\begin{figure}[p]
    \caption{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultricies neque risus, ut rutrum elit maximus sed. Aliquam posuere auctor justo eget scelerisque. Donec non justo a dolor gravida consectetur. Integer volutpat velit velit, in venenatis metus hendrerit sit amet. Curabitur imperdiet ullamcorper nisi, non ullamcorper nibh accumsan in. Ut luctus nisl eget eleifend pulvinar. Sed diam nibh, mattis elementum velit ut, eleifend tincidunt mauris. Pellentesque venenatis semper odio gravida ultrices. Vivamus ac molestie ante. Fusce pellentesque finibus enim, nec congue diam euismod in. Nunc eu tempor purus. Curabitur eu arcu vitae massa laoreet semper in varius tortor. Maecenas nec mauris pretium, pulvinar lacus a, maximus lectus. Donec sapien odio, suscipit eu dui vitae, pellentesque pharetra justo. Etiam pellentesque blandit porta.
    Ut a faucibus lacus. Aenean quis nibh mi. Fusce eu risus massa. Praesent faucibus justo vitae fermentum elementum. Nam at nisi at leo tincidunt tristique. Sed eros libero, elementum vel velit ut, fringilla luctus nibh. Interdum et malesuada fames ac ante ipsum primis in faucibus. Cras iaculis orci at vestibulum congue. Ut scelerisque quam est, nec fermentum dolor molestie sit amet. Sed fermentum porttitor lorem, vel condimentum mauris ultrices fermentum. Donec pharetra, ipsum sit amet imperdiet interdum, neque neque semper diam, semper suscipit metus turpis non risus. Curabitur quam sapien, aliquet eget tellus eget, laoreet lobortis felis.
    Sed nec lacinia odio. Sed massa mauris, pharetra nec sapien a, rhoncus luctus ligula. Aliquam nec orci et libero elementum maximus. Suspendisse potenti. Nunc malesuada sed mauris quis faucibus. Phasellus tincidunt scelerisque neque sed dapibus. Etiam vitae ex quis tortor placerat fringilla a in turpis. Integer sit amet diam tincidunt, imperdiet sem id, facilisis massa. Duis molestie felis at tortor tincidunt, a blandit quam ultrices. Nunc aliquam tristique est et gravida.
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultricies neque risus, ut rutrum elit maximus sed. Aliquam posuere auctor justo eget scelerisque. Donec non justo a dolor gravida consectetur. Integer volutpat velit velit, in venenatis metus hendrerit sit amet. Curabitur imperdiet ullamcorper nisi, non ullamcorper nibh accumsan in. Ut luctus nisl eget eleifend pulvinar. Sed diam nibh, mattis elementum velit ut, eleifend tincidunt mauris. Pellentesque venenatis semper odio gravida ultrices. Vivamus ac molestie ante. Fusce pellentesque finibus enim, nec congue diam euismod in. Nunc eu tempor purus. Curabitur eu arcu vitae massa laoreet semper in varius tortor. Maecenas nec mauris pretium, pulvinar lacus a, maximus lectus. Donec sapien odio, suscipit eu dui vitae, pellentesque pharetra justo. Etiam pellentesque blandit porta.
    Ut a faucibus lacus. Aenean quis nibh mi. Fusce eu risus massa. Praesent faucibus justo vitae fermentum elementum. Nam at nisi at leo tincidunt tristique. Sed eros libero, elementum vel velit ut, fringilla luctus nibh. Interdum et malesuada fames ac ante ipsum primis in faucibus. Cras iaculis orci at vestibulum congue. Ut scelerisque quam est, nec fermentum dolor molestie sit amet. Sed fermentum porttitor lorem, vel condimentum mauris
    }
\end{figure}  

\end{document}

这导致 pdflatex 和 xelatex 2022 都出现以下错误:

! Dimension too large.
\caption@slc ...ke {#1}{#2}}\ifdim \wd \@tempboxa 
                                                  >\caption@width \endgroup ...
l.14     }
          
I can't work with sizes bigger than about 19 feet.
Continue and I'll use the largest value I can.


LaTeX Warning: Float too large for page by 12.06998pt on input line 15.

如果我注释掉以“Ut a faucibus”开头的最后一行,问题就消失了。我尝试手动设置标题宽度,\captionsetup{width=0.8\linewidth}但不起作用。我认为 caption@width 可能是有问题的长度,但我不明白。

答案1

使用

 \usepackage[singlelinecheck=false]{caption} 

(或者在本地设置)因为您不想将标题放在一行上,所以不需要检查。

相关内容