【问题标题】:How to left align figure?如何左对齐图形?
【发布时间】:2012-11-14 15:32:52
【问题描述】:

对于跟随块,左对齐不起作用。生成的地图与没有fig.align='left'的左边框相同@

\documentclass[a4paper, oneside, british]{book}
\begin{document}
<<chunk.maps, fig.height=12, fig.width=21, out.width="6in", fig.align='left'>>=
library(knitr)
library(maptools)
data(wrld_simpl)
plot(wrld_simpl)
box()
@
\end{document}

如果能提供任何帮助,我将不胜感激!

谢谢, 格瑞特

【问题讨论】:

  • 如果您将图形宽度缩小很多,然后尝试将fig.align 设置为居中或向右,您会发现它是左对齐图形。只是图形本身有一个外边距(那只是所有的空白)。我认为设置 xpd 可能会解决它,但它似乎没有。
  • 设置左图设备边距(例如,使用par(mai = ...) 将其向左移动一点,但可能没有你想要的那么多。
  • 不幸的是,这似乎根本没有移动我的地图。但是感谢您花时间来完成它!

标签: r knitr


【解决方案1】:

不是因为fig.align="left"不起作用;正如@joran 在 cmets 中所说,如果您将情节缩小,它确实有效。造成神器的问题有两个:

  1. par(mar)默认左边不为0;见?par;设置par(mar = c(0, 0, 0, 0)) 解决了这个问题
  2. 情节被写入一个段落,在 LaTeX 中默认有一定的缩进量 (\parindent)

要使情节触及左边距,试试这个:

\documentclass{book}
\setlength{\parindent}{0pt}
\begin{document}
<<chunk.maps, fig.height=12, fig.width=21, out.width="6in", fig.align='left'>>=
library(maptools)
data(wrld_simpl)
par(mar = c(0, 0, 0, 0))
plot(wrld_simpl)
box()
@
\end{document}

如果你对将\parindent设置为0感到不舒服,你可以在chunk之后恢复它。

【讨论】:

  • 谢谢!这行得通。我只需要设置par(mar=c(0, 0, 1.5, 0)) 来显示我的标题,现在它看起来很好。我还在块周围放置了\begingroup 和\endgroup - 只是为了确保不要弄乱文档的其余部分。
猜你喜欢
  • 2012-10-28
  • 1970-01-01
  • 1970-01-01
  • 2018-07-18
  • 1970-01-01
  • 2019-03-09
  • 2019-05-31
相关资源
最近更新 更多