TeXShop の engines フォルダを見たら,pythontex というのがあった。
ちょっと,調べてみる。
なんとなれば,Psweave は 入力に対する出力はまとめられてしまうからなあ。
そのほかの不都合は前述の通り。
TeXShop の engines フォルダを見たら,pythontex というのがあった。
ちょっと,調べてみる。
なんとなれば,Psweave は 入力に対する出力はまとめられてしまうからなあ。
そのほかの不都合は前述の通り。
Sweave engine の最初の部分だけを以下のように変更して使う。
mp = function(file, makeindex=FALSE, silent=FALSE, deletePdfs=FALSE, deleteWorkfiles=FALSE, ...) {
Sys.setlocale("LC_ALL", "ja_JP.UTF-8")
if (grepl("\\.", file) == FALSE) {
file = paste(file, "Rnw", sep=".")
}
cat("Input file:", file, "\n")
cmd = sprintf("pweave -f tex %s", file)
system(cmd)
base = sub(".Rnw", "", file)
:
R のための Sweave と同じような感じで,python のための Pweave(http://mpastell.com/pweave/) を使ってみる。
以下で,全角の <,> は,実際は半角で
TeXShop を使って,*.Pnw --> *.tex ---> *.pdf の操作を行うにあたって,大問題がある。
それは,TeXShop は .Pnw などという拡張子を認識しないということである(.Rnw は認識するのに)。
仕方ないから,.Rnw を流用することにするが,何とかならないか?
● チャンクの記述法
もう一つの問題点。
コマンドラインでは ```pythpn 〜 ``` が有効で,<<>>= 〜 @ はだめ。
TeXShop では全く逆。```pythpn 〜 ``` がだめで,<<>>= 〜 @ が有効。
次の 3 つの例は,だめ。
(1)
```python
a = 12
b = 34
print(a+b)
```
(2)
オプションを定義することもできる
```python, echo=False
a = 12
b = 34
print(a+b)
```
図を挿入する方法
```python
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi)
plt.plot(x, np.sin(x))
```
\bigskip
次の 2 つの例は有効。
<<fig = True, width = '12 cm', echo = True>>=
from pylab import *
plot(arange(10))
show()
@
<<>>=
x = 2
y = 4
print(x-y)
@
● インラインコード
コードをその場で評価する sqrt(8)= <% np.sqrt(8) %>
8 の平方根を,この後へ挿入 sqrt(8)=2.8284271247461903
式を評価した結果を出力する sqrt(8)=<%= np.sqrt(8) %>
8 の平方根を,この後へ挿入 sqrt(8)=2.8284271247461903
違いはないようにみえるのだが?