隙間

こちらはいわゆる仕事用のもの.

卒業論文をこれから書くLaTeX初心者が最低限守るべきLaTeXのルール(数式編)

LaTeXの云々と言うよりもレポート・論文の書き方の問題かもしれない.

卒業論文中の数式は基本的に文の中に存在するように書くことが基本です.

英文の場合であれば,

This equation is formulated as follows:

{ \displaystyle
e^{i\pi} = -1.
}

のように,地の文の最後はコロン(:), 数式の最後にピリオド(.)を打ちます.

複数の数式を列挙する場合は

These equations are formulated as follows:

{ \displaystyle
e^{i\pi} = -1,
}

{\displaystyle f(a)+{\frac {f'(a)}{1!}}(x-a)+{\frac {f''(a)}{2!}}(x-a)^{2}+{\frac {f'''(a)}{3!}}(x-a)^{3}+\cdots .
}

のように,カンマ(,)でつなぎ,最後はピリオド(.)でしめるようにします.

数式を提示した後に,式中の文字を説明したい場合は

{ \displaystyle
e^{i\pi} = -1,
}

where { \displaystyle e} is the base of natural logarithm.

のように,説明文(where節)までで一つの文という扱いをします.

卒業論文をこれから書くLaTeX初心者が最低限守るべきLaTeXのルール(改行・改ページ編)

いよいよ,卒論の追い込みの時期が近づいてきて, LaTeXに関わる質問を受けることが多くなりました.

普段からLaTeXを使ってる人にとっては何事もないような事柄ですが, 幾つかのコマンドを初心者が誤用している例がたくさん見られる項目があります.なので,これを機にまとめておこうと思います.

思いついた順につらつら書き足す感じでやっていきます.

内輪以外の人も少しでも参考になればいいと言った具合です.

強制改行は基本使わない.

LaTeXで文章を書くときに初心者にめちゃくちゃ多いのが,「改行のやり方が間違っている」というものです.

「すべての改行を強制改行 "\\"で行う. 」はコマンド誤用の定番中の定番です.

その例がこちら.

この文で第1段落を始めます. この文で第1段落を閉じます.
\\この文で第2段落を始めます. この文で第2段落を閉じます.

f:id:mblogit:20161207114046p:plain

この場合,一見うまく改行ができているように思いますが,第2段落の初めの部分でインテンド(字下げ)が効いていません.

このように,段落を変えるための改行は以下のように,空行を1行挟むことによって改行します.

この文で第1段落を始めます. この文で第1段落を閉じます.

この文で第2段落を始めます. この文で第2段落を閉じます.

f:id:mblogit:20161207114047p:plain

このようにすれば,改行と同時に字下げも行われるので,こちらの方法で改行は行います.

図表の中での改行では強制改行を行うことは,ままありますが,地の文で強制改行を使うことは基本的にありません.

段落の先頭に "\quad" とかやらない.

上の強制改行を使いかつ,段落の初めに字下げのために段落初めに"\quad"とか"\qquad"を挿してくるのが定番の間違ってるパターンです.

この文で第1段落を始めます. この文で第1段落を閉じます.
\\\quad この文で第2段落を始めます. この文で第2段落を閉じます.

この方法でコンパイルすると以下のような出力を得ます.

f:id:mblogit:20161207120944p:plain

この方法ですべて解決できているかのようにも見えますが,よく見ると第1段落と第2段落のインテンドの幅が異なっていて,第2段落が必要以上に下げられてしまっています.

このような体裁は文の量が増えれば増えるほど,悪目立ちします. 正しい方法で書いている人にとってはとても違和感を感じるものです.

これに関しても前の部分で説明した,「1行挟む」方法を用いればすべて解決します.

改ページをコマンド1つで行う

改行についで,誤用が多いと思われるのは「改ページ」に関するものです.

よくある例は,

この文で1ページ目を終えます.
\hspace{**cm}
この文で2ページ目を始めます.

という具合に,\hspace{} で改ページされるまで,長さを手動でひたすら調整し続けるというもの. (horizontal space の略,**cm鉛直方向にスペースを取る.)

個人的な経験では,学参書で問題文の後ろにスペースを空けるときに使ったりするようなものなので,少なくとも改ページには使うべきではないです.

(枚数制限がある原稿とかで,少しでもスペースを詰める場合に**に負の値を入れて,詰めるみたいなこともやるけど,まぁこれは今回はいいや.)

これならまだしも,本当に最悪なのは強制改行連打でごり押しをキメてくるものです.

この文で1ページ目を終えます.
\\
\\
\\
\\
\\
\\
\\
\\
この文で2ページ目を始めます.

さすがに,これが正しいと思って,書いてる人はいないとは思いますが,方法がわからず仕方無くこれに走る... という人をたまに見かけます.

これらの方法で一見解決できてる(特に\hspace{} の場合は) ように見えますが,いずれの場合も,地の文に続いて,文中に余白や空行を書き足してる扱いなので,正式な改ページではありません.

この方法の場合,途中で前ページに新しい内容を加筆するとその分,余白や空行が押し出しを受ける形になり,2ページ目に謎の余白ができる→その余白を消すために,**cmや行数を地味に調節する.と言ったスパイラルに確実に陥ります.

レポート程度ならこれでも対応出来るかもしれませんが,複数ページに及ぶ卒業論文のようなもので,加筆するたびにこの作業に追われると思うと,もはや地獄です.

ここでも,LaTeXにはあらかじめ有用なコマンドが用意されています.

この文で1ページ目を終えます.
\newpage
この文で2ページ目を始めます.
この文で1ページ目を終えます.
\clearpage
この文で2ページ目を始めます.

の2つです.

\newpage の方はシンプルにソースに書いてある部分で改ページを行ってくれます.

\clearpageの方はそれまでに挿入された図表(正確には浮動体)をすべて出力してから改ページを行うというものです.

したがって,\clearpage を使うと,図表が本文からものすごくずれる,といった症状が比較的起こりにくくなります.

初めまして.

卒業研究がひと段落したので,これを機に立ち上げてみました*1. 暖かい目で見守っていただけるとありがたいです.

自己紹介

  • 都内在住の理系大学生(B4).
  • 現在,所属している学部の接続大学院に内部進学する予定です.

専門分野

  • 数理科学(応用数理系)を専攻しています.数学系と情報系のハーフ&ハーフと言ったところです.
  • 現在は交通流(Traffic Flow)に関する研究をやっています.
  • 確率的セルオートマトンモデルを用いた交通流シミュレーションにおける最適パラメータ分布みたいなことを卒業研究ではやりました.
  • 機械学習とかにも興味があるので進学したら突然テーマを変えるかもしれません.

使用言語

  • プログラミング自体は大学入学時から始めました.現時点で4年目.
  • processing から入門しました.
  • そのあとは大学のカリキュラムや必要に応じて言語を転々としています.
  • これに準じてLaTeXとBitBucket も使えるようになりました.
  • 現在のタスクを回すルーティーン主に:
    • Cで数値計算だけ行う
    • 出力ファイルを受け取り, processing or R でデータを可視化
    • LaTeXで文章書く
    • これらのファイルをBitBucketでバージョン管理する

というようなものです.

可視化ツールは,微分方程式で記述できるダイナミクスを可視化するような場合はprocessing, データ分析系は迷わずRといったところです.なぜ,この道筋でPythonに出会わなかったのか.

最近だと,数値計算のルーチンだけの実行ファイルを生成して,可視化ツール側でpipeを使って呼び出して一括処理とかするようになり始めました.

編集方針

  • コンセプト的には「数理科学系学生のためのプログラミング」を中心に記事をポストします.
  • 基本的には備忘録としてメモ代わりに使っていきます.あと単純に作文の練習もしたかった.
  • 基本的にはオープンな状態でブログを書いていきますが,同じ研究室のメンバーや初学者に向けて少しでも役に立つような記事が書ければいいかなくらいに思っています.
  • 情報系の学科というわけではないので,ガチガチでコードを組んでるわけではないです.この機内にプログラマーな方がいらっしゃいましたら,お近くの客室コメント欄でアドバイスをいただけると幸いです.
  • 当面はこの時期に需要が見込まれるであろう,LaTeXに関するポストが集中するだろうと思います.

*1:もともと,別のサービスでこの記事を投げたのですが, 「ここにはふさわしくない記事です.内輪の紹介であれば内輪でやってください.」と,ユーザーからとコメントをいただいたので, はてなの方にお引越ししました.(全然,内輪の紹介ではなかったんだけど.)

さすがに1発目のコメントがこれなのは心折れる.

これからtipsを書いていく上でバックグラウンドの共有とか結構大事かなと思っていたのですが,指摘された点も一理あると思ったので. 相性が良いこちらのサービスに乗り換えました.