niszetの日記

アナログCMOS系雑用エンジニアが頑張る備忘録系日記

(Pandoc) pandoc.mediabagのdelete, empty, itemsは2.7.4から(?)

マニュアルが先行しすぎているシリーズ。 最新のソースをビルドすれば使用可能であるが、Pandoc 2.7.3の公式バイナリではLuaフィルタ内で使用するpandoc.mediabagモジュール内のdelete, empty, itemsの各関数は使用できませんでした。使い方自体はマニュアル…

(Pandoc) -sをつけると-t nativeでもMeta情報が出力される

基本かもしれないが…。 このIssueを見ていて気付いた。 github.com これでMeta関係の調査がはかどります(大体終わってしまったけど)

(Pandoc) MetaStringは使用しないかも(メモ)

メタ情報関係を調べている…。 MetaStringはLua filterのマニュアルに載っているが、どうやればこれを生成できるのかが不明である(他のMeta***は生成できた) pandoc.org Issueを漁ってみると、 github.com が見つかった。過去にはMetaString型で保持してい…

(Pandoc) Hierarchical Elementは直接観測できなさそう(メモ)

イマイチ使い方がわからなかったので放置していたが… この辺りの話。 pandoc.org pandoc.Secでアクセスしようとするとnilで怒られるので、うーん、困ったな、と。 Issueはこの辺りが関係してそうだったが、読んでも良くわからず。native形式で吐いてもSecと…

(Pandoc) east_asian_line_breaksの実装を読む

Haskell自体を理解していく…。 当たり前かもですが、Pandocの各オプションに対して対応する関数が存在します。そのため、各オプションに対応する関数を少しずつ読むことでHaskellとかPandocの理解が深まるのでは?ということでやっていく。今回はeast_asian_…

プログラミングHaskellをひととおり読んだ

まぁ、最後の方はちゃんと読めていないんですが…。 ひとまず一区切りとして。10年ほど前の本ですが、Haskellの基礎の部分を学ぶのにとても良かったです。内容が濃いけどページ数はそこまで多くないので、気持ちが折れる前になんとか最後まで行った感じ。 www…

(Pandoc) pandoc.utils.normalize_date あるいはparseTimeMの話

Luaモジュールと見せかけてほとんどHaskell pandoc.utils.normalize_dateという関数がある。これは日付っぽい文字列を受け取って、日付の形に返してくれる。 こいつの仕様がよくわからなかったので調べた。関数自体はLua filterのページのここに書いてある。…

(Pandoc) pandoc.types は Pandoc2.7.4から

マニュアルの方が先行している PandocのLua filterのページにはpandoc.typesモジュールを使ってPandocのVersionオブジェクト ^[厳密にはオブジェクトではないかも] を扱えるといった記述がありますが、実際はバイナリで配布されているPandoc2.7.3ではこれは…

(Pandoc) 手元でビルドしたPandocがある場合はRStudio IDEはそちらを見に行く(っぽい)

さっき気づいた Windows上でPandocをソースからビルドすることが出来ますが、そのインストール先は下記になります。 C:\Users\niszet\AppData\Roaming\local\bin RStudioから呼び出すPandocのパスはrmarkdownパッケージの関数を使用して確認できます。通常は…

(Pandoc) 句読点を修正するためのLua filter

とてもシンプル 文中のCodeやCodeBlockは対象外にすると決めてしまえば、以下のシンプルなコードで対応できます。 function Str(e) text = e.text text = string.gsub(text, '.', '。') text = string.gsub(text, ',', '、') return(pandoc.Str(text)) end…

docxのstyle id とstyle nameの問題

ようやく問題が何かがわかってきました… 半年くらい前からK4氏が見つけたこのIssueが解決しておらず、 github.com 春の技術書典で話聞いたときはふ~んって思ってましたが、掘り下げてみるとこれは結構厄介な問題でした。ので、とりあえず議論に参加してみた…

pandoc-discussでPandocのLua filterの質問に回答した

Pandocにも質問用のメーリングリストがある ここね。 groups.google.com PandocのGitHubのIssueはBug reportやFeature requestをする場であって、個別の、書き方がわからない系の質問をする場所ではないので、困ったら↑のメーリングリストに書いてみましょう…

PandocのIssueとPR投げてマージされたはなし

記念?に…。 大した話ではないのですが、先日PandocにPull Request送って無事にマージされたので記念の日記。 PRはこれ。 github.com PandocはLuaのフィルタが使えますが、このLuaまわりはほとんど一人でメンテしているようで(大体の機能が実はそうなのかも…

(メモ)最近のHaskellを学びたい…

自分用の後で読む系のメモです。 Twitter徘徊してて、すごいHな本を読む際に、あれは良本だけどそのあとアップデートしないといけない知識があるということがわかったので、あとで読むためのメモ。7末に入門Haskellプログラミングって本が出るらしいのでそれ…

PandocのLuaフィルタ内で使用可能なLuaのライブラリとか(メモ)

自分向けメモ ひとまず適当なLuaフィルタを書く。下記みたいに。1回回ればよいのでDocでいいんじゃないかな。 function Doc(e) for k,v in pairs(pandoc.pandoc) do print(k) end end これを任意のファイルを入力に、出力を任意の形式にして--lua-filterで先…

Pandocを手元でビルドする(メモ)

速攻で忘れていくのでメモ。 さて、Windows環境でもPandocは問題なくビルドできます。自分だけのPandocを作って快適なPandocライフを!とかできるわけです(ちゃんとIssueとPRを出せ) 取り急ぎメモ。 下記Haskell Platformをダウンロードしてインストールす…

Pandoc 2.7.3がリリースされました

待ってたよ リリースのページで更新内容が見れます。 pandoc.org 無限に対応するフォーマットが増えていくPandocですが、今回はjiraが対応したようです。 # 抜粋 Add jira (Atlassian’s Jira wiki markup) as output format 下記の修正は影響がありそうです…

読書感想文(技術書典6)

とりあえずここに。 技術書典6で入手した技術同人誌の感想をTwitterでつぶやいたものをこちらに転載します。 展示会でホンモノを見るのは趣味の活動にも刺激になるよね 読了。中・台・韓で行われた機械やロボットの展示会の紹介。写真がフルカラーなので見て…

読書感想文(銭けっと編)

もちろん、技術書典が初出のモノもありますが…。 あくまで私が銭けっとではじめて遭遇したということでこの括りです。 冬コミと技術書典6の本は全然読めていませんねぇ…。 1~ FXで1000万溶かしてからの反撃 読了。タイトルからして強い本だったので思わず。…

銭けっと(埼玉銭けっと)に行ってきました。

体感満足度は非常に高かった。 そんなわけで、昨日5/3は埼玉県川口市で行われた、実用書のみを扱った「同人即売会」の銭けっと(埼玉銭けっと)に行ってきたのです。 公式のHPはこちら。 zeniket.jimdofree.com ジャンル的には「商業・学術・技術・紀行」と…

無職()になりました

節目なので そんなわけで明けましておめでとうございます。 令和の時代も色々とやっていきたいですね。 さて、私事ではございますが、去る4月30日をもって、11年ほど勤めた職場を去り、無職()になりました。 そもそも私は何屋なのか…。 このブログではRかP…

highlightはAST化したあとに処理されている…?

filterでASTを変えてしまうと反応しなくなる… 本当はWriterとか見ないといけないんですが、たとえば "C:/Program Files/RStudio/bin/pandoc/pandoc" code2.md -t native -f markdown --highlight-style tango と "C:/Program Files/RStudio/bin/pandoc/pando…

PandocでDivにCustom Styleをあてたときのnative形式の出力

とりあえず困ったらnative形式で見てみるべし。 さて、最近Luaフィルタをいじっていますが、やりたいことは特定条件下でいい感じのスタイルを適当に当ててくれるフィルタを作ることです。具体的にはCodeがfootnoteやHeadingsに入った場合に専用のスタイルを…

indented codeに行番号をつける

偶然見つけたので書いておく。 atusyさんのこの記事に関連して。 blog.atusy.net Rのchunk内ではattributesを渡せない…? 前回書いた内容はMarkdownのfenced codeなどのcode系の記法が行番号を扱えるかどうか?の確認であって、Rのコードブロックで取り扱え…

JavaScriptを使ってR Markdownで生成したHTMLドキュメントに行番号をつける例

R

learnrパッケージにあった。 見つけたのでとりあえずのメモ。 lernrパッケージのページでは行番号がついていてこれどうやってるんだろうと思ったら、jsのloadSnippetって関数を使っている。https://t.co/7f0AZrW7oCこれはパッケージに同梱されているので、こ…

pandoc.Attrを使う際の注意

注意というか…仕様がわからない…。 結局、SOを見て解決した。 stackoverflow.com ここにあるように、 attrs = pandoc.Attr("", {}, {{"lang", "es-SP"}}) と、3番目の引数は{{}}として囲わないとダメだった。理由はよくわかっていないが、動いたので正しい。…

(Pandoc) inline_code_attributes option

またPandocの話。 すっかり忘れていたが、inlineのcode chunkであってもattributesを付与できる。 `plot()`{.r #hogge} こんな感じに。Verbatim(Pandoc native的にはCode)扱いなのであるが、.rのように言語指定しておけば、highlight: tangoなどでハイライ…

Pandoc 2.7.2 に同梱されているLuaのバージョンの確認

簡単に書けるものなら色々作れそう。 さて、PandocのLuaフィルタについて少しずつ調べているのですが、簡単なものであればもう書けそうなので順次書いていく。 たとえば以下のような関数を作ってLuaフィルタとして使用する。 function Str(elem) if elem.tex…

PandocのLuaフィルターを書いてみる

Luaの文法がまだ覚えきれていないのでまずはそっちを固めるべき ひとまず、公式のマニュアルを読んだ。 pandoc.org 例はココにあるらしいが、まだ読んでいない。 github.com また、通常のフィルターも少しだけ目を通したが、フィルタの実行環境を持っていな…

「Rmarkdown でチャンクとその出力に行番号を付ける」をもうちょっと見てみる

自分でも理解するために。 さて、RMarkdownでコードを埋め込んだ際、行番号をいれたいという要求がありますね。Atusyさんの下記のブログのようにするとHTMLとPDF形式は対応できるようです。良かったよかった。 blog.atusy.net 補足をする。 先のページではhi…