niszetの日記

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

(Pandoc) PowerPointで選択できるレイアウトが7つに増えています。

意図したスライドにするの難しい。

これも最近の機能増強で出来るようになりましたが、Pandocで選べるレイアウトが増えています。

pandoc.org

以下抜粋。

When creating slides, the pptx writer chooses from a number of pre-defined layouts, based on the content of the slide:

Title Slide
This layout is used for the initial slide, which is generated and filled from the metadata fields date, author, and title, if they are present.
Section Header
This layout is used for what pandoc calls “title slides”, i.e. slides which start with a header which is above the slide level in the hierarchy.
Two Content
This layout is used for two-column slides, i.e. slides containing a div with class columns which contains at least two divs with class column.
Comparison
This layout is used instead of “Two Content” for any two-column slides in which at least one column contains text followed by non-text (e.g. an image or a table).
Content with Caption
This layout is used for any non-two-column slides which contain text followed by non-text (e.g. an image or a table).
Blank
This layout is used for any slides which only contain blank content, e.g. a slide containing only speaker notes, or a slide containing only a non-breaking space.
Title and Content
This layout is used for all slides which do not match the criteria for another layout.
These layouts are chosen from the default pptx reference doc included with pandoc, unless an alternative reference doc is specified using --reference-doc.
  • Title Slideは最初のスライドで、メタデータから情報を拾って入れる。
  • Section Header例えば他のスライドがH2で、H1のスライドがあったときにこのスライドになる。
  • Two Content div記法でcolumnを使うと使える。記法としては以下。ただし幅の%は無効(マスタのレイアウトが反映されるため)

pandoc.org

  • Comparison 上記の変形版。textのあとに図や表がある場合に。
  • Content with Caption テキストのあとに図とか表がある形式の場合。この時、textはマスタ側でtextなので、contentで出来ることができない。また、スライドマスタを修正してもこの構成でないと動作しないことを確認したので、テキスト側に装飾を入れたい場合は他のスライド形式を取った方が無難。
  • Blank スライドにスピーカーノートやNBSPなどがあったときにこれになるそうだ。blankスライド入れることはあまりないかもですが。
  • Title and Content 上記以外はこのレイアウトになる。

これらはスライドマスタのスライド名に対応している。一方、内部のコンテンツについては名前ではなくて種類を見ているようである。Haskellのコードをちょっと見たが対応する記述がまだ見つけられていない。

PowerPointの情報はあまり出ていないので少しずつ書いていくかもしれません。

(Pandoc)PowerPoint出力でインクリメンタルリストが実装されていた

ずいぶん前に・・・

別件の調べごとをしていたら見つけました。commit自体は結構前になっていたようです。

github.com

インクリメンタルリストについてはマニュアルの、このあたりになります。

pandoc.org

地味ですが、役に立つ人も居るかも知れないので、一応記事にしておきます。 今までHTMLスライドでしか出来なかったので、ちょっとPowerPointの表現力が上がったかな、と。

(R) RStudio IDEのVisual modeのバグを発見したので報告したよ、という報告。

他にも何かバグぽい動きがあったら教えてください。

先日別の記事にも書きましたが、VEはバグぽい動きがあったりします。これは開発版を使うと直ってそう、ワークアラウンドがあるということでそんなに気にしなくて良いかと思っていましたが、

niszet.hatenablog.com

またひとつ見つけて、これは再現するので報告しました。

github.com

先日のTokyoRでも使ったファイルに含まれているパターンなので、勧めた以上は報告くらいはね・・・。

具体的には、linkつきのimageのあとのHeader(#とか##とか)の属性(idとかclassとか)がVE上でEdit出来ないというものです。 これは日本語関係なく起こり、最小構成でも再現したので、多分すぐ対応して貰える・・・かと思うのですが、おそらくはVEのパーサの問題なので、そこが根深いと時間がかかるかもです。

一応これも対処法があって、VEの上のツールバーのHeaderのレベルを一度変えてあげると、Edit出来るようになります。 もし困ったらこの記事を思い出してください。

ということで。まっとうにOSS活動。

Enjoy!!

ひとりPandoc Nightをやってみた(ツイッターのSpaceで)

ほぼオンライン飲み会みたいなアレ・・・

YouTubeでR4.2のリリースノートを読むみたいな話をみかけて、Pandocでもやってみたいなーと思ってちょっとやろうとしてみた。

YouTubeだと色々準備が大変かもと言うことで、TwitterのSpaceを使ってみたのですが、これは画面が共有できないので、おまえは何を言ってるんだ状態になりやすいので難しいですね。

やっぱりYouTubeでやってみるかなぁ。1hrくらいで適当に、マニュアル読んだりIssue読んだり、discussのメール読んだりしていくだけなら、そんなに大変じゃないと思うので・・・

もうちょっと考えてみよう。とりあえず先行して読めるところは読んでおくか・・・

(R) RStudio IDEのVisual Editorにはバグがあるけど改善しそうだよ、というメモ

書く必要があるのかな・・・

さて、先日のTokyoRでRStudio IDEのVisual Editorの機能を活用して気楽にR Markdownをはじめましょうということで発表してきたんですが、実のところ現行のRStudio IDEのVisual Editorには日本語入力時に入力がおかしくなるなど、ちょっとバグぽい動きがありました。この話をし忘れていたので、補足しておきます。

ボタンが増える

ボタンが増えるって何よって感じですが、PowerPoint出力にしてビルドすると、たまにこのようにVEのツールバー部分が増えます。

f:id:niszet:20220418091905p:plain

このとき、右側というか追加された方のボタンが正しく動くみたいなのですが、ビルドのたびに増えていったりするので、画面外に出てしまって触れなくなります。。。

この場合はRStudio IDEを一旦終了(ちゃんと保存してね)して、その後再起動すると元に戻ったので、この現象が発生したら試してみてください。ひょっとしたらファイルをclose-openするだけでもいいのかもですが。

日本語入力が化ける

これはキャプチャが難しいんですが、例えばこうなる。これは「・例えばこのように長い文章を」まで書いておいた行に、追加で「書いていくとすると」を足そうとしたところです。

f:id:niszet:20220418092702p:plain

結果は色々な形になりますが、意図したところに文字が入らずに、何度も同じコトバが入ったりします。これは昔のSource Editorもそうだったのですが、日本語入力の変換中の文字列を扱おうとしてバグっている感じの挙動ですね。

これが発生するのは、Markdown記法がある行、ということは平文のただの行以外と思います。例えば先の例はリストで、行頭が「*」ではじまります。 なので、対策としては、いったんプレーン(plain)な行にして、それで書いてからリストにするなどすると良いと思います。

開発版を試してみる。

こちらにkazutanさんの記事があります。

qiita.com

この記事の通りなのですが、preview版、デイリービルド版など、RStudio IDEの機能をいち早く知りたい人は使っている最新のRStudio IDEを使う方法があります。

ここで、preview版を見てみると、現在配布されている安定版の RStudio 2022.02.1+461と同じでした。

https://www.rstudio.com/products/rstudio/download/preview/

そこで、dailyビルド版、今回は2022.06.0-daily+309を使いました

https://dailies.rstudio.com/

これを使ったところ、上記の問題は再現しませんでした。なので、いずれ正式にリリースされればこれらの問題は解決していると思います。

一点注意なのは、この問題は最新のビルドでは解決していますが、それ以外の問題があるかも知れない、という点です。安定していればリリースされる(もちろん、タイミングがあるので常にリリースされるわけではないけども)ので、一般的なユーザ、というよりかはあの発表の対象の人は正式リリース版を使った方が、良いです。

不明な点はr-wakalangで!

Enjoy!!

(R)TokyoR98 R初心者回でR Markdownの初心者セッションを担当してきました

時間オーバーして申し訳ないです

久々のRの記事。

第98回R勉強会にて、RMarkdownの初心者セッションを担当してきました。

去年に続き、春は初心者回になっており、この春からRをはじめようとする人の助けになればよいなと思い、発表することにしました。

connpassのリンクはこちら。

tokyor.connpass.com

当日使用したスライドはこちら、

www.docswell.com

発表に使用したスライドの元になったRmdファイル、および発表中にデモで使用したRmdファイルはGitHubリポジトリに置いてあります。

github.com

副題について

当日発表直前につけたのですが、「VISUAL MODEで気楽にR Markdownをはじめよう」にあるように、出来るだけ敷居を下げるコトが出来ないかを考えて、最終的にRStudio IDEで去年実装されたVisual modeについて中心に説明しました。

この春、Rに触れた人がまずR Markdownに手を出すところまでいけるのか?というのはさておいて、いざR Markdownをはじめようとすると、Rの文法に加えてYAMLの書き方と設定内容、Markdownの文法、チャンクのオプション、それに分析したい分野の理解や可視化・集計、プロジェクトの管理、などなど抑えておかねばならない内容が幅広く、Markdownの文法は比較的簡単とは言っても、それまでにコンピュータと縁がないような方にとっては結構な重荷になっていたのでは、と思っていました。

最終的に(問題が起きたときに自力で解決できないと困るので)文法を覚えるとはいえ、初手で考えることは少ないにこしたことはないです。

そこで、今回はVisual modeを使ってMarkdownの文法の理解を一旦脇に置いて進める、ということをしました。

また、実際に手元で動かして見てみて欲しいので、デモ用のファイルを作成し、セッション中はそれを実際に動かして解説するという形をとりました。

スライドでもある程度追えるように、とはしましたが、実際にデモで画面を見る形の方が情報量は多かったと思います。

スライドの方には、R Markdownを使うに当たって有益なドキュメントや書籍の情報を載せたので、細かいところはそちらを見てもらえれば良いのかなと思います。

注意点

さて、注意点なんですが、Visual Editorは日本語入力をしているとバグぽい動作をします。正確にはしたりしなかったりします。 通常のSourceのモードでも以前は起きていたので原因は同じところにありそうですが。

この注意点について、今後何回かこちらのブログに書いて行こうと思います。そこまで時間が足りなかった・・・。 また、現象が再現し次第RStudioのリポジトリにissueをあげに行こうと思います(その前に開発版を試すなど、色々あるので・・・)

今回、時間オーバーしてしまったので、また機会あればちゃんと時間に納める(か、事前に申告する)、しっかりやろうと思います。

ということで。 発表した皆様、運営の皆様、そして参加された皆様、本日はお疲れ様でした。

オフラインでもまたやりたいですね!

Enjoy!!

信号の電圧変換モジュールが欲しい・・・

と思ったら1個あった。

昨今は3.3V系のデバイスが増えてきて(もっと低電圧もあるけど)、それらは5Vで動作するArduino UNOでは扱いづらくなり、3.3Vのマイコン(ボード)を使うことが増えてきています(私は) ・・・が、マイコン(ボード)は3.3Vだけど、表示する液晶が5Vなのでどうしたものか・・・みたいなケースがあったりします。

具体的には、ちょうど2004のキャラクタ液晶を触ってみたかったんですが、5Vのものしかなさそうでした(1602とかもそうですが)

基板上で工夫されているものもあると思いますが、そうでない場合にひとつの選択肢になるなと思ったのがクレイン電子のGRO-3350 I2C電圧変換でした。

www.switch-science.com

これは5V側に出力するだけの変換基板ですが、3.3V側の電源から5Vを作っているので他の電源が不要で、かつGrove端子(と、明記されてない気がするけど)なのでGroveで接続出来るので結構便利です。

出す側、受ける側がGroveでない場合は、ジャンパ変換ケーブルがあるので(オスメスともに)これを使うとよいですね。

www.switch-science.com

www.switch-science.com

もちろん、相手側もGroveならGrove-Groveのケーブルでいいわけですが。

www.switch-science.com

この写真に載ってる基板、Airio-Baseで、3.3Vで動作している奴ですね。Arduinoと形状が同じですが3.3Vなので直接5VのLCDを駆動できないわけですね。

なお、この変換基板はスレーブ側からの信号の戻りは出来ないはずなので、戻り信号がある用途では使えないだろう点は要注意ですが、液晶などで出力のみに使用する場合にあると便利だなと思いました。

一応、成果物の写真を貼っておきます。

f:id:niszet:20220320125646j:plain

何をしようとしていたのかはわかると思うんですが、CGRAMが8個しかないので画面が寂しいからちょっとな・・・ってことで保留となりました。

画面が広いので、色々と情報載せたいときは2004のキャラクタ液晶も良いですね。

なお、今回は手元にあったSeeduino XIAOとその拡張ボードを使いました。Groveで接続するだけならGroveシールドでも良かったんですが。

www.switch-science.com

www.switch-science.com

www.switch-science.com

液晶自体はSunFounder 5V 2004 20X4 キャラクLCDディスプレイという名前でAmazonで売ってたものを使いました。これはLiquidCrystal_I2Cライブラリで動かせるので自前でライブラリを準備しなくて良いのは良いですね(その分、機能はあるものだけになりますが)

最小限のコードはこんな感じですね。このレベルだと特に載せる必要もない気がしますが・・・(左側の記号と名前は出ないように変えてあります)

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 20, 4);

void setup() {
  lcd.init();
  lcd.backlight();
  lcd.clear();

  lcd.setCursor(5, 0);
  lcd.print("Hello!");

  lcd.setCursor(5, 1);
  lcd.print("This demo uses");

  lcd.setCursor(6, 2);
  lcd.print("xiao(3.3V)");

  lcd.setCursor(6, 3);
  lcd.print("and GRO-3350");

}

void loop() {
}