2012-05-13 3 views
22

Я уже несколько дней использую knitr, это здорово! :)Выровнять участки рядом друг с другом с ножом

В настоящий момент я пытаюсь выровнять два графика рядом друг с другом в выходном файле (в формате PDF). По моему мнению, это должно быть достигнуто установкой out.width='.4\\linewidth' или что-то подобное в вариантах chunk.

Получившиеся участки довольно маленькие, 2 довольно легко поместились бы рядом друг с другом, но каким-то образом все они были помещены под друг друга.

У меня также возникли проблемы с выравниванием столов-латексов (xtable -output с results='asis' -option) слева от документа. Было бы здорово написать рядом с ним.

+1

Можете ли вы предоставить простой минимальный пример. Rnw-файл, который иллюстрирует его, не работает? – joran

+0

с использованием par (mfrow = c (1, 2)) в блоке кода этого не делает? – Kay

ответ

18

Поскольку вы не предоставили один, я сделаю это для вас:

\documentclass{article} 
\begin{document} 

Side by side images: 

\begin{figure}[htpb] 
<<myChunk, fig.width=3, fig.height=2.5, out.width='.49\\linewidth', fig.show='hold'>>= 
par(mar=c(4,4,.1,.1),cex.lab=.95,cex.axis=.9,mgp=c(2,.7,0),tcl=-.3) 
plot(cars) 
boxplot(cars$dist,xlab='dist') 
@ 
\end{figure} 

Ta da! 

\end{document} 

что приводит к чему-то, что выглядит примерно так для меня, когда я бегу knitr:

enter image description here

Обратите внимание на вождение с настройками par, чтобы убедиться, что все выглядит красиво. Вы будет придется возиться.

Этот минимальный воспроизводимый пример был получен из очень подробного examples на сайте knitr.

Редактировать

Чтобы ответить на ваш второй вопрос, несмотря на то, что это более чистого LaTeX вопрос здесь минимальный пример:

\documentclass{article} 
\usepackage{wrapfig,lipsum} 
%------------------------------------------ 
\begin{document} 
This is where the table goes with text wrapping around it. You may 
embed tabular environment inside wraptable environment and customize as you like. 
%------------------------------------------ 
\begin{wraptable}{l}{5.5cm} 
\caption{A wrapped table going nicely inside the text.}\label{wrap-tab:1} 
<<mychunk,results = asis,echo = FALSE>>= 
library(xtable) 
print(xtable(head(cars)),floating = FALSE) 
@ 
\end{wraptable} 
%------------------------------------------ 
\lipsum[2] 
\par 
Table~\ref{wrap-tab:1} is a wrapped table. 
%------------------------------------------ 
\end{document} 

Еще раз, я просто адаптировал код, который я нашел в this вопрос на удивительно полезный сайт tex.stackexchange.com.

+0

Что произойдет, если у вас есть два сюжета самых разных размеров? Я должен разместить легенду о сюжете рядом с ним и не знаю, как его получить. –

+1

Как бы вы ввели это в стандартный ** кусок RMarkdown **? –

Смежные вопросы