ブログだと140字以上打てる

大学院生が数学の話とかしている.

なつやすみ2020(その3)

おはようございます*1TeXLaTeXに悩まされているしぐまです.

08/22

ブログに第2週の分を投稿した. 数が数えられず,1週間の長さが8と6になっていたことに気付いた.

私にとって重要な式である 1 = 0.99\dotso の理解が深まった. 超実数として両辺を考えると,


1 = [1, 1, 1, \dotso], \qquad
0.99\dotso = [0, 0.9, 0.99, \dotso]

になるが,このとき


[1, 1, 1, \dotso] \neq [0, 0.9, 0.99, \dotso] \quad \text{かつ} \quad
[1, 1, 1, \dotso] \simeq [0, 0.9, 0.99, \dotso]

が成り立つ. つまり,我々が自然に(?)持つ「両者は異なるが,その差は無限に小さい」という感覚が実際に扱えているのである. この事実に気付けただけでも超準解析の本を買った意味があると思えた.

関数解析のゼミをした. Neumann問題の話が終わった後,多重Fourier級数が導入された. その後は演習問題の解答を聞いて雑談した(僕が超準解析の話を少しした).

08/23

ここ数日で気付いたけど,pixivで漫画漁るのやめた方がいいな? 探せばいくらでもいいのが出てきて,生来の特性(とりあえず文字なら何でも読んでしまう)と相まって無限に時間が溶ける.

超準解析のゼミをした. 僕が拡張定理について話した後,一般の超冪の定義と可算広大化定理の話をしてもらった. 教科書がガバで仮定が抜けていたので,それを推測することになった. お陰で理解は深まったので,まあ許してあげよう(?). ちなみに前回僕が発表した \ast-有限和の定義でもテキトーな定義してて,そのせいで 1 + 1 すら計算できなくて困った(適切に修正はできた). 一度,超実数に限らない一般の超冪についても移行原理とか証明した方がよさそうなので,いずれブログに記事を上げます*2

VSCodeLaTeX打つときに便利なhover preview用のtexファイルを更新した. これがあるといちいちPDFに飛ばなくて済むので,少し時間のかかるコンパイルを回さなくても作業が続けられる*3

「ブログ記事3日連続投稿するぜ!」と思って作業してたけど,2時間中1時間くらいが寝ることに費やされたのでダメでした... ネタ自体は色々あるので,実りある夏にしていきたい.

08/24

某大学の本館が爆破予告された当日である. 「移転するなら転がした方が壊すより安上り」とまで言われる本館が壊れるとは思えないが,中にあるもの(人や本)は普通に壊れるので何もないことを祈るだけである.

TeX講習会のために資料やそこに載ってる参考文献を読み漁った(とりあえず3時間くらいかかった). 予定が合わず,自分自身は講習会に出たことがないことによる弊害をひしひしと感じている(当たり前のことを知らなかったっぽい).

上記のブログ記事を書き終わって投稿した*4

上記の歪んだ動き(全て徹夜して行っていた)が原因で,用事があったタイミングに寝てしまった. 実は用事がサークルと大学でダブルブッキングしていたのだが*5,そもそもどちらにも出られない結末にびっくりした(あほ過ぎる).

久しぶりにSwitch触ったら充電切れてて悲しい気持ちになった. 切れたことが分からないくらい長い間触れなかったんだよなぁ...

結局大学は爆破されなかったので一安心.

08/25

見てなかった講義の動画を見ようとして気が散って他のことしてた.

数検1級を友人が取っていたので,自分も数検1級の問題を解いてみた. 計算のミスを減らすことと解答を上手く纏める力が足りていないので,統計を勉強したり,演習を積めば取れそうだった.

08/26

ようやく残ってた講義を見た. 証明の理解を放置している定理がまた出てきたので,早く理解したい(今学んでいることを使うと楽に証明できるらしいので,ちょっとやる気が起きないけど...).

将棋ペンクラブのブログを見ていた. 気が付いたら23時間経っていたので大変面白いことが伝わると思う(伝えている場合ではない).

バイト行った. 解けない問題あって笑ってしまった(笑っている場合ではない).

LaTeXの本とか資料とか見てるけどキツイ!!!!!!!! もっとちゃんと勉強しとけば良かった...(本買ったの去年だし)

08/27

午前:寝てた.

昼食後から夕食まで:寝てた.

TeX講習会の資料を作成するはずだったが,Mathtechの方の原稿とか見てたら全く進まなかった. 先輩から知見を得ることはできたので,それだけ書いておく:

  • pTeXやLuaTeXのような日本語を扱える組版システムでは,和文和文の間・和文と欧文(数式を含む)の間に適切な間隔(グルー)が入る.
  • しかし,和文Aと欧文Bの間に半角スペースを入れてしまうと,Aと半角スペースの間・半角スペースと欧文の間にグルーは入らないため,結果として出力がおかしくなってしまう*6
  • この問題は,本来和文・欧文として処理してほしい文章が内部ではそう扱われていない際にも顕在化する. その解決方法として,bxghostパッケージ*7を紹介された.

*1:健康優良児なので,当然これは徹夜して投稿しています.

*2:こう書いておけば逃げられないでしょう.

*3:これを見てVSCodeが気になった人はこの記事を読んでVSCode生活始めましょう:VSCodeでLaTeXを書くと楽 - ブログだと140字以上打てる

*4:「れべすぐぇ」って響きが好き - ブログだと140字以上打てる

*5:どちらも任意参加ではあったので致命傷ではない...はず.

*6:正直普段は気になるような大きさの差は生まれない. 例えば,長いインライン数式を書いたせいで,文字同士の間隔を大きく空ける必要が出てきたりすると,その差は顕在化する.

*7:BXghost: (u)pTeX 以外でも適切に和欧文間スペースを入れたい | ラング・ラグー

「れべすぐぇ」って響きが好き

おはようございます. 本当にさっきまで寝てたしぐまです.

今日はLebesgueの優収束定理の適用例を紹介します. 前提知識は(式を証明とかせず認めれば)高校数学程度のはずなので,気軽に読んでもらえれば幸いです.

誤植等の不備や,疑問点があったらお気軽にお知らせください.

drive.google.com

なつやすみ2020(その2)

おはようございます.しぐまです.

日記も第二週になったため,多少体裁を整えてみました.

08/16

VSCodeLaTeX書くやつ記事仕上げた. 自分で見直しはしたので,後は友人に見てもらって問題や疑問がないか確認してもらうだけ.

この日記を1週間分公開した.

サークルの連絡をした.

08/17

ようやくtexファイルのpreambleを更新した. その際に他人のtexファイルを参考にしたが,その結果texコードの書き方も改善しようと思った. 例えば,align環境でラベルを付ける際に以下の例1のように書いていたが,2行以上書く場合は例2のようになる. そう考えると,書き方の統一を行うべきことから,1行の数式であっても例3のように書くべきだと気付いた.

% example 1
\begin{align} \label{eq:lim add}
    \lim_{n \to \infty} \paren{a_n + b_n}
    = \lim_{n \to \infty} a_n + \lim_{m \to \infty} b_m
\end{align}
% example 2
\begin{align}
    \lim_{n \to \infty} \paren{a_n + b_n}
    &= \lim_{n \to \infty} a_n + \lim_{m \to \infty} b_m
    \label{eq:lim add} \\
    \lim_{n \to \infty} \paren{a_n \cdot b_n}
    &= \paren{\lim_{n \to \infty} a_n}\paren{\lim_{m \to \infty} b_m}
    \label{eq:lim prod}
\end{align}
% example 3
\begin{align}
    \lim_{n \to \infty} \paren{a_n + b_n}
    = \lim_{n \to \infty} a_n + \lim_{m \to \infty} b_m
    \label{eq:lim add}
\end{align}

バイトの資料を書いてた.

08/18

前日友人に見せたLaTeX記事に改善点の指摘があったので従った(実際に読みやすくなったので良かった).

バイトに行った. 生徒ができることが段々増えてて嬉しい.

やりたいこと自体は色々あったが,疲れてたので寝落ちしてしまった.

08/19

祖父の墓参りに行った. 祖父は将棋を指す人だったらしい*1ので,将棋界の最近について報告してきた.

そのついでに屋外の人が密集しなくて済む場所にいくつか行った. 久しぶりに外の空気をたっぷり吸って,景色を見ることができてとても良かった.

友人にさらに貰ったLaTeX記事についての指摘「現在って書いてるけどいつか分からん」を反映した. 自分が普段文章を読んでいて不満に思うことでも,自分で書いているときは忘れてしまうものですね...

08/20

藤井木村の王位戦を観てた. 藤井猛先生の軽快なトークや,豊川中田の掛け合いがとても面白かった. 眠くなって寝てしまい,藤井王位誕生の瞬間を見ることができなくて残念だった. 実際に自分で藤井二冠の誕生を理解したとき,将棋界の新たな時代の始まりの中にいる興奮と,木村先生の悲願のタイトルが4連勝で奪取されたことの悲しみが混ざった複雑な気持ちになった.

サークルで行うTeX講習会*2の準備を進めるために,まずは先輩方の作成した資料を読んでいた. あまり時間がないが,新型コロナ禍で困っている下級生の助けになるような講習ができるように頑張りたい.

上記のLaTeX記事を公開した *3. 結構反応が貰えて嬉しかった. 特に大学の友人が実際にVSCodeの導入を試してくれた*4ので「ありがてぇ...」って言ってる.

08/21

ゼミの準備をした. 単位円上のNeumann問題の解の存在条件とか話すことになってる. 準備が杜撰すぎて3回連続で発表しているので,そろそろ終止符を打ちたい. 微分と一致するから定数項は消えてないと困るって気持ちや,微分(のr倍)にとってはDirichlet問題であることを考えれば前半は簡単.

バイトに行った. 開始時間を間違えて2時間前に行ったが,お陰でゼミ準備の進捗が生まれた(は?)

味噌カツが美味しいのは回鍋肉が美味しいのと同じくらい当たり前であることに気付いた(味噌+豚+キャベツなので).

Twitterに流れてきた院試の問題見て頭抱えてた. 来年にはコレ解くんですか...?

*1:祖父が生きていたころは将棋を指していなかったので,指している姿を見たことがない.

*2:内容を考えるとLaTeX講習会と呼ぶべきだと思うが,以前からTeX講習会と呼ばれている.

*3:VSCodeでLaTeXを書くと楽 - ブログだと140字以上打てる

*4:VSCodeを入れる(夏休みの日記14日目増刊号) - 夏休みの日記

VSCodeでLaTeXを書くと楽

おはようございます! しぐまです.

今回は,Visual Studio Code (以下VSCode)を使ってLaTeXを書けるようにする話です.

VSCodeを使ったきっかけ

以前の私は,LaTeXを用いて文書を作成する際にCloud LaTeXを用いていました*1. その際,不便に感じることがあったため有識者に相談すると「VSCodeとか使うと便利らしいよ」と教えてくれました*2. そんな話を聞いてからしばらくたった後,私も「VSCodeへ乗り換えよう!」と決意しました. しかし,実際にVSCodeLaTeXを打とうとすると,

  1. LaTeXをインストールする
  2. VSCodeLaTeXを書けるようにする
  3. VSCodeの機能でTe書き*3を便利にする

といった3つの作業が必要になり,実際に主要な環境として使用し始めるまで1月半ほどかかってしまいました. そこで,今回は私の環境構築の様子をそのまま書くことで,後からVSCodeLaTeXを書く人の助けになることを目指しています.

VSCodeと格闘した日々

参考にしたサイトのリンクと一緒に何をしたか書いていきます*4. 後から問題や便利なツールに気付くことがあったので,とりあえず一通り眺めた方が楽に環境構築できると思います. 私がWindowsを用いているため,その他のOSを用いている人は該当しないことも多いかもしれません. 私が楽なため,以下常体で書きます.

結果と必要な作業のまとめ

まず,2020年8月現在では,私のワークフローは次のようになった:

  • 使用しているエンジンはupTeX. それに応じて,一部の設定でptexplatexをuptex・uplatexに変更している.
  • 文書の作成はLaTeX Workshopの機能であるビルドレシピを,VSCodeの設定でCtrl+Alt+Bで行えるようにした *14
  • PDFはSumatra PDFで表示している.

次に,VSCodeLaTeXを書くために必要な作業と,それに該当する私の行った作業を記しておく. まず,最低限必要な作業は次の3つである:

  1. TeXLaTeXのインストール
    私が行った作業の中では,TeX Liveのインストール(03/15)が該当している.
  2. VSCodeLaTeXを使えるようにする
    日本語化とLaTeX Workshopのインストール(03/15)さえ行えばまずは充分だろう.
  3. 作業しながらPDFを見れるようにする
    私はSumatra PDFに設定した(04/15)が,特に不満がなければVSCode内で表示されるように設定すればよい(03/30)と思われる.

また,VSCodeの機能を利用して快適に作業を行うためには,加えて次のような作業が必要になる:

  1. 文書作成の簡略化
    私はビルドレシピを用いて,一連の作業(uplatexで3回コンパイルした後,dvipdfmxでpdfファイルを作成する)をコマンド1つで行えるようにした(03/15).
  2. スニペットの設定
    私は主にユーザースニペットの設定を行った(03/3004/13). LaTeX Workshopに元から用意されているコマンドも沢山あるため,それを知っておくとより便利だろう.
    Snippets · James-Yu/LaTeX-Workshop Wiki · GitHubLaTeX Workshopの公式ドキュメントのスニペットについての頁.
  3. inverse searchの設定
    私はTeX WikiやMyTeXpertのSumatra PDFの頁に書いてあることを参考に設定した(04/15).
  4. hover previewの設定
    簡単なコマンドを\newcommandなどを使って定義しているだけなら問題はないが,xparseパッケージの\NewDocumentCommandや,MathJaxでサポートされていないパッケージの命令(bmパッケージの\bmなど)を用いた際,他のコマンドも表示されなくなることを防ぐために,別個でtexファイルを用意する必要がある. 私はMathJaxのサポートしているコマンドを調べ(04/17),別個のtexファイルを用意した(04/18).

実際にVSCodeを使ってる感想

上記を見れば分かるように,明らかにPC初心者には負担が大きすぎる作業量である(たぶん)(知らんけど). しかし,実際にVSCodeLaTeXを書いていると,頑張って設定した色々のお陰で作業はすこぶる快適になった. だからこそ,多少大変でも使って欲しいと思い,こんな記事を書いたのである.

この記事が皆さんの快適なLaTeX生活の一助となれば幸いである.

謝辞

大学の友人たちは本記事の校閲を助けてくれました. ありがとう!

また,本記事の内容や,僕のLaTeXについての様々な質問に答えていただいたえぬぬんさんに感謝の意を表します. えぬぬんさんが「初心者が0から環境構築した流れを見たい」と言わなければ,この記事ができることはありませんでした.
ちなみに,えぬぬんさんが書いた以下の記事を読むと,どんなときに(Wordではなく)LaTeXを使うべきなのか,どのようにtexファイルを書くべきか,ということが分かるので是非読んでみてください! web.archive.org

追記

  • えぬぬんさんの書いた記事が消えて見れなくなっていたため,リンクをアーカイブに差し替えました.(2021/02/16)

  • Cloud LaTeXが便利になったみたいなので,実際に試してみました.(2021/02/16) drive.google.com

*1:追記に2021年2月時点におけるCloud LaTeXの使用感を書きました.

*2:ご本人は別のエディタを用いているらしい.

*3:texファイルを書くことをこう呼んでいます.会話で使うと手書きと紛らわしいです(だから面白い).

*4:リンクは問題があったら消します.

*5:この記事を公開した2020年8月現在にはTeX Live 2020が出ている.

*6:後になって,自分で設定したスニペット(labelとかも同時に出る)の方が便利であることに気付いた. しかし,figure環境を参照した際に「図n」と表示させるためにcrefnameが必要であり,役には立った.

*7:PDFからtexコードの該当箇所に飛ぶやつ.

*8:私がSumatra PDFを選んだ理由は,inverse searchがCloud LaTeXと同じダブルクリックで可能なためである.

*9:調べた際に「全角句読点を区切りとして設定すればよい」と出てきたが,設定してもなぜか上手く行かなかった. 解決法を知ってる方がいたら,教えてくださると助かります.

*10:カーソルを数式のコードに合わせたら数式が表示されるやつ.

*11:MathJaxで使用できる記号で代用するために理解する必要があった. その後も調べた結果,mleftrightパッケージを用いずに似た挙動を示すコマンドが作れることが分かった(括弧類で囲まれたものとコード上で波括弧で囲まれたものの扱いは本質的に違うが,周りとの間隔を減らすという役割は果たせる):
『数式組版』を組む技術:\leftと\right (2)|きえだゆうすけ(p_typo)|note

*12:MathJaxでサポートされたコマンド使って,普段用いているコマンドを書いたtexファイルを作成した. とても面倒だったので,良い対処方法を知ってる人は教えて下さい...

*13:基本的にLaTeXは勝手に間隔を調整してくれるので,普段書く際はその設定に沿った書き方をするべきである. 実際に設定を生かす例:
\newcommandを乱用するな、\DeclareMathOperatorを使え(LaTeXでの演算子の定義)

*14:ショートカットキーの設定は,このサイトにあるようにすればよい:
VSCodeでキーバインドを設定する。keybindings.jsonが無い時の対処法 - Qiita

なつやすみ2020(その1)

夏休みの日記書くの流行ってる*1ので僕も書きました. 1週間分まとめてなのは内容がないからです.

  • 08/08

    • バイト行った.デザートがたくさん出てお土産までもらえた.
    • 爆睡後,代数のレポートと戦った.7-5の小問4つの内2つが解けて,1つの問題の示すことが明確化された: (1) G_mnと(G_m, G_n)の対応がG_mn = G_m \cap G_nであることに着目して,合成がidとなる写像を構成すれば等濃が示せて勝ち. (2) 分からん. (3) (2)を使えることを示すために,「生成元が高々n個のAbel群は,巡回群n個の直和として表せる」ことを示す必要があるが,それさえできれば勝ち. (4) (1)と(3)から明らか.
  • 08/09

    • 上のやつとまだ戦ってた.
    • 勝てなかったので人に質問されて解けた7-3の解答を書き始めた.
  • 08/10

    • VSCodeLaTeX書けるようにした流れを書いたブログ記事を書き進めた.
    • 7-3の解答を書ききった.
    • 7-5の解けたところと解けてないところをメモに残した.C_2 \times C_3は1つの元(1, 1)から生成されるので,上記(3)で使った命題は「位数が共通の素因数を持つ巡回群の積は,積の数と同じだけ生成元が必要である」に直すべきかもしれない.
  • 08/11

    • 久しぶりに布団で寝た.最高!!
    • 記事を人に見てもらってミスを指摘してもらった.
    • その結果,physicsパッケージを使っているときは\sin\mleft(x\mright)\sin(x)と同様の動きをするが,\sin{(x)}\sin{\left(x\right)}は変な隙間が空くこと,つまり\mathopen\mathcloseの扱いをすることで\mathordと何が違うのかの例を見つけた.
    • texコードのpreambleを更新する!!つもりだったけど夜になっちゃった...
    • ロシア語と代数の宿題を提出して完全に夏休みになった.
    • エアコンのフィルター洗った(これはTychonoffの定理とか証明できないfilter).
  • 08/12

    • バイト行った.資料作るとか言っちゃったので作るしかなくなった(アホ).
    • 誕生日プレゼントで貰ったこのすばを5巻まで読んだ.
  • 08/13

    • 良く寝てよく食べた.
    • バイトの仕事を半分くらいした.
    • 羽生梶浦戦を見た.羽生先生のタイトル100期見てえ~!!
    • 1, 2Qの間に読めなかった分のニンジャスレイヤーを読み進めた.
  • 08/14

    • 数学系交流会に参加した.久しぶりに見る先生や後輩の顔に懐かしさを感じた.
    • 1, 2Qの間に忙しくて見れなかったアニメを見た.
    • ゼミ準備を少しした(眠くなって寝ちゃった...).

内容がないとか言ったけど,良く考えたらゼミ準備でやったこととか書けばいいのでは...?

*1:これは小学生が言う「みんなやってる」レベルのみんなです.

新コロのせいで忙しくて辛い2020

おはようございます.
家では勉強しない主義だったのに,この騒動のせいで日々レポートを書くことになって疲弊しているしぐまです.

今日は高校時代の友人から「RSA暗号やってるんだけどmodの逆元が良く分からん」と質問されたので,勢い余ってEulerのトーシェント関数とか説明したPDFを書きました. 内容は無に等しいですが,一応読みたい人がいたので上げておきます.

drive.google.com

エディタの ちからって すげー!

いまじゃ スニペットを つかって
コマンドを かんたんに うてるんだと

みなさんおはようございます. *1
最近LaTeXのエディタとしてVS Codeを使い始めたしぐまです.

今回はVS Codeを用いて初めて作成したゼミの原稿を上げます. 初期設定にn日かかったり,そもそも以前のエディタ*2と仕様が異なることで戸惑うことも多かったですが,1つ原稿を書くことでその便利さが分かってきました.
初期設定に苦戦した記録はそのうち記事にするつもりなのでお楽しみに!

誤りのご指摘や質問・感想等ありましたら気軽にお知らせください.

drive.google.com

*1:『夜が明けた』(岡本敏明作詞,フランス民謡)を毎朝歌う小学校生活を送っていたので,この挨拶を見ると懐かしい気持ちになりますね.

*2:最近はCloud LaTeXを,更にその前はTeXworksを用いていました.