niszetの日記

細かい情報を載せていくブログ

作業メモ(1/8)

昔のコードは流用できないかもしれないな・・・

久々にSpresenseを使ってみるか・・・と引っ張り出してきて、昔のgnssのサンプルコードを動かそうと思ったら動かず。新しいサンプルコードを動かしたらファームウェアだかブートローダが古いので更新するべしと出たので対応しようとしたが詰まったのでmemoを残す。大した話ではなく、Arduino IDEのToolsから、Burn Bootloaderを押せばいいのだが、その前にひとつ上のProgrammer: "Spresense Firmware Updater" の Spresense Firmware Updaterにチェックを入れておくのであった。下記のように。

これをしないとNull Pointer Exceptionが出る。

なお、これをして更新をかけても書き込みエラーになることがある。なんどかUSBをさしなおして書き込みを試みたら通った(2回目くらいで出来た)

更新後、サンプルのgnssを実行してエラーが出ないことを確認。とりあえず良さそう。

Pandoc作業(1/8)

odtのフィールドは自由に編集出来なさそう

LOWにはフィールドの編集がGUI上で用意されているものの、編集できるモノはodtで定義されているものでLOWで対応しているものだけのように見える。つまり、Zoteroプラグインで追加したフィールドはそれと認識できていてもLOW上では修正できないことになる。実際、文中のciteはフィールドに認識されているが、末の方は認識されていない。

なので、Zoteroプラグインがjarで書かれているのもそのせいかもしれない。ということで、こちらはあまり修正シロがなさそう。xmlの規格をかっちり決めるというのも善し悪しだなという気はする。まぁzoteroのアドインが対応しているので良いのではというとそれはそうかもだが。

結果として、odtの場合はZoteroプラグインで追加した項目と、luaで追加されたものとの差分をみて考えることが難しい。とりあえず動いているしこっちは追わないことにする。

一方、docxの場合はフィールドコードが見えるので、これを埋め込むようにすれば出来るはず。

Pandoc作業(1/7)

ほぼZotero作業では?

色々と勘違いしていたようで、ちょっとまとめる。

ZoteroのBBT、zotero.luaを使う場合はZotero本体から文献情報を持ってくる。そのため、YAMLにあるbibliographyは無視される。Pandoc単体の場合は必須なので注意。Zoteroスタンドアロンを使ってる場合しかわからないが、Zoteroを起動した状態でないとzotero.luaは文献情報を拾ってこれないので注意。

YAMLzotero:libraryの指定だが、My Libraryから変更していない場合は特に何もしなくてよい。このライブラリ名を他の名前にしているか、このライブラリと並列にライブラリがありそちらを参照する場合は指定する必要がある。このライブラリの下に作ったものを指定する必要はなかった。

zotero.luaが正常に文献情報を拾ってこれているかは実行時のログを見て確認する。拾ってこれなければエラー出ているので。

また、正常に実行出来た場合、docxでもodtでも出力したドキュメント内ではDo Zotero Refreshの表示となっており、それぞれのプラグインからrefreshを行う必要がある。このとき、apaのスタイルがただしくあたってない状態になっているようなので、odtでは明示的にメッセージが出る。docxの場合も指定を促される。正常にrefreshしたらそれぞれの文献での表示形式に更新される。ACMの場合は肩の上に1とかの形式。それぞれの表示形式はcslを指定するとかそういうので制御出来るはず。まだ完全には見れていないが、Pandocの仕様で--cslは見ているのでこの当たりは問題ないだろう。

残件

ということで、デフォ実行時のスタイルが行方不明(apa7を指定しているが、名前はapaである)ことと、それぞれのドキュメントの自動更新が必要になるが、それに加えてdocx形式ではrefsに文献リストを吐いてくれないというのがあった。odtは出来る。これはzoteroアドインで手で入れた時のフィールドコードを見て、それをzotero.luaに取り込めば良いと思われる。あとはやってみて考える。

www.docswell.com

ドキュメントの自動更新についてはPowerShellでやろうかと思っている。win以外の環境でMS Wordつかってても検証できないが。

追記

スタイル見つからない問題は、YAMLで下記のように書けば良い。

zotero:
  csl-style: apa

そして、これはzotero.luaがデフォルトで指定しているcslのせいなのでこれをapaに修正すればよい。これはissueたてて連絡しておくことにする。明日への宿題ね。

github.com

とりあえず一個片付いた。

追記2

次はodtの方に手動でzoteroのbibを入れて、unzipしてzotero.luaで埋め込んでいるコードとの一致を確認する。

そのあと、docxの方に手動で入れてunzipして確認。odtのそれと同等になるようにコードを書き換える。

APEXはじめました

報告だけだけども。

ということで、ようやく重い腰をあげてAPEXをはじめました。レベルも7まで上がり、与ダメも出来て良い感じのスタートが切れましたね。チーム戦やるなら知ってる人と話しながらじゃないと難しいなと思いましたが、しばらくは適当に野良でやってレベルあげと勘所を押さえていこうと思います。また覚えることが・・・

とりあえず、ブラッドハウンドってキャラを使っていこうと思います。強いらしいし初心者にも使える良い性能らしいので(よくわかってないけど)

スプラと比較すると、スプラは特に3は対面強制で、短時間にすごいキルデスするので、それに比べるとapexは戦闘経験がなかなか積めないなという印象ですね。多分全然違う方向性だと思うけども。当面はAPEXとスプラ両方趣味レベルでやっていくことになるのか、それとも・・・?です。

という、ご報告日記でした。

スプラ、フェスでちょっとやってるけどインク色が相変わらず目にしんどくてつらいです。どうにかならないのかなぁ

Pandoc作業(1/6)

Zoteroまわり。つづき

LOWにZoteroプラグインが自動では入らなかった。一旦LOWを最新のものに差し替えて、JDKをダウンロードしてもZoteroから入れるコトが出来ず、Zoteroインストールディレクトリにあるextensionが入っているディレクトリからodt向けのものを探してLOWのプラグイン追加の機能から入れた。

LOWの場合もWordと同様に、フィールドに値を入れてZoteroの文献を参照する。起動時にapa7が見つからない旨出ていて、別のエラーを誘引している気もする。

手動でLOW上からZoteroの引用機能を使うのは問題なかったが、zotero.luaを使った場合、なぜかLibraryが見つからない旨のエラーが出る。docxの時は出てなかったのに。

bookのkeyではなく、libraryが見つからない、なのでkeyを更新しても無駄。zotero: libraryを指定しない場合で、zotero側で直下にある場合も、フィールド上にはDo Zotero Refreshが出るだけである。ひょっとすると、単にwinのスタンドアロンのはダメなのかもしれない?

zotero.luaの処理をもう少し読まないとダメな感じはある。

追記

LOWでZoteroを手動で使用した場合に出てくるapaがないってのはこれ。

URLを見に行くと(httpsじゃないなこれ)、apa7は今はapaという名前のようである。LOW側なのか、Zotero側なのか、どこに報告したモノかよくわからんがとりあえずメモだけ。あとで気づいたらやる。

www.zotero.org

追記2

Do Zotero Refresh が出ている場合はフィールドの更新ではなくて、Zoteroのアドインの更新(矢印がぐるぐるしているやつ)で更新すると文献情報を拾ってくる。

追記3

プラグインと思われるモノはここのあたりにあった。実体はZotero.jarかも。なので、apaの件は中を見て確認が出来ない(出来るのか?)ので保留。 jdkを入れろと言われるのはこのためか。しかしMS Wordは単にコマンド叩いているだけなので、それに準じてくれれば良さそうなのだが・・・?LOのコミュニティに聞いてみる?

C:\Users\ユーザ名\AppData\Roaming\LibreOffice\4\user\uno_packages\cache\uno_packages\テンポラリな名前\Zotero_OpenOffice_Integration.oxt

とりあえず、現状でLOに文献情報を入れるコトは出来る。ただし、topのライブラリにあるときだけで、ライブラリ名を指定するとうまくいかない。docxではうまくいっていた気がするので、

  1. docxのときどうなのか再確認
  2. LOでなんとかライブラリを指定して出来ないか確認
  3. もういいからluaの方をいじっていく

このあたりで。luaは結局odt向けの記述は沢山あるけど、別にdocxも今のままでいけるんじゃ?みたいな感じならもうそれでよくて、docxを開いて更新をするだけのpower shellでも作ればとりあえず良さそうと思っている。

Pandoc作業(1/5)

記事検索したら引っかかるはずなので、タイトルは適当にすることにした。

今日はBBTのLuaフィルタの改修に向けて、まずodt形式の出力での挙動を見ていた。

retorque.re

rmarkdown::odt_document にはtocがない

Pandocの記述にはodt形式でもtocが指定できるが、rmarkdownではそうなっていない。Issue出しても良いが、このレベルで対応していないということは需要がそもそもなさそう。

odt_document: に子要素がなくてもknitが走る

以前は子要素がない場合、親に相当する箇所に:があるとダメだった気がするが、動いた。

zotero.luaはlibraryの指定が必須か?

直下にない場合は、そのライブラリ名を指定しないとダメっぽい?複数指定できるのか?とか複数箇所に含まれている場合は?とかは未チェック。出力結果は通常のPandocのcitationと変わらなく見えるので、このフィルタを使うのは面倒になる以上にメリットがあるのかちょっとまだわからない。cslも別にPandocで指定できる品・・・

zotero:
  library: jp_books_license

デフォルトのrmdファイルの出力の見え方

odt形式で吐いたものをMS Wordで開くと画像のところで文字が回り込みをしている。LOWで開くとそんなことはない。docx形式の場合はMS Wordで開くと問題なし(LOWでは見てない) 見え方はやはりそれぞれで見ないとダメのようだ。

明日見るもの。

コミックマーケット101にniszet工房として参加します

まだ書き終わってない・・・

ひとまず1冊、入稿したので手ぶらで参加という最悪パターンを回避できそうです。

今回は、2018年の技術書典5に向けて書いたR MarkdownでWord文書を作ろうの増補改訂版である、「R MarkdownでWord文書を作ろう増補改訂 PandocでWord文書を作ろうC101 EAV」を書きました。

これは、4年経過して色々と環境も変わってきたため、改めて内容を整理しなおして書き直したものです。ただし、時間が十分にとれず、一部の章は手を付けられませんでした。そのため、アーリーアクセスバージョンとして公開します。そのため、今回は見本誌含めて10冊のみとなっています。次の版を書きたいですが…おそらく早くて来年の冬以降となる見込みです。書きたいことは沢山あるんですけどね…。

そしてもう一冊、現在も手直し中なのが、「キャラクタ液晶でもアニメーションさせたい~文字スクロール編~」です。これは以前ブログで公開した、キャラクタ液晶で文字をスクロールさせる一連の話を整理してまとめたものです。こちらも少部数だけ刷って持っていく予定です。

いや本当にこれ間に合うのか…。ちょっとお品書き書いている余裕はないのではないかとも思っていますが。

まぁ最後の最後までギリギリで頑張っていきます。

ではでは、当日お会いできることを楽しみにしております~。