LaTeXで迷うこと・間違えること

どうでもいいっちゃどうでもいいことなんだけど

www.johndcook.com

ここに書いてあるのは

1. Quote

"Yes."

{"Yes."}

ではなく

``Yes."

{``Yes."}

2. 微分

{d}の前に空白を作る.{dx}はひとまとまりに見えるようにする.

dx  dy = r  dr  d\theta

{dx  dy = r  dr  d\theta}

ではなく

dx \, dy = r \, dr \, d\theta

{dx \, dy = r \, dr \, d\theta}

3. sinとかlogとか関数名

{\LaTeX}で定義されているものを使う.

\sin 2u = 2 \sin u \cos u

{\sin 2u = 2 \sin u \cos u}

4. inline math

文中の記号はinline mathで書く.

Given a matrix $A$ and vector $b$, solve $Ax = b$.

Given a matrix {A} and vector {b}, solve {Ax = b}.


といったところ.2は知らなかった.

で,それ以外にもだな


5. 括弧のでかさ

display mathで縦に長い式を括弧で囲むとき

\left(\int_0^1 x /, dx \right)

{ \displaystyle \left(\int_0^\infty x \, dx \right)}

てなかんじに\left(\right)で囲まないとかっこわるい

6. 微分記号の{\mathrm{d}}は斜体にしない

上の式でもやってる間違いなんだけど{\mathrm{d}}を斜体にしてはならない.斜体にならないようにするには

\mathrm{d}x

{\mathrm{d}x}

のように,\mathrmを使う.

TODO: じゃあ{\partial}は?

7. ネイピア数,虚数の記号は斜体にしない

{\mathrm{e}}とか{\mathrm{i}}も斜体にしてはならない.

8. 上付き,下付き

よく

10^12

て書いて

[tex:{1012}]

になっちゃうことがある.ちゃんと{}で囲む

10^{12}

{10^{12}}


これ以外にもありそうだけど

ところで,6,7については斜体にするのが間違いということでいいんだろうか?最初に上げたブログでは

Jeremy: I believe that is the European convention. My American eyes are accustomed to ‘d’ set in math italic.

という投稿者コメントがみられる.それからローマン体(イタリックにしない)を使うには\textを使えだとかネイピア数は\operatorname{e}にしろというコメントもある.

{\LaTeX} めんどくせぇ…

参考

matplotlibはTikz(PGF)出力ができる

plt.savefig('figure.pgf')のように拡張子をPGFにすると吐き出してくれる.

Typesetting With XeLaTeX/LuaLaTeX — Matplotlib 1.4.3 documentation

TeXの中に入れたいときは\resizeboxで幅を調整してやるといい

\begin{figure}[htb]
\centering
\resizebox{\linewidth}{!}{
\input{../ex1.pgf}
}
\caption{きゃぷしょん}
\label{fig:ex1}
\end{figure}

今まではPNGで出力して貼り付けていたが,この方法だとピクセル感がなくなってよい.

気になるライブラリ集 Haskell編

-- TODO いつか使う

ポータブルなQMLの実行環境(今回はWinのみ)をすぐ作る

QMLの弱点はWeb技術のようにどの環境にもあるツール(Webの場合ウェブブラウザ)を使って実行できないことだと思う.(※ Plaristote/qmlweb これはブラウザ上でQMLを実行できる実装.大変興味深い.)QMLの布教会をするにあたり,Qtをインストールさせるのは時間も手間もかかる(ネットワークリソースも)と判断し,とりあえずデモで用いるプログラムを実行できるなるべく小さい環境が欲しいと思った.USBメモリで渡して,インストール不要でQMLを実行できるような.

QMLをとりあえず実行するプログラムとしてはqmlsceneコマンドがよく用いられるが,

The qmlscene utility is meant to be used for testing your QML applications, and not as a launcher in a production environment. To launch a QML application in a production environment, develop a custom C++ application or bundle the QML file in a module. See Deploying QML applications for more information.

Prototyping with qmlscene | Qt 5.5

にあるように本来配布用ではない.あくまでおためし(開発)用なのでそのことを留意.

基本的に QML(Qt)アプリケーションの配布方法(Windows編) ver Qt5 - 理ろぐ にあることそのまま(やってしまってからそっくりそのままだと気づいた).

今回はQt 5.4 mingw 32bitを用いた.やったのはqmlscene.exeを持ってきてエラーが出たらdllを持ってくるのを繰り返しただけ.Qtがインストールされていないマシンにコピーしてデモアプリ動くことを確認.(アプリケーションによっては追加のファイルが必要になる)

.
├── Qt5Core.dll
├── Qt5Gui.dll
├── Qt5Network.dll
├── Qt5Qml.dll
├── Qt5Quick.dll
├── Qt5Widgets.dll
├── icudt53.dll
├── icuin53.dll
├── icuuc53.dll
├── libgcc_s_dw2-1.dll
├── libstdc++-6.dll
├── libwinpthread-1.dll
├── platforms/
│   └── qwindows.dll
├── QtQuick/
│   ├── Controls/
│   ├── Layouts/
│   └── Window.2/
├── QtQuick.2/
└── qmlscene.exe

11 directories, 169 files

先のページにあるようにexe,dll<Qt>/bin/から,qwindows.dll<Qt>/plugins/platforms/から,QML関連のモジュールのファイルは<Qt>/qml/からもってきた.