6

中央の数字にスイーブする 1 つの方法は、次のようなものを含めることです。

\begin{figure}
\begin{center}
[sweave chunk]
\end{center}
\end{figure}

ただし、視覚化を生成するためにコードを表示する場合、コードは中央に表示されます。図が中央に配置されていることを確認しながら、コードを左揃えで表示するための巧妙な方法を知っている人はいますか? Figure のサイズを 3x3 に設定すると、これは問題になります。

<<myplot, fig=TRUE, width=3, height=3>>=
    plot(rnorm(20), rnorm(20))        
@

私が取り組んでいるプロジェクトでは、これを 100 回以上行う必要があり、プロットとコード用に個別のチャンクを作成したくありません。

4

1 に答える 1

6

正確にはあなたが求めているものではないかもしれませんが、テキストにコードが必要なため、図の領域の外側に画像を作成するために使用するコードを保持するのが好きです。

Blablabla if we run:
R CODE
We get the figure in Figure 1

これを行うinclude=falseには、Sweave引数を使用し、Sweaveで画像を作成するとpdfが呼び出されるという事実を使用しますDOCUMENTNAME-PICTURENAME.pdf。たとえば、ドキュメント内foo.Rnw

Blablabla if we run:
<<myplot,fig=true,include=false>>=
plot(1)
@
We get the plot in Figure \ref{myplot}

\begin{figure}
\begin{center}
\includegraphics{foo-myplot}
\end{center}
\label{myplot}
\caption{This is my plot!}
\end{figure}

これにより、LaTeXがコードを配置する場所(必要に応じて)で、実行中のテキストと図でコードを左揃えにする必要があります。


編集:

ただし、例を実行すると、通常のテキストと同じマージンで左寄せのコードが表示されます。

\documentclass{article}
\usepackage{Sweave}
\begin{document}
\begin{figure}
\centering
<<myplot, fig=TRUE, width=3, height=3>>=
    plot(rnorm(20), rnorm(20))        
@
\end{figure}
\end{document}
于 2011-06-18T22:02:06.480 に答える