创建浮动小节

创建浮动小节

我的总结——只是为了了解一下

我正在写一个摘要,主要包括方程式,但也有一些图片。现在我想将包括这些图片的子部分浮动起来,这样它们就可以很好地排列起来。

我知道如何放置浮动图片。但是是否可以对整个子部分执行相同操作?

感谢您的回答!

编辑:浮动部分有效。尽管与 {multicol} 结合使用时,newfloat{subsec} 不再显示。

\documentclass{article}
\usepackage{lipsum,caption,graphicx,float,titlesec}
\usepackage{multicol} %multiple columns
\newfloat{subsec}{h}{lop}

\begin{document}
\begin{multicols*}{3}
\tableofcontents
\listoffigures
\section{The Section}
Here is my non-floating introduction, which I place here just to 
demonstrate the margins.

\begin{subsec}[ht]
\subsection{Veni}
\lipsum[1-2]
\end{subsec}

\end{multicols*}
\end{document}

答案1

修改后的答案

使用原始答案(浮动小节和边注),我无法multicols封装floats,我不明白这是如何实现的。因此,虽然 OP 谈到了列内的浮动,但这个修改后的答案的解释略有不同。

如果 OP 的目标是让子部分保持为完整的块,那么浮动它们的一个替代方法是将它们分别放在自己的 中minipage,这样不会跨列。这是我在这里采用的方法,但它也对 OP 施加了额外的限制,以将子部分的长度保持在列内。

这里也采用了我的\mpar替代方案,但添加了一个可选参数或来指示调用来自哪一列。理论上,通过进一步重写可以处理 3 列或更多列。\marginparlr

以下是 MWE 的结果:

\documentclass{article}
\usepackage{lipsum,caption,graphicx,tabto,multicol}
\newenvironment{subsec}[1][]{\par\noindent\begin{minipage}{5.9cm}}{\end{minipage}}
\def\mmargin{20pt}
\def\mwid{3cm}
\def\mposl{\dimexpr-\mmargin-\mwid}
\def\mposr{\dimexpr\textwidth+\mmargin}
\newcommand\mpar[2][l]{\tabto*{\csname mpos#1\endcsname}\smash{\parbox[t]{\mwid}{%
  \raggedright#2}}\tabto*{\TabPrevPos}}
\begin{document}
\tableofcontents
\listoffigures
\clearpage
\begin{multicols}{2}
\section{The Section}
 Here is my non-floating introduction, which I place here just to 
  demonstrate the margins.
\begin{subsec}[ht]
\subsection{Veni}
\lipsum[1]
Margin note call \mpar{Here is my longish margin note}
\lipsum[4]
\end{subsec}
\begin{subsec}[ht]
\subsection{Vidi}
\lipsum[3]
Margin note call \mpar[r]{Here is my second longish margin note}
\lipsum[4]
\end{subsec}
\begin{subsec}[ht]
\subsection{Vici}
\lipsum[4-5]
\begin{center}
\includegraphics[width=2in]{example-image-A}
\captionof{figure}{My Figure}
\end{center}
\end{subsec}
\end{multicols}
\end{document}

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

原始答案:

也许是这样的......在这里我创建一个新的浮点数,subsec使用在浮动算法?。请注意,您无法将浮动图形放置在子部分内,但仍然可以使用\includegraphics\captionof技术将它们放置在那里,正如我在最终浮动图形上所展示的那样。

正如我在对 OP 的问题的评论中提到的那样,LaTeX 浮动必须适合单个页面。

我已经验证它在插入时\tableofcontents\listoffigures位于文档顶部时可以起作用。

根据 OP 的评论,编辑了提供仿制边注\mpar功能(使用tabto包),通过指定\mpos相对于文本左边距的位置以及\mwid边注宽度。我只是将边注设置为普通文本,但\mpar可以轻松调整字体大小和样式。

\documentclass{article}
\usepackage{lipsum,caption,graphicx,float,tabto}
\newfloat{subsec}{h}{lop}
\def\mpos{\dimexpr\textwidth+20pt}
\def\mwid{3cm}
\def\mpar#1{\tabto*{\mpos}\smash{\parbox[t]{\mwid}{%
  \raggedright#1}}\tabto*{\TabPrevPos}}
\begin{document}
%\tableofcontents
%\listoffigures
\section{The Section}
 Here is my non-floating introduction, which I place here just to 
  demonstrate the margins.
\begin{subsec}[ht]
\subsection{Veni}
\lipsum[1]
Margin note call \mpar{Here is my longish margin note}
\lipsum[2]
\end{subsec}
\begin{subsec}[ht]
\subsection{Vidi}
\lipsum[3]
\end{subsec}
\begin{subsec}[ht]
\subsection{Vici}
\lipsum[4-7]
\begin{center}
\includegraphics[width=2in]{example-image-A}
\captionof{figure}{My Figure}
\end{center}
\end{subsec}
\end{document}

在此处输入图片描述

在此处输入图片描述

相关内容