我希望标题(始终位于图形、表格等上方)放置在页面上的同一垂直位置。我知道我可以做到
\makeatletter
\setlength{\@fptop}{0.16\textheight minus 0.160\textheight}
\makeatother
这使得垂直位置位于文本高度的 16%。但是,我使用的是双列报告文档,当图形放在章节开头时,图形会显得较低。我理解这是因为它是文本高度 + 章节标题区域高度的 16%。
我怎样才能使这些图形出现在与其他图形相同的垂直位置上?
我有一个 MWE,它实现了下面的效果,但需要我手动确定小页面的正确高度,并使用与figure
章节页面上出现的图形不同的环境。还有其他方法吗?或者,如果这种方法是最好的,有没有办法引用“章节标题区域高度”,这样如果我改变章节的显示方式,就可以实现相同的效果?
(如果“正常”页面上的图形太大,我不会担心它是否会向上移动。)
\documentclass[a4paper,twocolumn,10pt]{scrreprt}
\usepackage[twocolumn,landscape,top=1cm]{geometry}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{placeins}
\renewcommand{\floatpagefraction}{0.1}
\makeatletter
\setlength{\@fptop}{0.16\textheight minus 0.1650\textheight}
\makeatother
\newenvironment{chapterpagefigure}{
\begin{figure}
\begin{minipage}[t][0.84\textheight]{\linewidth}
}{
\end{minipage}
\end{figure}
}
\usepackage{caption}
\captionsetup{justification=raggedright,singlelinecheck=false,skip=0pt}
\begin{document}
\chapter{A somewhat long chapter title longer than two columns}
\lipsum[1-3]
\begin{chapterpagefigure}
\caption{Figure appearing on chapter page}
\includegraphics[height=5cm]{Example-image}
\end{chapterpagefigure}
\lipsum[1-2]
\section{Foobarbaz}
\begin{figure}[p]
\caption{Slightly larger figure appearing on normal page}
\includegraphics[height=6cm]{Example-image}
\end{figure}
\lipsum
\lipsum[1-4]
\begin{figure}[p]
\caption{Slightly larger figure appearing on normal page}
\includegraphics[height=6cm]{Example-image}
\end{figure}
\end{document}
答案1
在章节的第一页上,\@colht
小于\textheight
。宏\@tryfcolumn
用于将浮动元素布置到每列中。\@fptop
每次调用时,中的更改都是本地的。
\documentclass[a4paper,twocolumn,10pt]{scrreprt}
\usepackage[twocolumn,landscape,top=1cm]{geometry}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{placeins}
\renewcommand{\floatpagefraction}{0.1}
\makeatletter
\setlength{\@fptop}{0.16\textheight minus 0.1650\textheight}
\let\oldtryfcolumn=\@tryfcolumn
\def\@tryfcolumn{\addtolength{\@fptop}{\dimexpr \@colht-\textheight}%
\oldtryfcolumn}
\makeatother
\usepackage{caption}
\captionsetup{justification=raggedright,singlelinecheck=false,skip=0pt}
\begin{document}
\chapter{A somewhat long chapter title longer than two columns}
\lipsum[1-3]
\begin{figure}[p]
\caption{Figure appearing on chapter page}
\includegraphics[height=5cm]{Example-image}
\end{figure}
\lipsum[1-2]
\section{Foobarbaz}
\begin{figure}[p]
\caption{Slightly larger figure appearing on normal page}
\includegraphics[height=6cm]{Example-image}
\end{figure}
\lipsum
\lipsum[1-4]
\begin{figure}[p]
\caption{Slightly larger figure appearing on normal page}
\includegraphics[height=6cm]{Example-image}
\end{figure}
\end{document}