我有两个与图表/标题相关的问题。
首先,在许多教科书中,习惯上将细图(连同其标题)完全放在页面的外边距中。在 LaTeX 中,最优雅的实现方式是什么?
其次,对于较宽的图形,许多书籍将图形设置为页面宽度(因此会喷涌到外边距),然后将标题放在图形下方的边距空间中。如何在 LaTeX 中实现此效果?
答案1
您可以使用 tufte-book 类。它具有边距图形、边距注释以及全宽环境。一般来说,它具有您想要的一般风格。它还具有用于较大图形的全宽环境 - 正如您所描述的。
答案2
页边距中的数字
我已经很多年没有这样做了,但当我这样做的时候,我使用了wrapfig包。就像
\documentclass[twoside]{文章} \usepackage{wrapfig,calc,lipsum} \newlength{\marginspace} \setlength{\marginspace}{\marginparwidth+\marginparsep} \setlength{\wrapoverhang}{\marginspace+\columnsep} \开始{文档} \lipsum[1] \begin{wrapfigure}{o}{\marginspace} \定心 \rule{4em}{4em} \caption{黑匣子。} \标签{图:bb} \end{wrapfigure} \lipsum[2] \结束{文档}
全宽数字
这个比较简单。使用 changepage 包,
\documentclass{文章} \usepackage{changepage,lipsum,calc} \newenvironment{宽}{% \strictpagecheck % 以防万一 \begin{adjustwidth*}{0pt}{-\marginparsep-\marginparwidth} }{% \end{调整宽度*} } \开始{文档} \lipsum \开始{宽} \lipsum \end{宽} \结束{文档}
当然,如果您愿意,您也可以使用命令而不是环境。
虽然上面的代码相当小(在方案中),但 floatrow 包提供了围绕这些元素(以及更多)的接口。
更新:我个人不使用 floatrow,所以我不知道它是否有自己的方法来做这样的事情,但这里有一个在宽图形下方放置边距标题的示例:
\制作字母 \newcommand\margincaption[1]{% \par \setbox\@tempboxa=\hbox{\parbox{\marginparwidth}{\caption{#1}}} \@tempdima=\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax \par\null\hfill\usebox\@tempboxa\par \vspace*{\dimexpr-\@tempdima-\baselineskip\relax} } \makeatother ... \lipsum[1] \begin{图}[tp] \开始{宽} \规则{15厘米}{1em} \margincaption{一条黑色的长线,包含大量解释,因此占据了一些空间。} \end{宽} \结束{图} \lipsum[2] \结束{文档}