generated at
長い数式を改行したい
数式の記法をよく使っています。長い数式を書くとき、途中で改行が入れられないので1行がとても長くなってしまいます。
code:xxx の記法のように、次のような感じで長い数式を書けるブロック記法的なものが欲しいです。

text
code:math \begin{cases} 2x_1 + 3x_2 + x_3 = 5 & (1) \\ x_1 + 2x_2 + 3x_3 = 7 & (2) \\ 4x_1 + 6x_2 + 2x_3 = 10 & (3) \end{cases}

わかるmiyamonzmasarutakasekyanmayosidertakkererniogi45NuyagawakudannishioTakashiSasakixl_lxjiomaobushi基素

なるほどshokaishokaishokai

同じ要望ですRMQ
これUserScriptでやるにはパーサーに手を入れる必要があると思うんですが、Scrapboxのパーサーのドキュメントって公開されてますか?
OSSでparserが公開されています
一応補足すると、それはscrapboxが公式に公開している物ではありませんshokai
また/customize/scrapbox-parser.min.jsをimportすればUserScriptからでも使えます
Scrapbox一般に関して、複数行に対して何かする機能があった方が便利な場面が多いように感じます。以下のような場面とか
複数行の数式を書きたい
複数行を枠で囲って強調したい
問題+解説の記事で、解説をクリックしたら展開するアコーディオンUIを作りたい
TakashiSasaki code:hogehoge で長いコードを貼り付けたときに開閉可能でコンパクトな表示にしたいことはある。
アコーディオンUIでいうところのいわゆる「collapsedな」状態を初期表示としたいことがある。
code:hogehoge (collapsed) のように括弧書きをオプション設定のために使うことはできないだろうか。
これはシンタックスハイライトのヒントのために使われるもののようだけど。

TakashiSasakiScrapboxは基本的に行志向での設計だと理解していますが、空白+ code:hogehoge で始まる行と空白+ table:hogehoge で始まる行は以降の複数の行に効果を発揮するので、その構文を一般化するのが合理的だと思いました。
単純に math:eq1 のような記述を受容すると、既存のページが予期しない見え方になる可能性がある
BugbearR行にはタイムスタンプがあるので、それでバージョン管理すればいいような気がします。編集する場合には、警告をするか自動的にエスケープが入れば良さそう。
chem:fig1 とか music:score1 とかもありなのかなぁ。


複数行で数式をかけるようにするUserScriptを書きました。 watosar
TeX記法でマクロを使いたいに書いたのですが,マクロを使えるようにする方法があったのでコードブロックの内容をマクロに入れて下で参照できるようにしてそれっぽく動くかなという感じです

2024-05-09 書けるようになりました
tex
\begin{cases} 2x_1 + 3x_2 + x_3 = 5 & (1) \\ x_1 + 2x_2 + 3x_3 = 7 & (2) \\ 4x_1 + 6x_2 + 2x_3 = 10 & (3) \end{cases}

🙌45Nuyagawamrsekut

code:tex で書いたもの(今までtexの使い方メモ的に使っていました)をKaTeXでオーバーライドせず、今まで通りただシンタックスハイライトするだけの表示もできたらうれしいです45Nuyagawatakker
KaTeXで対応しない機能や環境を入力すると、読みたいものはコードなのに KaTeX parse error: Undefined control sequence:... が表示され、読むにはいちいちカーソルを置かないといけない。
あるいは、KaTeXがエラーを吐いたときは、コードのみか、コードとエラーであることのどちらもを表示してもらうようにするなど。
できたらうれしいけど、UI設計がかなりむずかしいのだろうなと予想してますtakker
他のコードブロックpreview系は、ほぼ単一の処理系で実行される言語で、表示方法もほぼ一択のみ
いや、例えばmermaidのコードの一部だけコードブロックに書き込む使い方もあるか
その場合だと↑と同じ問題が発生する
\TeXは、環境によって使える構文やコマンドが変わる
\LaTeXコードは\KaTeXでエラーになるし、\KaTeXのコードは\LaTeXでエラーになる