算額あれこれ

算額問題をコンピュータで解きます

Pweave と Sweave

TeXShop で,Pweave.engine と Sweave.engine を使い分けていたけど,やはり面倒

自動的にいずれか適切な方を起動するというようにしたほうが何かと便利

Pnw という拡張子を認識しないと愚痴ったけど,むしろそれでよかった

Sweave.engine の最初の方にちょっと書き足した

*.Rnw の先頭行が "%Pweave.Pnw であれば,pweave する。

ms = 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")
  con = file(file, open="r", encoding="utf-8")
  a = readLines(con, 1)
  close(con)
  if (a == "%Pweave.Pnw") {
    system(sprintf("pweave -f tex %s", file))
  } else {
      Sweave(file, encoding="utf-8")
  }
  base = sub(".(R|S)nw", "", file)