VScode住人の探検記

Visual Studio Codeでなんでもこなすのがポリシー。LaTeX(2020/7/19~), C(2021/1/25~), C#(2/4~), HTML&CSS(2/14~), Python(2/16~), JavaScript(2/28~), jQuery(3/18~), Sass(Scss)(3/20~),シェルスクリプト(3/21~), jCanvas(5/21~), WordPress(5/23~), PHP(5/31~)

Dimention too large対策【minipage環境でTeXを騙せ】

xymatrixを使用していると、しょっちゅうdimention too largeエラー地獄に陥る。
最終的なエラーメッセージの少し上には、
Overfull \vbox (数字pt too high) has occurred while \output is active
という記述がある。
数字の部分は場合によって異なるらしく、10未満であれば

\setlength\headheight{10pt}

をプリアンブルに加えることで改善するらしい。
私が直面したエラーでは約15000だったため、ダメもとで\setlength\headheight{16000pt}と書き加えてみたが、まあそりゃ無理である。
ちなみに\setlength\headheight{16000pt}と加えてタイプセットしたときに出たエラーは
! Huge page cannot be shipped out.(直訳:巨大なページは出荷できません。)
…そりゃそうよね。
そんなわけで別な解決策を探した結果、次のようにしたらうまくいった。

❂ ❃ ❅ ❆ ❈ ❉ ❊ ❋ ❂ ❃ ❅ ❆ ❈ ❉ ❊ ❋
まず、\end{document}を少し上の行に移動させて、\end{document}より下にテキストがある状態でタイプセットしてみる。
正常にコンパイルされるまで、\end{document}を少し上に移動→タイプセットを繰り返す。(dimension too large以外のエラーは無視して続行)
正常にコンパイルされるときが来たら、そのときの\end{document}の直後にある部分がエラーの原因である。

エラー箇所を特定できたら、

\begin{minipage}[t]{40zw}
エラー部分(とその前後、1ページに収まる長さで)
\end{minipage}

とエラー部分を囲んで、\end{document}を一番下の行に戻してタイプセットする。

❂ ❃ ❅ ❆ ❈ ❉ ❊ ❋ ❂ ❃ ❅ ❆ ❈ ❉ ❊ ❋

難しい話はよくわからないが、この方法はエラー部分を含む段落を巨大な1文字と認識させることで、エラー部分に気づかせないようにする手法らしいな(素人の信用ならない意訳)
40zwは、その巨大な1文字の横幅である。1zwは平仮名1文字の横幅で、デフォルトでは1行に40文字並ぶため、40zwと設定した。この値を小さくすれば、ページの右端に着く前に改行されることになる。
tはtopの略で、この巨大な1文字を\begin{minipage}の直前の行のすぐ次の行に配置することを意味する。cにすれば余白の真ん中の行、bにすればページの一番下の行に沿って配置されることになるのだろう。つまり、cやbにすれば直前の行との余白が空く。普通に横書きで上の行から順に書いている状態なら、tにしておけば自然な見栄えになるはずだ。

参考にしたウェブサイトはこちら。このブログは精一杯意訳した結果なので、説明不足・解釈違いは本家を見て補ってほしい。
7.6 ボックス

数学・物理・化学のノートづくりに役立つLaTeXマクロ一覧

CTANにある数多のマクロ達。それらを隅々まで把握している者はおそらく存在しないだろう。知れば知るほどLaTeXの無限の可能性を実感できるのに、誰もが使う一部のマクロしか知られていないのはもったいない…
『こんなものをつくりたい!』と思ったときにどんなマクロを使えば効率が良いのか、迷える未来の自分と誰かのためにメモしておく。
随時更新。マクロの説明は超主観的なので、気になったものはぜひ検索してマニュアルを開いてみてほしい。

witharrows
…式変形に補足説明を加える

bchart
…棒グラフをかく

tikznetwork
グラフ理論の図解、様々な模様を描いた平面を描画、2平面間に矢印を描画
複素関数や多変数関数、線形代数などの図解に使えそう)

tkz-linknodes
…樹形図、式変形に補足説明を加える

tkz-euclide
…平面幾何、コンパス跡、分度器

tkz-graph
グラフ理論

tkz-berge
…樹形図、項などを表す球(力学ノートで質点として使えそう、特に多質点系の力学で大活躍しそう)

thmtools
…定理を記述する環境を整えてくれる

rulercompass
…コンパスによる作図跡

pas-cours
…メタリック調のテカテカした枠組み、テカテカした立体、立体幾何、展開図、漸化式の図示

luamesh
…平面幾何、グラフ理論

drawmatrix
…行列の中身を表す箱

venndiagram
…ベン図

rank 2 roots
群論の図

nicematrix
…行列中に列や行を区切る線引き、表、行列の成分を色分け、行列の横や上下に行や列の名前を表すメモ書き、一般の大きさの行列、行列の横や上に行や列の本数を表すメモ書き、掃出法の変形の補足説明、行列間の関係を表す矢印

karnaugh-map
カルノー

scratch3
…一行メモをパズルのように羅列

tikzorbital
分子軌道法ダイアグラム、混成軌道のイメージ図

modiagram
分子軌道法ダイアグラム

bohr
…ボーア模型風電子配置図

pgf-spectra
…光のスペクトル

pst-sigsys
…様々な物理の図を描く

pst-optic
…レンズの図ならなんでもかける

tikz-optics
…光の実験の装置図、物体の長さを表す矢印

pst-magneticfield
…磁場を描く

chemschemex
…反応機構を組み立てる矢印(生化学などの円形反応機構にも対応)

tikz-planets
…惑星

circuitikz
…回路図

tikz-qtree
…樹形図

forest
…樹形図(tikz-qtreeよりバリエーション豊富)

istgame
…樹形図、グラフ理論

mptrees
…樹形図

fast-diagram
…樹形図、家系図、分類表

ribbonproofs
…証明の流れや他の定理との関係を表す表

tikz-dependency
…単語と単語の間を矢印で結んで関係を表す(数列の項どうしの関係をメモするのに役立ちそう)

smartdiagram
…円形の関係図(生化学反応の概要を表すのに役立ちそう)
…横並びの関係図(作業の手順をメモするのに役立ちそう)
…縦並びの関係図
言葉で表せないが、ノート制作において本当にいろいろ使えそう

bodewgraph
…対数グラフ

tikz-3dplot
…3次元座標、3次元グラフ

pgfplots
…あらゆるグラフを描画(多変数関数の微分積分学統計学などのノートづくりに必須)

bclogo
…可愛い枠

tikiz-page
…ページ端に装飾を施す(便箋とか作れそう)

callouts
…画像にメモを書き込む

matrix.skeleton's
…行列などを表す色分けされた表

tikzmark
…文章中に矢印メモを書き加える

DPcircling
…文章中の一部分を特殊な枠で囲んで強調する

xypic
圏論、編み物の編み図

commutative diagram
圏論

xlop
…筆算

underoverlap
…数式の上下に括弧で注釈、数式の一部を箱で囲んで注釈

onbraces
…数式の上下に括弧で注釈

tkz-tab
微分でグラフをかくときの増減表、数列の増減を表す表

tabvar
…増減表

systeme
連立方程式の記述

statistics
…グラデーション表(pH表とかに使えそう)、統計学のグラフ

spalign
…行列やベクトルの記述

short math
…複雑な数式の記述

shapes
…分数を表す円

schulmathematik
…複雑な数式、座標平面、化学定数、回路図、同位体、問題集のような空欄、計算問題集のように数式を並べる、列ベクトルを簡単に出力

rec-thy
…抽象数学で使う様々な記号

pst-vehicle
…円の幾何学(2円の関係、曲率)、坂を走る車や自転車

pst-poly
…多角形

pst-platon
…多面体

pst-ode
…3次元グラフ

pst-math
…2次元グラフ

pst-geometrictools
…三角定規、分度器、コンパス、定規などのイラスト

pst-func
…グラフと棒グラフの融合

pst-eucl
…平面幾何

polynomial
多項式を超絶簡単にかく

polynom
多項式の割り算の筆算、組立除法、因数分解した式を計算して出してくれる

longdivision
…数の割り算の筆算

phfthm
…定理を記述する環境を整えてくれる

perfectcut
…様々な括弧を出力(多重になったときの大きさ調整も可能)

musikui
…数字の代わりに四角を用いて筆算の手順を説明

mfpic4ode
…ベクトル場を図示

mathtools
…シグマやlimの下に数式、複数行に渡る数式を見やすく配置、連立方程式のような形式で答えを場合分けして表示

mathfont
…あらゆる数学記号を出力、手書きボールド体アルファベットの出力

mathexam
…数学試験問題プリントの作成を補助

mathdots
…記号の上にドット(微分の表示など)

mathalpha
…数学で用いる様々なフォントのアルファベット

letterswitharrows
…記号の上に矢印(ベクトルの表示)

jkmath
整数論や組合せ論の記号、ボールド体アルファベットを簡単に出力

hf-tikz
…数式を色付き枠で囲む

halloweenmath
…数式を超絶可愛く飾る

gn-logic
…論理式

gauss
…掃出し法の手順注釈

derivative
微分記号を簡単に出力

diffcoeff
微分記号を簡単に出力(特に熱力学で使う固定変数を明示した偏微分記号)

content
…あらゆる関数を簡単に出力、微分積分記号を簡単に出力、単位行列を簡単に出力、複素平面の記号を簡単に出力、組合せ論の記号を簡単に出力、整数論の記号を簡単に出力、テンソル、etc.
とにかく万能だから物理や数学のノートづくりには必須

commath
…様々な括弧つきの文字、微分記号、ノルムなどを簡単に出力

bropd
…括弧つきの文字、微分記号を簡単に出力

braket
…括弧つきの文字を簡単に出力

bigints
…ベクトルの積分記号を出力

autoaligne
…項を縦に揃えて数式をかく(式変形が分かりやすくて便利)

susy
…物理でよく使う文字を簡単に出力

physics
…あらゆる物理記号を簡単に出力
物理のノートづくりには必須

mandi
…様々な単位、ベクトル解析の定理式、熱力学の式、マクスウェル方程式を簡単に出力
物理のノートづくりには必須

simplewick
…同類項などを結ぶ線

波動方程式との鮮烈な出会い

京大の振動波動論12回講義、圧倒的な神回だった

https://youtu.be/mbPBdsSqIwk

波動方程式ダランベールの解の性質を調べたときの『うわあ…コイツそのまま動いてるじゃんカタ:(ˊ◦ω◦ˋ):カタ』という感動は忘れられない

波動方程式の変数分離による解は波形を表し、ダランベールの解は速度の情報が含まれていることで波形の移動を表す…
つまりは振動も波動も波動方程式の解の別表現にすぎず、本質的には同一のものだということ。
定常波の振動のしかたを表す(変数分離による)解をダランベールの解として書き直すことで、定常波ができる過程まで数式から読み取ることができるなんて…

終始いろいろと発狂しながら視聴していた(※深夜です)
というかよく静かに聴いていられるな京大生…

極め付きは反射波の波形の導出。
物理基礎で描き方を習う固定端反射と自由端反射の波形、あれに関してずっと『どうしてこんなことがわかるのだろうか…じっくり観察した結果を模写しただけ?🤔』というモヤモヤが残っていたのだけど、…まさか波動方程式から計算で示すことができるとは。この世界は想像以上に整頓されていた。

いやー…とにかく最強の高校物理種明かし回。この感動を高校生に伝えられたらいいのだけど、なにせ数学の壁がね…この動画を(一部の独学狂を除く)高校生に薦めることは、英語を学んだことのない人をアメリカに強制留学させるようなものだ。

数学さえ分かれば自然科学界をそこそこ自由に遊び回ることができる。数学は切符。
そして今回もまた一つ、量子力学界への旅に必要な切符を手に入れられた気がする…