标题位于文档正文之外

标题位于文档正文之外

我的文档中有一张图片,我想让它在横向显示得尽可能大,但整个图形(图片和标题)应该在身体

我研究了很多如何定义整个图形环境的大小,最推荐的解决方案是用迷你页面替换图形。但是,我没有得到我想要的结果。

MWE 用于小页面方法:

\documentclass[a4paper, DIV=13, 12pt]{scrreprt}

\usepackage{graphicx}
\usepackage{caption}
\usepackage{pdflscape}
\usepackage{lipsum}

\title{This is the Title}
\author{It's a Me, Mario!}


\begin{document}
\maketitle

\chapter{Chapter}
\lipsum[6]

\begin{landscape}
    \begin{minipage}[t][\textheight][t]{\linewidth}
        \centering     
        \noindent\includegraphics[height=\textheight,keepaspectratio]{example-image-a}
        \captionof{figure}{This is the long version of the description of the caption}
        \label{fig:flussdiagramm}    
    \end{minipage}
\end{landscape}

\chapter{Chapter}
\lipsum[5]

\end{document}

但问题依然存在:标题在正文之外。我的意思是: 在此处输入图片描述

标题的边距(红色箭头)与其他页面的边距(蓝色箭头)不匹配。

我以为 minipage 重新定义了\textheightand\linewidth但事实似乎并非如此。有人能证实这一点吗?

我如何确保标题在正文/文本区域内并且边距在每一页上保持不变?

最好的,Korbinian

答案1

正如@David Carlisle 所写,必须在文档编译期间计算标题的高度,以确定图像可用的高度。

我使用了@Frank Mittelbach的答案这个帖子用于计算。这段代码对我来说很有效:

\usepackage{calc}
\newlength\graphht              % holds the height available for the image
\newcommand\calculategraphicstargetheight[1]{%    % pass the number of lines of the caption
     \setlength\graphht{\textheight 
                       -\parskip
                       -\abovecaptionskip -\belowcaptionskip
                       -(\baselineskip * #1)
                       }}

使用方式如下:

\begin{landscape}
    \calculategraphicstargetheight{1}
    \begin{figure}[htbp]
        \centering
        \noindent\includegraphics[width=\linewidth,height=\graphht,keepaspectratio]{example-image-a}
        \captionof{figure}{This is the long version of the description of the caption}
        \label{fig:niceimage}
    \end{figure}
\end{landscape}

结果如下:

标题不再位于文档正文之外

科尔比尼安

相关内容