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~)

CTANから入手可能な化学パッケージの特色一覧【TeXで化学ノートを作りたい】

化学界でのTeX普及率は低く、TeXで化学文書を作ろうにも情報が少ない。
日本語の解説が無いのなら、自らの手で英語の解説を翻訳するのみである。

というわけで、まずは下記のページのリストに載っている化学パッケージのpackage documentationを読み漁ってみた。

CTAN: Chemistry

未来の自分自身、もしくはTeXで化学を表現したいという野望を抱く同士達の道標とするために、そこから読み取れた各パッケージの特色をざっくりまとめておく。

chemformula【高校化学ならこれで十分】
イオン式
組成式
・化学反応式(触媒を矢印の上に表示可能)
・電子式
・化学反応式を電子式で(電子配置を下に添えることも可能)

mhchem
イオン式
組成式
・化学反応式
・水素結合

chemfig【自由度MAXの構造式描画】
・やや面倒だがどんな構造式も書こうと思えばかける(価標を一本ずつ描くイメージ、結合角も指定可能)
・巻矢印
・電子式
・錯体の構造式

xymtex【大学有機化学の教科書をまるごと組版できそうな万能っぷり、IUPAC命名法の知識が身につく】
有機化合物の構造式ならほぼなんでも描ける
IUPAC名によく似たコマンド名
・イス型構造
・架橋
・縮合環(炭素に番号をつけてくれる機能つき)
・構造式の一部や原子に色をつけられる
・反応式の重要な箇所を色四角で囲める
・ハワース式
・ニューマン式
・錯体
・正四面体構造が一目で分かる図
・一つの化合物を違う視点から見た構造式が描ける
・高分子化合物
・各原子の所有電子→電子の共有→結合の形成という流れが分かる構造式
・電子式
・複数の環にABCD…という文字を入れて区別
ベンゼン環の様々な限界構造
・ヘリセン
・巻矢印を用いた反応機構や共鳴構造
・2本の半反応式を辺辺加えて反応式をつくる
・紙を積み重ねたようなオシャレな枠囲み

bpchem
・cis、transが自動でイタリック体になるコマンド
・ハプト数の記号が簡単に出力できるコマンド

chemmacros【物理化学にも配慮】
・酸解離定数などの記号
・丸囲み電荷
・δ電荷
IUPAC名の書体を自動で整えてくれるコマンド
・イタリックにすべき文字(指示水素etc.)を自動でイタリックにしてくれるコマンド
・RS表記の回転方向の矢印
・ハプト数の表示
・フィッチャー式のDLを自動で小さく表示してくれるコマンド
・熱化学方程式
理想気体の記号
同位体
・高分子化合物
・ニューマン投影式
・オービタル
・化学反応式
・酸化還元の矢印表示
・NMR
・エンタルピー

bohr
・ボーア模型による電子配置の図

carbohydrates
・(形にこだわらなければ)糖の構造式を簡単にかける

chemexec
・よく使うイオンを一発で出力
・丸囲みの+,-(形式電荷
・電子や陽子記号
・RS表記の回転方向の矢印

chemscheme
・e.g.やi.e.やetc.などをイタリックで表示してくれるコマンド

chemschemex
・円形(有機金属化学反応、生化学反応によくある、同じ反応をぐるぐる繰り返すタイプ)の反応式を描ける

chemstruct
ベンゼン環の限界構造式(ただしちょっと歪)
・金属錯体の構造式
・生体高分子化合物

elements
・電子配置の横書き表記(1s^2 2s^2…)を簡単に出力できる

endiagram
・化学反応のエネルギー変化のグラフ

ghsystem
・毒性・引火性などの警告マーク

lewis
・電子式を簡単に出力できる

mcf2graph
・手描きで描くときと同じ感覚で構造式を描ける(主観)
・usepackageしてすぐに使えるコマンド形式の命令ではないため、使える状態に至るまでの環境構築が結構大変

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

mol2chemfig
・炭素に番号をつけた有機化合物構造式
・巻矢印

mychemistry【反応機構に特化】
・一つの化合物から多数の化合物ができる反応式
・構造式の大きさを簡単に変更
・色線で構造式を描く
・構造式や反応式を色つき四角で囲む
・巻矢印
・共鳴構造
・生化学反応
・光化学反応
・縦書きの反応式
カップリング反応

pst-labo
・化学実験の図(しかもカラーでめちゃくちゃ可愛い)

streetex
有機化合物のスペクトル
・炭素を・で表した構造式

texshade
・ゲノム

tikzorbital
分子軌道法ダイアグラム
・電子軌道や混成軌道の図

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

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

https://youtu.be/mbPBdsSqIwk

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

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

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

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

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

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

酸化数の規則に納得する

化合物中の原子の酸化数の合計が0になるというのは、エネルギー保存則ならぬ電荷保存則といえる。

誰かが手放した分は必ず誰かが貰っていないといけない。

たとえば合計が+1になってしまえば、化合物全体の所有電子が結合前より1個少ないということであるため、結合時に1個の電子がどこか宇宙の彼方へ飛んで行ってしまったことになる。
無論、こんなことは有り得ないので、電荷保存則は必ず満たすべき最優先規則。

Hを+1、Oを-2とする原則の下では、過酸化水素は酸化数の合計が-2になってしまう。
電荷保存則を満たすようにするには、Hを+2にするか、Oを-1にするかの修正が必要になる。
だが、Hは1個の電子しか所有していないため、2個の電子を失ったことを表す『酸化数+2』はありえない。
そこで、Oを-1にする。

  • - - - - - - - - - - - - - - - - ✄

保存則という考え方がこんなところで役立つとはな…
やはり自然科学を探索する者は物理学を学ばなければ始まらない。これからも頑張ります

微分法 学校で教えてくれないライプニッツ表記の基本

先日、知人から微分ライプニッツ表記に関する質問をいただき、この表記法を見直すとても良い機会となった。
素朴な疑問を抱かなくなってしまった数学人にとって、これほどためになる機会は存在しない。

そのときの解説資料を以下にまとめておく。

現在、微分法解説書を執筆している真っ最中だが、これをふまえてさらに加筆修正する予定。(草稿執筆段階で良質な質問をいただけたことは本当に幸運だ。もしも清書が終わった後だったら…orz)


f:id:nix_campane:20200727135910j:plain
『魔法をかけますよー』という合図の記号を演算子という。
演算子と何かをかけ算することは、その何かに魔法をかけることを意味する。
すなわち、演算子を『かける』ことで魔法を『かける』ことになる。日本語って秀逸ですね…

d/dxを左からかけられたものはxで微分される(微分という魔法がかかった)
d/dxを微分演算子という。

  • - - - - - - - - - - - - - - - - ✄

f:id:nix_campane:20200727135953j:plain
y=f(x)のとき、(d/dx)f(x)は(d/dx)yとも表せる。
このとき、yを分子に乗せて略記したものがdy/dxである。

このように、dy/dxのyは形式的にdとは独立のものとみなすことも可能である。(本来はひとかたまりのものではあるが)

  • - - - - - - - - - - - - - - - - ✄

f:id:nix_campane:20200727140018j:plain
d/dxを2回かけることは、指数の素朴な定義より、(d/dx)²をかけることとみなせる。
この意味で、2階微分はd²y/dx²と表される。

  • - - - - - - - - - - - - - - - - ✄

f:id:nix_campane:20200727140038j:plain
ここで注意すべきなのは、dxはひとかたまりのものでしかないという認識の下、(dx)²をdx²と略記しているということである。
決してdを1つ、xを2つかけたというわけではない。

  • - - - - - - - - - - - - - - - - ✄

f:id:nix_campane:20200727140057j:plain
以上のことをふまえると、写真のような変形が可能になる。
最後の式は、『dy/dx(xで微分して得た導関数)にさらに微分という魔法をかけた』ということを表す。
このように、2階微分とは『導関数微分すること』ともみなせる。
上の写真の式変形を瞬時に行うには、次のように考えればよい。
f:id:nix_campane:20200727140406j:plain

  • - - - - - - - - - - - - - - - - ✄

【発展事項】
f:id:nix_campane:20200727140117j:plain
『dy/dxは分数ではない』という言葉の真意は、次のようなものである。

・dyやdxは、本来ひとかたまりのものであるから、dとの積と考えてdを約分してはいけない。
・dy/dxは『dx分のdy』とは読まない。

この2点のみが重要なのであって、このことを『dy/dxは分数ではない』という言葉に含めてしまうことは適切ではない。
実際、dy/dx=f(x)の両辺にdxをかけて、dy=f(x)dxという表記をすることが大学数学ではよくある。理工学部であれば、微分方程式を解く際にこのような記法をよく用いる。このような表記を正当化する微分形式という数学の分野も存在する。(微分形式は、dy/dxというひとまとまりだけではなく、dyやdx単体にも意味をもたせようという分野である。)
そもそも、割線の傾きΔy/Δxにおいて、幅Δxを無限小にしたものがdy/dxであり、これが接線の傾きを表す以上、dy/dxはdyとdxの分数(比)なのである。…このことについては図解をつけて解説したものをClearに掲載したい。

【LaTeX】コマンドプロンプト/not found/タイプセット/usepackage/enumerate/align*

emath.styの置き場所が
c:/texlive/texmf-local/tex/platex/misc/emathならここ

f:id:nix_campane:20200722204417j:plain

  • - - - - - - - - - - - - - - - - ✄

このPCは64bitらしい

  • - - - - - - - - - - - - - - - - ✄

WindowsのPC内ファイル検索、whichでエラーが起きたためwhereに変えたらなんとうまくいった

ptex2pdf.exeは存在するということでいいのかな

f:id:nix_campane:20200722204529j:plain

  • - - - - - - - - - - - - - - - - ✄

mktexlsrを実行したらstyファイルがようやく認識された
タイプセットはshellescape

f:id:nix_campane:20200722204556j:plain

  • - - - - - - - - - - - - - - - - ✄

見つからない(not found)と言われたファイル

『emathその他』からダウンロード

emath.styと同じ場所に配置

ファイルの場所を表すバーをクリック、cmdと入力、Enterでコマンドプロンプトが起動される

コマンドプロンプトにmktexlsrと入力、Enter

  • - - - - - - - - - - - - - - - - ✄

訂正版のファイルは@INC以下に置いたはず

f:id:nix_campane:20200722204639j:plain

  • - - - - - - - - - - - - - - - - ✄

perlと連携して描画するものは、shellescapeでないとタイプセットできないようだ

  • - - - - - - - - - - - - - - - - ✄

とりあえず結果をまとめておく

ホームディレクトリ…C:¥Users¥ユーザー
myTEXMF…c:/texlive/texmf-local
mySUBDIR…tex/platex

emath.styの置き場所↓
c:/texlive/texmf-local/tex/platex/misc/emath

  • - - - - - - - - - - - - - - - - ✄

/usepackage{emath}を忘れずに

  • - - - - - - - - - - - - - - - - ✄

enumerate環境
/itemの前にスペースを空けてはいけない

  • - - - - - - - - - - - - - - - - ✄

align*環境
・縦に揃えたいものの直前に&
・&の直前の行の末尾には//(換行を表す)
・(スペース)&(スペース)でもスペース直後が縦に揃う(//は不要)

  • - - - - - - - - - - - - - - - - ✄

だいぶ自由自在にコーディングできるようになってきた

f:id:nix_campane:20200722204837j:plain

とりあえずemathを一通りマスターするために、大学入試数学問題解説集をLaTeXで作成していく
別解追加も簡単にできるからアナログよりも気が楽…

その他にも数学的帰納法地獄、∑地獄、添字地獄などなど、手書きで作成するのがダルい証明は今後はLaTeXでつくるよ⸝⸝⸝ ◜ ࿀ ◝ ⸝⸝⸝