我经常遇到浮动元素被推到自己的页面,在不同上下文中重复出现的问题。浮动元素移动到自己的页面从来都不是最佳布局,如果可以永久禁止它,我想知道怎么做。
在这个特殊情况下,我希望有一个浮动数字占据整个列。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
答案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}
给出你想要的东西:
(红线表示页面布局)
请注意,图形应插入到文本第一列的某处,以便可以将其放在同一页的第二列。