2023年3月9日木曜日

drposter

午前
・データ整理

午後
・ポスター作成

久しぶりのRどハマり、、、久しぶりでもないか。

今月末に使うポスターを作成するのに、一昨年の日本土壌動物学会で利用したdrposterを用いることにした。

コマンドの良いところで、コピペですぐ終わるはずだったのが、どハマりした。

一昨年、作成したポスターはこんな感じ。
同じコマンドをKnitすると、こんな感じになってしまう。この前にファイルの準備が不足して、色々とエラーも出ていた。
様式がおかしいのでcssがうまく機能していないみたいだな、とこの時考えたのだが、一昨年は実行できたので、その点について詳しく確認をせずにネットに頼ったのが良くなかった。

結局、解決方法がわからず、他のパッケージを試したりと時間を費やした。しかし、他パッケージはポスターの版組に自由度が少なかったりと良いものが見つからない。

で、やっぱりcssでは?と疑い始める。一昨年のRmdファイルをみると、
output:
  drposter::drposter_poster:
    self_contained: false
    css: custom.css
 
となっており、custom.css、が使われていることが分かる。

で、custom.cssを確認すると、こんな感じ。今思えば何も指定されていないのだが、この時は「以前はこれで実行できたし、、、」と思ってしまった。
しばらくウダウダしたのち、「dropster_files」というフォルダの中に、たくさんcssがあることに気付いた。
これがうまく指定できていないんだな、と分かったが、ここでも「以前はこれで実行できたし、、、」と思ってしまった。

さらに、ウダウダしたのち、ここにあるcssを全部読み込ませることを考えた。custom.cssに以下を記入。
@import url("drposter_files/drposter.css");
@import url("drposter_files/examples.css");
@import url("drposter_files/fonts.css");
@import url("drposter_files/grid.css");
@import url("drposter_files/header.css");
@import url("drposter_files/load_fonts.css");
@import url("drposter_files/page.css");
@import url("drposter_files/sections.css");
@import url("drposter_files/short_tags.css");
@import url("drposter_files/theme.css");
そうしたら無事に動いた!
PCを変更した影響なのか、一昨年は何か別に設定をしていたのか、なぜ、このような状態になったのかは良く分からないが、深刻な状況ではなくて良かった。

drposter.cssに他のcssが引用されているので、上記のようにcustom.cssは全てを引用する必要はなく、drposter.cssだけを@importすれば良いと思う。もしくは、Rmdファイルでdrposter.cssを指定すれば良いのかも。