2017年9月1日

少し祝鳥をいじっていた.前から気にくわなかったこと.

\documentclass[a|]{jsarticle}
というような状態で補完マクロを起動すると,(|はカーソル位置)a4paperが候補にあがるけど,そのままEnterするとオプション自身の補完が終了して,
\documentclass[a4paper]{jsarticle}|
となってしまう.本当はもっとほかのオプションも入れたかった,というときに明らかに困る.
\documentclass[a4paper|]{jsarticle}
までなんとか自分で入力して「,」を入力すると
\documentclass[a4paper,|]{jsarticle}
となって続けられるのだが,選択されているa4paperを挿入する手段がないというこれまた意味不明な状況.これはひどい,ということで動きを変更した.

新しいのではこうなる.

\documentclass[a|]{jsarticle}
でa4paperを選びEnterを押すと,
\documentclass[a4paper,|]{jsarticle}
となり補完が継続する.a4paper以外のオプションを指定しない場合はそのままEnterを押す.すると自動挿入されたカンマは削除され
\documentclass[a4paper]{jsarticle}|
となって補完は終了する.ちょっと使ってみた感じでは割とよさそうな感じ.ちなみにkeyvalを要求されている場合は,

\documentclass[|]{jlreq}
の段階でopen_bracket_posを確定させると
\documentclass[open_bracket_pos=|]{jlreq}
となりvalの補完が開始される.valの補完が確定すると
\documentclass[open_bracket_pos=nibu_tentsuki,|]{jlreq}
となり,後の挙動は前と同じである.jlreqのクラスオプションには引数を要求しないものもあるが,その場合,例えば
\documentclass[|]{jlreq}
の段階でhanging_punctuationを確定させても
\documentclass[hanging_punctuation=|]{jlreq}
となるが,さらに何もせずにEnterを押せば,=が削除されて
\documentclass[hanging_punctuation,|]{jlreq}
となる.

ほかには初期設定を変更した.前にSumatraPDFを検出したらPDF指向にするようにしたんだけど,なんかいろいろバグっていたので直した.それとPDF指向をさらに強化した.Latexmkパッケージの構成を変更して,各種設定をLatexmkパッケージ自身が持つようにした.というわけで開発版としておいてみる.

とここまで書いて思ったが,上のhanging_puncutuationの場合は設定ファイルに

/jlreq$2@keyval:val{hanging_punctuation}=@skip
と書いておけばスキップされるようにするのが自然だな.そしてそうでない場合は空で残る方がよいか.(空のvalもあるだろうし.)後でまたいじろう.

0 件のコメント:

コメントを投稿

コメントの追加にはサードパーティーCookieの許可が必要です