{デラング}{進捗記録}{Markdown}{希哲16年2月15日24歩}{希哲16年2月9日の開発}{使うこと}{維持すべき}{既存輪郭}{setext 式見出し}{希哲16年2月9日17歩}...=}(61)

{希哲16年2月9日19歩 K#F85E/E74C-5731}

進捗時限記録中略

Markdownsetext 式見出しをどうデラング見出し記法取り入れるかの検討終了

区切り線混乱しないようにというのが課題だったが,現在デラング実装では,段落直後に続く区切り線記法機能していないことに気付いた明確に意図していたわけではないはずだが,既存輪郭についての心配は要らなくなった。好都合偶然だ。

とはいえ,省割として空行まずに使える利便性捨て難いので,5日3歩方針維持すべきか。

=-3つ以上というのは,2つ体裁考えず省力のために使うこと多いということと,3つ以上区切り線こうとする人なら Markdownsetext 式見出しにも気を付けるだろうという狙いがある。

これと,最新の見出し装体前歩区切り線記法についての検討総合すると,以下のように破線点線加えた拡張可能性見えてきた

第1階層
=======

第2階層
-------

第3階層
- - - -

第4階層
. . . . 
=}
{用者}{デラング}{進捗記録}{数式記法}{軽量標記言語}{越化参照}{希哲16年2月4日の開発}{希哲16年2月4日21歩}{良い代替案}{深く考えず}...=}(139)

{希哲16年2月4日17歩 K#F85E/E74C-503B}

進捗時限記録中略

デラング整備越化記法越化参照疑似実体参照についての検討終了

越化エスケープ基本的な仕様について記法内部実装両面から急速にまとまった

単一文字越化

まず,バックスラッシュ使った単一文字越化では,全ての文字越化することにした。ただし,この「越化」は,「通常とは異なる特殊な解釈試みること」であり,論組言語等でのそれと同様必ずしもデラング記法としての解釈避けることではない。

非特殊文字扱い

軽量標記言語単一文字越化対象非特殊文字に付けた場合の挙動としては,「不明なエスケープシーケンス」などと違了出すわけにはいかないので,以下の2つ考えられる

普段非特殊文字にあえて越化文字を付けてみることなどないので,一般的にどう実装するものなのか分からなかったが,特に定石があるわけではなさそうだ。

当初なんとなく前者想定していたが,この場合,全ての特殊(になりうる)文字予め定義しておく必要があり,挙動変則性用者混乱させる懸念もある。デラングの場合は文脈によって特殊文字になったりならなかったりすることも多いため,その対応も含めるとかなり複雑化してしまう。

後者の方が分かりやすいといえば分かりやすく,先日交度記法出来た代置子方式応用すれば実装単純化出来る。数式記法などでは越化対象文字判別する必要があるが,これは代置子への置換処理の前に制御子置換すればいい。

いずれにせよ後から変更するのが難しい仕様ではないので,まずは実装単純性を取るべきだろう。

数式記法との整合性

越化記法との整合性深く考えずLaTeX 方面の慣習従い導入した数式記法\[ ... \]\( ... \) をどうするかという問題に少し手間取った

これまで越化記法も「デラング記法としての解釈避ける」ためのものとして想定していたが,ここで本来越化という概念立ち返り,「通常とは異なる特殊な解釈試みる」ためのものとすることで整合させることにした。

越化参照

単一文字越化で「越化」という概念捉え直した結果,これまで Dex で「疑似実体参照」と呼んでいたものを「越化参照」として再定義することが出来た。

これに伴い,疑似実体参照では &_foo; としていた記法を,越化直感的に分かりやすい &^foo;統一することにした。代置子&^[連番];,「制御子(ここで命名&^[名前]; となる。

越化用の代置子に関しては &^1; などと書き分けるかと考えたのとほぼ同時に前述越化概念拡張があり,そもそもこれまで「疑似実体参照」と呼んでいたものが越化列役割同じであることに気付いた

参照先実体があるわけではないので「疑似実体参照」という名称にはずっと違和感があったものの,良い代替案見つからなかった。これで越化記法課題同時に解決してしまった。

{進捗記録}{Markdown}{部区}{希哲16年1月18日の開発}{希哲16年1月18日12歩}{行内埋め込み}{行内埋め込み記法}{書き分けられる}{視覚的な}{導入予定}...=}(161)

{希哲16年1月18日8歩 K#F85E/E74C-91F1}

進捗時限記録中略

埋め込み記法渡括記法)の応付子オプションなどについての検討終了

概ね方針が固まってきた

引数風の応付子

これまで埋め込み記法には,埋め込み方細かく指定するような機能がなく,例えば画像埋め込みでも表示サイズ水平方向寄せ方指定出来なかった。この問題当然当初から認識していたが,どうしてもごちゃごちゃしがちな部分なので,直感的美しい記法練るのに時間がかかった差し当たり欲しいのは画像埋め込み表示サイズ寄せ方指定出来る機能だが,他の埋め込み対象でも使える汎用的な枠組み整えておきたい

そこで,[寄せ方指定スペース]+([応付])[埋め込み対象]形式採用することにした。例えば,添付譜類PNG 画像100x100埋め込みたい場合,+(100x100)png書けるようにする。

丸括弧内は,函数引数風にコンマ区切りで,埋め込み対象毎に使える応付子設定する。引数名指定出来るように a=xa:x受け取ってもいいが,柔軟性必要なのであえて必須にはしない。スペースを含む文字列扱いたい場合考えられなくはないのでとりあえずコンマ区切りにしておくが,各引数扱い駒手欄感覚近い

他のとして,+100x100 png+100x100,png のように全てを引数的に扱うことも考えたが,あくまでも埋め込み対象とする応付役割まとまり一番分かりやすいという点で丸括弧採用する。また,埋め込み対象URL など長い文字列になることも多いため,応付+直後置く。あるいは,末尾に置く書き分けられるようにする。

水平方向寄せ方

水平方向寄せ方は,表組み記法採用予定スペースを使う方法応用することにした。以下のように,+ 前のスペース無しは無指定4つ未満は左寄せ4つ以上で中央寄せ6つ以上で右寄せとする予定

+png            <!-- 無指定 -->
  +png          <!-- 左寄せ -->
    +png        <!-- 中央寄せ -->
      +png      <!-- 右寄せ -->

直感性でいえば矢印のような記号導入することも考えられる。となるとまず <>使うことになるが,すでに多用しているため無闇役割広げる記号意味稀薄化しかねない。そうでなければ leftcenterright のようなキーワード導入するくらいしかないだろう。いずれにせよ,見た目的にもあまり美しくない

当初,以下のようにスペースの数表組み記法合わせようとした2つ中央寄せ3つ右寄せが,いくつか問題がある。

+png         <!-- 無指定 -->
 +png        <!-- 左寄せ -->
  +png       <!-- 中央寄せ -->
   +png      <!-- 右寄せ -->

まず,表組みにおけるセル内での編集に比べそこまで編集効率問題にならないためここまで短くする必要もなく,比較的長くなる後続文字列に対して目立ちにく過ぎる単純にスペース2つ中央寄せ3つ右寄せ表現には見えない

さらに致命的な問題は,いくつかの他記法との整合性だ。導入予定字下げ記法では,行頭全角スペース使う。あまり好き記法ではないが,Markdown4つの半角スペースを使う交度記法互換性のため導入する可能性がある。これらの記法混ぜ書いた場合,視覚的な整合性が取れない。

そこで,行頭に使う寄せ方指定スペース表組み記法とすることにした。交度記法にも使われる4つの半角スペース右寄せ一致するよりは中央寄せに一致した方が違和感がずっと小さい

行内埋め込み記法

おまけに,行内埋め込み記法についても少し考えた

これまで埋め込み記法部区として扱うことを主に考えてきたが,やはり行内埋め込み必要だろう。まだ草案段階だが,例えば以下のようにして画像回り込む段落が作れると便利だ。

++png++ 左上の画像に回り込む段落。
=}
{進捗記録}{廃止}{希哲15年12月13日の開発}{冗長過ぎる}{application/x-kn-acv}{揺らいだ}{KNIF_ 接頭子}{KFF- 接頭子}{KFF}{KN-ACV}...=}(113)

{希哲15年12月13日4歩 K#F85E/E74C-143E}

アンダースコア略記法内包子におけるアンダースコア記法廃止についての検討終了

現状譜類名(例:._acv台録名(例:/_kn/駒手名(例:_knなどにアンダースコア接頭子略記法として多用していた時期名残り多くあるが,ほとんど活用していないため,いったん廃止することを決めた

アンダースコア略記法やその応用記法問題は,明示性簡潔性ともに中途半端で,現実には使いにくいというにある。より簡潔な記法冗長な記法があると使い分け方無駄増えややこしいし,使い所無い

知機駒手では大分前から _kn よりも kn使うようになっているが,9月9日13歩以後はこの kn省けるようにしたため,_出番完全に無くなってしまった結局 _ よりも kn使ってしまう理由は,どうせ面倒臭いなら分かりやすい方が良い,ということだった気がする

これまでの経験上十分明示的な冗長記法短縮記法2つまとめていくのが一番良さそうだ。


KNIF使っていたアンダースコア記法廃止し,代わりに kn- 接頭子導入することを決めた

例えば,これまでの ._acv冗長表記.kn-acv短縮表記.acv となる。知機駒手同様,混同の恐れが無い場合は原則として短縮表記用いる

.kn.acv のようにすることも考えたが,一つの拡張子として認識されないと不都合なこともあるので,MIME 型application/x-kn-acv正式名称初期合わせるKNIF の各形式与える正式名称は,旧称 KFF の時は KFF- 接頭子KNIF になってから KN-ACV のような KN- 接頭子になり,一時 KNIF_ 接頭子揺らいだこともあったが冗長過ぎる,これを機に KN- 接頭子確定する


アンダースコア記法依存した実装排除しながら段階的置換進めていく

=}
{写真}{進捗記録}{ネット環境整備}{希哲15年10月26日の整清}{激しかった}{様子を見たい}{使えている}{非常に快適}{22時過ぎ}{手の届きやすい位置}...=}(71)

{希哲15年10月26日10歩 K#F85E/E74C-3205}

ネット環境整備USB 配線整理

Archer T4U PlusUSB 3.0 対応なので USB 3.0 ポートが使えればと思ったが,とりあえず他のポートUSB 配線整理済ませておいた

T4U Plus設定作業を始めた13時頃から22時過ぎ現在まで,T2U Nano で見られたような不安定化は一度も見られず,非常に快適使えている。もう数日様子を見たいが,これがほぼ完成形だと思って良さそうだ。

全体的に各周辺機器配置く,抜き挿し頻度の高いポート手の届きやすい位置に来るようにと,合理的になった。各機器動作確認済み

一応写真撮っておいた

=}
{2つ}

{}