这是一个普遍的问题。
我发现 wrapfigure 环境非常棘手。这取决于你把它放在哪里,如果你在顶部添加东西,你可能会让一个好的 wrapfig 变坏。我想知道是否有办法告诉环境将特定的图形放在特定页面的特定部分。
答案1
insbox
是一组通用宏,允许在段落的左侧或右侧插入(几乎)任何框(图形文件、方程式等)。两个主要命令是和,其中\InsertBoxL{n}{boxcontent}[correction]
是\InsertBoxR{n}{boxcontent}[correction]
段落n
开头未更改的行数,可选的correction
是应向左或向右缩进的补充行数,以防框高度计算不准确。此外,还有一个在插入点处插入段落的\InsertC{boxcontent}
命令interrupts
,它只是终止当前行,将框内容插入页面中心,然后恢复段落。
我曾经写过一个非常小的文件,它是和 添加和宏(放在外部或内部边缘)的insbox.sty
包装器,它们模仿环境的和选项。以下是代码:insbox.tex
\InsBoxO
\InsBoxI
o
i
wrapfigure
\ProvidesPackage{insbox}[2004/03/21 package wrapper for insbox.tex]
\RequirePackage{ifthen}
\input insbox
\newlength\insboxmargin
\insboxmargin=3mm
\makeatletter\@InsertBoxMargin=\insboxmargin\makeatother
\newcommand{\InsBoxO}[2]{\ifthenelse{\isodd{\value{page}}}{\InsertBoxR{#1}{#2}}{\InsertBoxL{#1}{#2}}}
\newcommand{\InsBoxI}[2]{\ifthenelse{\isodd{\value{page}}}{\InsertBoxL{#1}{#2}}{\InsertBoxR{#1}{#2}}}
\makeatletter\newcommand{\resetmargin}{\@restore@}\makeatother
\endinput
对于在 中插入数字的问题,你可以看到我对此的lists environments
回答(基于)insbox
问题。
要插入标题,必须使用threeparttable
环境和\captionof
命令(来自caption
包)。
以下是一个例子:
\documentclass[a4paper,10pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage{insbox, wrapfig}
\usepackage{graphicx, captdef, threeparttable, caption}
\usepackage{lipsum}
\begin{document}
\setcounter{table}{2}
\lipsum[1-2]
\verb+\InsertBoxR inserted here: +
\InsertBoxR{10}{%
\begin{threeparttable}
\begin{tabular}{lrrr}
\hline
sgnj & 0.31 & 1.16 & 1.16 \\ safd & 0.46 & 0.91 & 0.99 \\ dsfv & 0.42 & 0.78 & 0.56 \\ jl;; & 0.35 & 1.18 & 1.47 \\ sdfd & 0.38 & 0.76 & 0.79 \\ degf & 0.27 & 1.29 & 1.33 \\ fewf & 0.24 & 0.58 & 0.59 \\ werf & 0.30 & 0.71 & 0.71 \\ fhjj & 0.64 & 1.45 & 0.60 \\ wdff & 0.45 & 1.16 & 0.79 \\
\hline
\end{tabular}
\captionof{table}{My table}%\label{c_table3}
\end{threeparttable}
}[6]%
\lipsum [3-5]
\end{document}