浮动图形至列高

浮动图形至列高

我经常遇到浮动元素被推到自己的页面,在不同上下文中重复出现的问题。浮动元素移动到自己的页面从来都不是最佳布局,如果可以永久禁止它,我想知道怎么做。

在这个特殊情况下,我希望有一个浮动数字占据整个列。MWE 如下

\documentclass[twocolumn]{article}
\usepackage{blindtext}
\usepackage{graphicx}

%FIGURES PLACEMENT
\renewcommand{\floatpagefraction}{1}
\renewcommand{\topfraction}{1}
\renewcommand{\bottomfraction}{1}
\renewcommand{\dbltopfraction}{1}
\renewcommand{\textfraction}{0} % allow minimal text w. figs
%   Parameters for FLOAT pages (not text pages):
\renewcommand{\floatpagefraction}{0.999}    % require fuller float pages % N.B.: floatpagefraction MUST be less than topfraction !!
\renewcommand{\dblfloatpagefraction}{0.999} % require fuller float pages

\begin{document}
\Blindtext
%
\begin{figure}[t]
\begin{minipage}[t][0.97\textheight][t]{\linewidth}%
\resizebox{\linewidth}{!}{%
\fbox{%
    \begin{minipage}[t][\textheight][t]{\linewidth}%
  Figure
    \end{minipage}%
}%
}%
\end{minipage}%
\end{figure}

\end{document}

图形刷新到浮动页面 - 不好

尽管我似乎设置了不同的控制参数来防止这种情况发生,但浮动元素还是被刷新到其自己的页面上。我希望它与文本并排占据一列,浮动。

浮动图实际上包含几个相关图形或算法及其标题,我想将它们呈现为一个面板。这部分我知道如何做。

问题是它会被刷新到浮动页面。为了使其成为指定的顶部浮动位置,我必须将高度调低,但不能调低太多,以免出现视觉错位或图形下方出现悬挂的文本行。这似乎很棘手,当周围有其他小图形时会弄乱。它会不时地被刷新到自己的页面上。

答案1

最大的问题是,为什么不直接使用 [p] 浮点数?[t] 浮点数也不会将任何前面的文本移动到下一页/列。

\documentclass[twocolumn]{article}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{showframe}

%FIGURES PLACEMENT
\renewcommand{\floatpagefraction}{1}
\renewcommand{\topfraction}{1}
\renewcommand{\bottomfraction}{1}
\renewcommand{\dbltopfraction}{1}
\renewcommand{\textfraction}{0} % allow minimal text w. figs
%   Parameters for FLOAT pages (not text pages):
\renewcommand{\floatpagefraction}{0.999}    % require fuller float pages % N.B.: floatpagefraction MUST be less than topfraction !!
\renewcommand{\dblfloatpagefraction}{0.999} % require fuller float pages

\setlength{\textfloatsep}{0pt}

\begin{document}
\lipsum[1]

\begin{figure}[t]
\begin{minipage}[t][0.97\textheight][t]{\linewidth}%
\resizebox{\linewidth}{!}{%
\fbox{%
    \begin{minipage}[t][\textheight][t]{\linewidth}%
  Figure
    \end{minipage}%
}%
}%
\end{minipage}%
\end{figure}

\lipsum[2-8]

\end{document}

举例来说,如果增加到14\baselineskip顶部15\baselineskip浮点数,则会被推到下一列。

\documentclass[twocolumn]{article}
\usepackage{lipsum}
\usepackage{showframe}

\begin{document}
\lipsum[1-2]
\begin{figure}[t]
\fbox{%
    \begin{minipage}[t][14\baselineskip][c]{\dimexpr \linewidth-2\fboxsep-2\fboxrule}%
  \centering Figure
    \end{minipage}%
}%
\end{figure}

\lipsum[3-8]

\end{document}

答案2

\documentclass[twocolumn]{article}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{hvfloat}
\usepackage{showframe}
\begin{document}
\lipsum[1]

\begin{figure}[p]
\includegraphics[fullpage]{example-image-a}
\end{figure}

\lipsum[2-8]

\end{document}

在此处输入图片描述

答案3

\documentclass[twocolumn]{article}
\usepackage{blindtext}
\usepackage{graphicx}

%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}
\Blindtext[1]
%
\begin{figure}[tp] % selection of position specifiers are important
\fbox{%
    \includegraphics[width=\linewidth,height=\textheight]{example-image-duck}
}%
\end{figure}
\Blindtext[3-5]
\end{document}

给出你想要的东西:

在此处输入图片描述

(红线表示页面布局)

请注意,图形应插入到文本第一列的某处,以便可以将其放在同一页的第二列。

相关内容