現実の扉を開く美少女に遭いたい

だれかわたしの心にそなわった窓をひらいてくれないだろうか。
一言でいえばこういうことだ。

現実を揺るがす存在

現実を揺るがすような存在を一目見たい。
これがわたしの原動力の1つであった。
世界を巻き込んでマゾヒズムに浸ろうとしているのだから、とんでもない。

現実

わたしにとって「現実」とはどういう意味の単語なのか、それだけでももう1本記事を使って説明したいくらいなのだが、大きく分ければ、わたしにとっての現実は、網膜の外から網膜の内を通してわたしに知覚され、認識される。
もっとも好ましいのは、網膜の外と網膜の内を両方書き換えるような存在だ。

すなわち、

  • その存在自体が、世界で発生しうる事柄に対して人類のこれまで発見したいかなる解釈をも超越する者
  • (少なくとも)わたしの世界に対する認識を不可逆的に変革する者

ということを意味する。
この2つの条件を満たす存在が目の前に現れると、わたしの認識や知覚の形態は永久に彼女を枠組みに収めるように変形して戻らない。
そしていずれ、わたしはこの世界にあるいかなる知識を動員してもついには彼女に辿り着くことはないことを知って、ひとたびは打ちひしがれてしまうことになる。

ここで科学の出番だ。
彼女がこの世界で発生している現象である以上、何らかの原理に基づいて存在しているはずだ。
彼女がもたらしてくれた鍵に基づいて、人類は現実に対してより進歩した理解をすることができる。
Dr.STONE』における石化装置、『メッセージ』におけるヘプタポッド、『シン・ウルトラマン』におけるウルトラマン(リピアー/神永新二)。
まだこのような存在を少女で書いてくれた作品に巡り合えていないのが非常に残念でならない。

風斬氷華(ヒューズ・カザキリ)は、きわめてこれに近い存在であった。
「科学天使」は、しかし、作中でよく知られた物理法則であるAIM拡散力場と、作中でよく知られた魔術的体系の組み合わせで説明が可能であることが示されている。その2つが融合されて新たな現象が発生するというわけではなく、お互いがお互いの体系を自分とは独立した一部として利用して解釈可能なものにすぎない。
いわば、量子力学固体物理の賜物である電子回路を搭載したGPS衛星からの電波に一般相対性理論による補正を計算に入れるGPSシステムのようなものだ。お互いの体系は独立したドメインで用いられている。GPS量子力学一般相対性理論の両方を用いているが、量子重力理論は関係がない。
わたしにとっては、『とある』の世界は、ある登場人物が世界の法則を体現している場合はその法則が具体的に書かれてくれず、具体的な世界の法則があると思えばそれはすでに解明された既知の事実となってしまっていて、あるいは世界の秘匿された法則があると思えばほとんどそれを象徴する存在が出てきてくれない。*1わたしはその中になにも新しいものを発見できないので、もどかしい。

ダウングレード

このような少女を含む作品はあまりにも存在しづらいので、わたしは妥協点を設けざるを得なかった。
だいたい、1番目の条件が厳しすぎるのがいけない。
そこで、1番目の条件を譲歩していく。
もともとの「その存在自体が、世界で発生しうる事柄に対して人類のこれまで発見したいかなる解釈をも超越する者」を1-0として、番号でランク付けしていく。1-Xは1-0に近いほど小さく、アルファベットは数字よりも細かい順序を示す。

  • 1-1a: 世界で発生しうる事柄に対して人類のこれまで発見したいかなる解釈にも勝る解釈を発見した者
  • 1-1b: 精神的環境で発生しうる事柄に対してそれに関係するひとびとがこれまで発見したいかなる解釈をも超越するものを作ることのできる者
  • 1-2: 世界で発生してしまった事柄に対して科学的な手法で探究することのできる者
  • 1-3: 世界で発生してしまった事柄に対して人類のこれまで発見したいかなる解釈とも異なる仮説を立てる者
  • 1-4: 世界で発生しうる事柄についてわたしよりも知識およびその理解・掌握に勝っている者

例えば、1-1aには『シメジシミュレーション』のしじまの姉、1-1bには『児玉まりあ文学集成』の児玉まりあさん、1-2には科学を取り扱う作品のたくさんのキャラクターたち、1-3には胡乱な少女、1-4には『数学ガール』のミルカさんなどの物知りキャラ、いわゆる天才キャラなどが含まれる。(もちろん、彼女の理解が真実の深層に向かうとあれば1-2、場合によっては1-1aに”昇格”することもある。1-1aは通常1-2、1-3、1-4を、1-1bは通常1-3を含み、場合により1-4を含むこともままある。)
1-1bには、少しだけ「ふたりの世界に関する世界的な事実」、つまり、『わたしたちって、こうなんじゃないかなあ』といった「発見」をもたらしてくれる人が含まれる。あるいは、お互いに対して『あなたはこうなんじゃないかなあ』という発見をもたらす人も含まれる。
発見というのは尊いもので、ある思考・認識フレームから、知性という翼をはためかせて別のそれへの飛翔を遂げる行為にほかならない。わたしは発見を愛する。
相互理解というものはある程度科学的な手法に似たところがあって、「相手」という現象に対して仮説を立てて、検証して、再度仮説を立て直すというプロセスを持っている。
1-4のさらに妥協点には、「一般的な人間」がいる。あらゆる他者を、わたし一人で作ることのできる現実を揺るがす存在として捉えることができる。
しかし、妥協は妥協なので、あまりやりたくはない。

美少女

わたしにとっての「かわいい」の形は、これもまた単独で記事が生えてしまう*2
その要点をまとめておくと、

  • 表象kawaii
    • 寒色・静・規定のイメージ
      • 髪色・服の色・目の色・服装コードなどに適用される
    • メガネをかけている
      • あるいは、そのほかの「知」・「(思考・認識の)フレーム」 の象徴を持つこと
  • 存在kawaii
    • 破綻していること
      • 重度の好奇心旺盛である/夢中になると手が付けられないこと・倫理観がないことなど
      • 胡乱であること(これは、先ほどの1-3にも関係する)
      • 何らかの形象であること

ということになる。
「形象」というのも、これはなおも記事が生えてしまうのだが、いわば高次元、あるいは形而上の空間がこの世界に落とす影のことで、ある存在が形象であるというのは、その存在を介してそのような空間の様子を伺い知ることができる、というものだ。
なにかの「象徴」が実態を持っているなら、わたしは、それは対応する概念の「形象」である、と呼んでいる。

そういった美少女の観念が、きゅうくつな物理法則に縛られた3次元の空間に制約され、しかしそれによって表出することができて実体を持って振る舞う様子は、奥深く、世界に対して示唆的で、手のひらで触れ合うことのできる奇跡を凝縮したような、きっと素晴らしく美しく、いじらしくもかわいらしい、そういった2つの魅力が同時に存在することのできる、人の形をしたよろこばしい現象なのだと思う。

*1:レベル6にさせられようとしていた御坂美琴もなかなか近かったが、「レベル5を超えた御坂美琴」が存在していた時間はあまりにも短すぎるので、これをわずかばかりでもキャラクターにおける独立した人格の状態と認識することは困難であると思われる。

*2:これに関しては実際に記事が生えているが、別名義ゆえあまり言う気にならないため、脚注に留める。文体も今とは違うし…。小倉しおんがものすごくかわいい - 補的足跡

novel-writer+Vivliostyleで最強になる

なります。

こんにちは。概念(@composershandle)です。

novel-writer+Vivliostyleが非常に使い心地が良いので、字書きオタクの間でこれを標準化したいくらいの気持ちで書いています。

必須

制限事項

  • 自分の作った、それなりに文学的体裁の整った縦書きの文章を眺めてニヤニヤしたい人間であること。
  • 自分で作成した文章のPDFに表紙や奥付をつけてインターネット上で入稿を果たすことで、自分の作った文章が物理的に形や重量を持っていることに喜びを感じる人間であること。

  • つまりは、字書きオタクか否か、ということです。
  • あるいは、それに匹敵するほどの物好き。

novel-writerの制限事項

  • 青空文庫の形式のtxtファイルで原稿を書くことになります。
    • markdownには非対応
      • markdownで原稿を記述する場合は、Vivliostyleのみを活用してください。その場合、ここでは詳しく書きませんが、Vivliostyle Flavored Markdownの形式で原稿を記述できます。
      • 技術書を書こうとするならば、青空文庫の形式で書く必要は特にありません。
    • 青空文庫の形式でルビ、傍点、二重線などを引けます。
  • 注意:VSCode拡張機能「テキスト小説」は、「novel-writer」と競合します。
    • 「テキスト小説」も青空文庫の形式で記載でき、またルビショートカット機能があるため、こちらを試すのもよいかもしれません。
    • ブラウザプレビュー機能は「novel-writer」にも「テキスト小説」にもありますが、(入稿用)PDF作成機能はおそらく「テキスト小説」にはないと思います。
      • 少なくともインストールページへの記載はありません。
      • 表示されているページを印刷するようなPDFは印刷メニューから生成できますが、本のような形にはなっていないと思われます。
  • novel-writerはVSCode拡張機能であるため、VSCodeを操作する必要があります。
    • すなわち、宗教上VSCodeを使うことのできない方には向きません。
    • また、文章を書くためにコードエディタを使うことにアレルギーのある方にも向きません。

Node.jsの制限事項

  • コマンドプロンプトを操作する必要があります。
  • ある程度のエラーに対処するか、代替方法を見つける必要があります。
  • Node.jsのnpmパッケージにある程度慣れている必要があります。いくつかの躓きそうな箇所に関しては、こちらをご覧ください。

    composershandle.hatenadiary.com

基本手順

ここまでの制限事項に合致した方は最強になれる条件を満たしています。

おめでとうございます。とりあえずこの基本手順をすべて終えましょう。

 

①Node.jsとVSCodeのインストール。

  Node.js Visual Studio Code - Code Editing. Redefined

VSCode内のExtensionsの検索欄から「novel-writer」を検索し、拡張機能をインストール。

  novel-writer - Visual Studio Marketplace

③原稿を入れておくためのフォルダを作り、そこにNode.jsで

npm install -g @vivliostyle/cli

を走らせることでそのディレクトリにVivliostyleをインストール。 

  @vivliostyle/cli - npm

これはNode.jsのコマンドプロンプトから行ってもよいし、VSCodeでそのディレクトリで上のメニューからTerminalを立ち上げてそこにコマンドを打ち込んでもよい。

④Workspaceの一番上に原稿ディレクトリを持ってきて、右クリックメニューの一番下の「Novel:締め切りフォルダー」を適用する。

 

これでひととおり土台が整いました。これをさらに使いやすくしていきます。

応用手順

  • VSCode拡張機能「zenkaku」、(「Auto Close Tag」)をインストール。
    • 前者は全角スペースをVSCodeで使えるようにする拡張機能
    • 後者は自動で括弧やタグを閉じてくれる拡張機能ですが、あまり役に立たないかもしれません。
  • もしGitで原稿を管理したいなら(そうしたほうがよい)、VSCode拡張機能GitHub Pull Requests and Issues」、「GitLens -- Git supercharged」をインストール。
    • privateリポジトリなどに連携して使いましょう。
    • novel-writerにもGitの編集距離を見る機能があるので、活用できます。
  • VSCodeの「右端で折り返し」ショートカット Alt+Z を覚えましょう。

novel-writerの利点

novel-writerの数ある利点はインストールページでも紹介されていますが、あえてこの中から選ぶとするなら、わたしは品詞ハイライトを挙げます。

品詞ハイライトでは視覚的に名詞や語尾のリズムを見て取れますから、文章の調子を整えるのに役立ちます。

その他に関しては、こちらをご覧ください。画像付きで非常にわかりやすく記載されています。

marketplace.visualstudio.com

おま環記あるいはわたしの技術不足

  • なぜかプレビューサーバーのlocalhost:8080に接続できず、そしてプレビューサーバーの箇所に書いてあるURLには同じ機種のしかもFirefoxからしかアクセスできませんでした。(なぜ…?)
    • これならVSCodeの画面をSplitしてプレビューしているのと変わらないので、利点が3割ほど減っている。
  • 見出しがうまく生成されません。力技の解決策としては、出力されたHTMLをちょっと弄ってh4タグとかを埋め込むのが手っ取り早そう。
  • なぜか「PDF出力」でPDFまでは出力されませんでした。
    • 代わりに生成されるHTMLに対してNode.jsかVSCodeのいずれかのターミナルで「vivliostyle build (ファイル名).html」を打ち込めば同様にPDFが生成されます。
    • 「vivliostyle preview (ファイル名).html」でPDF出力前のプレビューでサイズ変更できたりするため、これはこれでアリかもしれない。
    • 時間かかってただけでPDFは問題なく出力されています。せっかち。

おわりに

以上が概要です。それぞれのドキュメンテーションなどにより詳しい利点(VivliostyleによるCSS組版の利点など)が載っているでしょうから、ぜひ訪れてみてください。

novel-writerのプレビュー画面はおしゃれなので、とても気に入っています。

次の記事でまたお会いしましょう。概念(@composershandle)でした。

Node.jsとの遭遇

概念(@composershandle)です。

というわけで書きます。

恥ずかしながら。

躓きポイント

躓きポイント①「Node.jsでは何ができるの?」はよくない質問

Node.js® は、Chrome の V8 JavaScript エンジン で動作する JavaScript 環境です。

Node.js

Node.js公式のトップページを開くとこんな文面が出てくる。

…うん?ああ、JavaScriptが動くのね。それで?

そこで、上のメニューから「Node.jsとは」というページを開く。ここにより詳しく書いてあるに違いない。

Node.js はスケーラブルなネットワークアプリケーションを構築するために設計された非同期型のイベント駆動の JavaScript 環境です。

Node.js とは | Node.js

…つまり何者なのだお前は!

まちカドまぞく3巻55ページ右2コマ目より

ここでなかなか躓いてしまった。

考えてみれば、ここに具体的な嬉しさが書いてあるはずがない。だってこれは実行環境なのだから。例えば「Windowsではexeファイルが動かせますよ」と言う時に具体的なプログラムの内容なんて関係ない。

『Node.jsで具体的には何ができるの?』ということはNode.js上で動かすそれぞれのプログラムの領分なのだ

あえて言うなら、Javascriptができることならば、どんなくだらないことからどんな面白いことまでできる」というのが正解なのだろう。

そしてこれが次の躓きポイントに繋がる。

躓きポイント② その性質上、包括的に記されづらい

①がわかっていれば当然のことである。

「Node.js  入門」で検索して出てくるのは当然Node.jsを1から活用する方法だ。

Node.js公式の使用例(Usage and example | Node.js v18.14.0 Documentation)にすら自分で書いたプログラムを自分で実行する方法しか載っていない。

Pythonをインストールして「Python  入門」で調べればPythonを用いてプログラムを書く方法が出てくる。そして、「Python  使い方」でもPythonを用いてプログラムを書く方法が出てくる。

これと同じ現象がNode.jsについても起こる。

「Node.jsを用いて自分がプログラムを書く方法」は大量に出てくるものの、その成果物だけを利用したいとき、つまり「Node.js上で動く任意のプログラムを実行する時に何をすればよいのか」という情報が詳細に書かれているものが見つからない。

そして、しばらくほかの成果物も実行してみたとき、あまりに簡単すぎるから誰も書かないのではないかということに気が付いた。

yarn createとかnpm createとか打てばよいのだが、あまりに簡単すぎて包括的に記される前に誰もが実際にいくつかやって会得してしまう

こんなものはコマンドプロンプトよりも100倍簡単だからと思って誰も明示しないかもしれない。……が、わたしはこのような不文律じみたものが非常に苦手である。

npm i -g (任意の成果物の名前)

だとかが例文になる。らしい。

個々の成果物のチュートリアルにNode.jsで動くものならばこのような共通部分がある、ということはまず書かれないし(書いたところで何の得にもならない)、これを検索しようと思っても何という言葉でこの観念を表せばよいかわからなかったというのが躓きポイントとして絶望的な部分である。

今思えば、これはPythonにおけるpipに似たようなパッケージ管理ソフトなのだが、ここまで「成果物」という単語で書いてしまっているように、このようなものを「パッケージ」と言うのだ、という観念がなかったので非常にてこずった。

プログラムに関しては恥ずかしながらPythonで片手間に適当なものを書くくらいのことしかしてこなかったため、「パッケージとはライブラリの下位構造である」くらいの認識しかなかった。

AstroやVivliostyleのような大掛かりなものがパッケージだとは想像できなかったのだ。

これが大まかなわたしの敗因である。弱かった。あまりにも。

その後

Astroをインストールし、GitHubと連携し*1、Cloudflare pagesでデプロイされた、このような、まだ中身の不足している素朴なサイトを作り上げた。

https://comphand.pages.dev

躓きポイントが理解できていなかったため、原理の分からないチュートリアルには従えないという無意識の忌避感・抵抗がわたしをこのような個人サイト作りから遠ざけたのだろうと思う。

MarkdownをAstroの公式Documentのチュートリアルと同じ場所に置き、数式を使いたい場合は「astro katex」で検索して出てきたサイトの手順通りにAstroに組み込んだKatexが、Markdownファイルの最初に張り付けたKatexスタイルシートを読んで美麗に変換してくれる。素晴らしい。

今はVivliostyleやTauri(RustのGUIフレームワーク)なんかも使ってみたくなってわくわくしている。*2

*1:実はここにも壁があって、GitHub上での翻訳プロジェクトに少しだけ噛んでいた時にHDDの空き容量の都合上ローカルに落とすのが憚られてGitHub上で編集していたため、ローカルにインストールしてGitHubにPushするということ自体に抵抗があった、ということもある。そのため、GitHub Pagesをレポジトリに連携したはいいものの、なんとローカルで書いたMarkdownをPandocでHTML形式に変換し、それをレポジトリに直接アップロードするという曲芸みたいなことをしていた時期があった、という笑い話がある。

*2:もっとも、Vivliostyleに関してはVivliostyle Pubというブラウザ上で編集できるものがわたしがあれこれしている間に出てきてしまったのだが……