niszetの日記

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

Japan.R 2019に参加できなかったので配信を聞いていたがとても良かった。

来年以降も是非配信してほしいです。

というわけで、本当は今日 Japan.Rに参加するつもりでしたが仕事の雲行きが怪しく、昨日のうちにキャンセルして今日は仕事していました。結果として今日は出社しなくても良かったねって感じでしたが、Japan.RはYouTubeで配信があったのでそれを聞いて過ごせたので全然オッケーでした。

音質、画質共にヨシ!

ちゃんと追えていませんが、Slackの感じから今年は機材を使ったのかな?聞き取りやすく、画面も途中でピントあわないトラブルがあったものの、ちゃんと見れており、結果としてその場にいないのにも関わらず十分に堪能できた気がします。ありがたいことです。

私みたいに突如参加できない人、というより、地方でなかなか東京のイベントに参加できないという人には配信があるのはうれしいことだろうなと思います。実際問題としては機材の問題、参加費を取っているならそれとのバランス、などなど考えることはあると思うのですが、良い面はやはりあるので、やってもらえるの本当にありがたいな、という気持ちでした。

来年はTokyoRも10周年ということで、その回は様子見して、それ以降で何か、Pandocネタで参加できればな…と思っています。

資料はまた追々見ていこうと思います(仕事していたのであまりスライドは見れていないので)

音から楽器の分類みたいなのが気になったのでちょっとやってみたい気持ちです。

という、感想の日記でした。

(Pandoc) Wordのカスタムプロパティを使う

Pandoc Advent Calendar 2019

この記事は Pandoc Advent Calendar 2019 7日目の記事です。

なお、Pandoc Advent Calendar 2019 のリンクはこちらです。

adventar.org

まだまだ空きがありますので、皆様、是非ご参加ください1

YAMLで定義した項目がWordのカスタムプロパティに追加される機能は今年、2019年に入ってからの機能追加です。

まだまだ知られていないかもしれないので、良い機会なので簡単にまとめておきます。

さて、本題。

Pandoc でWord形式のファイル(以下、docxと書きます)を出力する際 、YAMLで書いたメタデータのトップレベルに書いたもので、かつ docx の(Office Open XMLで定義されている)メタデータでないものはカスタムプロパティとして追加されます。これは、PowerPointやODT形式でも同様ですが、対応する項目名が異なります。詳しくはこの記事下部からのリンク先で確認してください。

docx の場合、メタデータとなる情報はtitle, author, keywords, subject, category, description です 2abstract, lang もそうだと書かれていますが、abstractはユーザー設定の方にのみ現れ、lang はプロパティに現れない代わりに文書の言語設定が変更されます。たとえば lang: ja-JP を設定すると、英文であっても日本語としてみなされ、フォントも日本語のものが適用されます。

これ以外の項目はカスタムプロパティとなります。

さて、実際に試してみましょう。

今回の記事の作成時にはR MarkdownからWord文書を作成していますが、Markdownからでも同じ結果を得られます。ただし、tocは別途与える必要があるので、以下のように追加で与えてください。

pandoc" -f markdown -t docx rep.md -o rep.docx --toc

YAML部分に下記のように書いてみます。このうち、author, keywords は複数項目が指定可能です。

---
title: タイトル
author: 
  - 著者1
  - 著者2
date: "2019/12/07"
keywords: 
  - きー
  - わーど
subject: さぶじぇくと
#lang: ja-JP # コメントアウトを外すと日本語に設定されたドキュメントになりますが、調査不足により保留。
category: カテゴリ
description: せつめい
abstract: あぶすと
output: # 以下は R Markdown用の記述
  word_document:
    toc: true
    keep_md: true
---

まず、現在の Pandoc のデフォルトの挙動として、title, author, date, abstract は表紙に表示されます。それぞれ、表題, Author, 日付, Abstract のスタイルが適用されます。

f:id:niszet:20191207192815p:plain

今回は toc を有効にしているため、目次が表示されています。

Wordのツールバーの「ファイル」を押し、「情報」のページに出てくる、「プロパティ」をクリックすると「詳細プロパティ」なるボタン?が表示されますのでそれをクリックしてください。そうすると、このように先のYAMLで指定した値が入っていることが確認できるはずです。

f:id:niszet:20191207192956p:plain

カスタムプロパティはこの右にある「ユーザー設定」のタブで確認できます。

f:id:niszet:20191207193106p:plain

ここではR Markdownから作成したので output もプロパティとして入っていますね。

これらの情報は、エクスプローラー上でWordファイルを右クリックして表示するプロパティからも確認できてしまいます。便利ですが、不用意に情報を入れておくと問題になるかもしれないので、注意してください。私の知る限りではこれらをプロパティに登録しないようにする方法はないと思います。

これらのプロパティはユーザ定義のものも含めて、フィールドコードのDocPropertyを使って参照できます。 Wordのテンプレート(reference-docに指定するファイル)にあらかじめ仕込んでおいたり、Pandocのrawの記法を使って埋め込むことも可能です。たとえば以下のようにして日付、dateを埋め込むことが可能です。ダミーの文字列xxxxは実際には表示されませんが、正しそうな値を入れるか取っておいた方が良いかもです。これも要検証で、使用の際には自己責任でお願いします。

<w:p>
  <w:r>
    <w:fldChar w:fldCharType="begin"/>
  </w:r>
  <w:r>
    <w:instrText>DOCPROPERTY  date  \* MERGEFORMAT</w:instrText>
  </w:r>
  <w:r>
    <w:fldChar w:fldCharType="separate"/>
  </w:r>
  <w:r>
    <w:t>xxxx</w:t>
  </w:r>
  <w:r>
    <w:fldChar w:fldCharType="end"/>
  </w:r>
</w:p>

ドキュメントのプロパティを埋め込むことで、生成時以降に更新された場合でもその更新された値に追従できるというメリットがあります。デメリットにもなりますが…。

なお、関連するIssueはこちら、

github.com

関連するCommitはこちら

github.com

です。

なお、この記事の情報、各フォーマットで対応しているプロパティの表は

github.com

にもあります。


  1. 年明けてからでもよければ、空きの日に埋めていきますが…。

  2. リンク先ではこれについて言及されていないのですが、実際にファイルの概要にいるので、Wordの既定のプロパティであると判断しています。他の項目とあわせて要確認です。調査が間に合わなかったのです…。

ヤクルト1000が美味しい

しかしとても高い…。

最近、駅のホームに置いてある自販機にヤクルト1000を見かけることが多くなりました(駅による。あるところにはあるけどないところにはない)

もともと、ヤクルトとミルミルを常飲していたのですが、最近(普通の)ヤクルトを1000に変えました。 調子は良い気がしますが…比べようがないので何がどう良いのかとかは難しいですね。とりあえず、美味しい。美味しいと続けやすい、かな。私の場合は特にミルミル飲まないとお腹が不調になるので、続けていきたい所存…。

しかし、値段がなぁ…。2日に1個くらいのペースの方が良いのかしらん…?

Pandoc 2.8が正式リリースされましたよ

と言うだけの記事。

pandoc-discussに参加したり、Pandocを監視…じゃない、watchしているとリリースの通知をいち早く知ることが出来ます。だからどうしたって話ですが。

通知内容はここを見ましょう。なんと私の名前(niszet)が載ってるじゃないですか。めでたい🎉

github.com

PR書いてみなよって言ってくれたtarlebさんに感謝です。今後もコントリビュート出来るように頑張っていきたい。そのために時間を作りたい…。

2.8でかなり更新が入ったので解説していきたいのですが、なかなか時間がね…。アドカレの前にリリースされてしまったので、アドカレでいくつか紹介出来るように頑張りたい所存…。

ということで。

(Pandoc) GitHub Actionsが便利そう

Pandoc2.8を使ってみようという気持ちを高めていく

現在、Pandoc2.8のIssueが片付き、それに伴いalpha版が公開されていますが、Pandoc 2.8からCI/CDにGitHub Actionsが使われるようになったようです。

現在登録されているのはCI tests, Nightly, Release candidateで、Release candidateからダウンロードすると良いでしょう。CI testsはたまにfailしているのがあってちょっと面白い(?)

https://github.com/jgm/pandoc/actions

GitHub Actionsはlinux, windows(32bit, 64bit), macosのそれぞれの環境のファイルが入手できます。Windows版のインストーラ込みでリリースされるのは良いですね。便利そう。

PandocはPublicリポジトリなので、無料で使えているはずなので、今後のリリースがかなり楽になったんだろうなって思います。

ペーパードライバー講習を受けている話

1X 年ぶりの運転です

そんなわけで諸般の事情があって車の運転を再開する必要となった。

車の運転なんて免許を取ってすぐにちょろっと動かした程度で、もうほんと1X年公道を走ってない…どころの話ではない。運転席に座ったことすらこの間ないわけで、これは流石に…ということでペーパードライバー講習を受けようと思い立った。

幸いにして教習所は自宅から通える(歩きで)範囲だったので、一応ネットでの評判とかもみつつ入学、おおむね順調に講習を続けているところである。

とりあえず隣にブレーキ踏んでくれる人がいる場合は公道でも大丈夫そうにはなった。先生曰く、となりで色々注意してみてくれる人がいれば練習しても良いと思うよとのことだったが、あいにくそんな人が身近にいないので、講習をもうちょっと続けていく必要がありますね…というところが現状。

しかーし、オートマ車って運転楽でいいですね…。なんでマニュアルでとったのやら。1X年前はそれでもまだマニュアルはあったんですが、今は殆ど見ない気が。観測範囲の問題かもしれませんが。

ちなみに講習は所内をぐるぐる回るのが初回、その次の時間には公道走ったので、まぁそこまで悪い運転ではない…のではないか…? ぼーっとすると注視してしまう癖があるので、根本的に車の運転に向いていない(疲れる)と思うのですが… まぁまぁ、やるべきことをやっていきましょう…

GitHubスポンサーの機能を使ってみた

とりあえず入金はされている模様。

ここを見ると私のアイコンがある。ということで、Pandocの開発の合間にコーヒー飲んでほしいので最近できたスポンサー機能を使ってみたのでした。

github.com

っていうだけの記事w

自分の好きなOSSの作者に直接課金できる仕組み、いいですねぇ…