.. 報告会0602 ==================== 理系文章の書き方 ==================== :program:`Spinx` での数式や文字、表について紹介していく。 数式の書き方 ------------ 数式は :command:`latex` 形式で記述する。表記するためには主に「行間に挿入するタイプ」と「行内に挿入するタイプ」の2つの方法がある。 行間に挿入するタイプ ~~~~~~~~~~~~~~~~~~~~~~~ :: .. math:: z(x) = \int_0^{\infty} f(x) dx これが、 .. math:: z(x) = \int_0^{\infty} f(x) dx となる。ただし、数式の大きさ位置は指定できない。 行内に挿入するタイプ ~~~~~~~~~~~~~~~~~~~~~~ :: この式は :math:`z(x) = \int_0^{\infty} f(x) dx` というふうに書ける。 この式は :math:`z(x) = \int_0^{\infty} f(x) dx` というふうに書ける。 図の入れ方 ------------ 図に説明を入れるには、例えば :file:`force.png` を入れたければ、 .. code-block:: none :caption: 図の例 .. figure:: force.png :width: 200 :name: @f12-8 図の例:自由連結鎖の伸長変化に伴う張力 縦軸は :math:`\dfrac{l}{kT}f` 、横軸は :math:`\nu` これを実行すると、 .. figure:: force.png :width: 200 :name: @f12-8 図の例:自由連結鎖の伸長変化に伴う張力 縦軸は :math:`\dfrac{l}{kT}f` 、横軸は :math:`\nu` ここで、図のサイズを指定するには%ではなくpixelで指定を行う。 A4なら幅が500ピクセルぐらい :: :width: 500 あるいは高さを指定してもよい:: :height: 200 図のラベルを貼りたければ:: :name: で指定し、参照する際は:: :numref: を使う。ただし、 :file:`cpnf.py` 中で ``numfig=True`` になっていないといけない。:: :numref:`@f12-8` より は、 :numref:`@f12-8` より となる。連番は順番に振られている。 表の書き方 ----------- 表の書き方は主に「CSVテーブル」と「listテーブル」の2つの方法がある。 CSVテーブル ~~~~~~~~~~~~~~ CSVテーブルは簡単な表の場合は便利である。 .. code-block:: none :caption: 表の例 .. csv-table:: 藤澤研究室教員情報 :header: "Name", "favorite food", "dislike food" :widths: 15, 10, 20 "Dr.Fuzisawa", Meet, "Vegetable, Apple, Chocolate" "Dr.Kameyama", Egg, "Meet.Fish, Tomato" "Dr.Isiguro", Sushi, "Cucumber, green, pepper" と入力すると以下の表が出来上がる。 .. csv-table:: 藤澤研究室教員情報 :header: "Name", "Favorite food", "Dislike food" :widths: 15, 10, 20 "Dr.Fujisawa", Meet, "Vegetable, Egg, Chocolate" "Dr.Kameyama", Egg, "Meet, Fish, Tomato" "Dr.Isiguro", Sushi, "Cucumber, green, pepper" .. important:: 改行をセル内に入れたい場合 ダブルクォート ``"`` で囲み 改行して ``|`` +スペースとする。 .. code-block:: none :caption: セル内改行の例 .. csv-table:: 藤澤研究室教員情報 :header: "Name", "Favorite food", "Dislike food" :widths: 15, 10, 20 "| Dr.Fujisawa | Dr. Eng.", Meet, "Vegetable, Egg, Chocolate" "| Dr.Kameyama | Dr. Sci.", Egg, "Meet, Fish, Tomato" "| Dr.Isiguro | Ph.D (Sci)", Sushi, "Cucumber, green, pepper" この表示は以下の通りである。 .. csv-table:: 藤澤研究室教員情報 :header: "Name", "Favorite food", "Dislike food" :widths: 15, 10, 20 "| Dr.Fujisawa | Dr. Eng.", Meet, "Vegetable, Egg, Chocolate" "| Dr.Kameyama | Dr. Sci.", Egg, "Meet, Fish, Tomato" "| Dr.Isiguro | Ph.D (Sci.)", Sushi, "Cucumber, green, pepper" 一般的なcsvテーブルファイル(区切り記号が ``,`` )を読み込むなら、 .. literalinclude:: sample.csv :caption: sample.csv 以下のようにすればよい .. code-block:: none :caption: csvファイル読み込みの例 .. csv-table:: :file: sample.csv :encoding: UTF-8 :header-rows: 1 :stub-columns: 1 と入力すると以下の表が出来上がる。 .. csv-table:: :file: sample.csv :encoding: UTF-8 :header-rows: 1 :stub-columns: 1 さらに進んだcsv-tableの使い方 ============================= CSVテーブルを編集するのは :program:`libreoffice calc` などの表計算ソフトを 使用すると良い。 1. :program:`libreoffice calc` を開きセルの内容を入力する。 あまり幅が長くならないよう適度に改行を入力する。セルの中に数式などを入れることも可能。 .. image:: t-0.png :height: 150 2. 入力が済んだらファイルをセーブする。その際、ファイルの種類は ``テキスト CSV`` 、 ``フィルター設定を編集する`` にチェックを入れ。 ``保存`` をクリック .. image:: t-1.png :height: 300 3. ファイル形式の確認が表示されるが迷わず ``テキストCSV形式を使用`` をクリック。 .. image:: t-2.png :height: 100 4. フィルター設定の画面が表示されるので、フィールドの区切り記号は ``;`` 、 ``すべてのテキストのセルを引用符で囲む`` をクリック。ファイルが保存され終わり。 .. image:: t-3.png :height: 200 5. 再編集の場合は、ファイル名を指定するとテキストのインポート画面が表示される。区切りのオプションで、 ``コンマ`` のチェックは外し、 ``セミコロン`` のチェックを入れる。 .. image:: t-4.png :height: 250 これで、通常のシート画面が表示され、編集を行う。再セーブする際は、必ずcsvファイル形式を確認すること。 このようにして作成したcsvファイルは、以下のように用いる。最後の行の区切り記号の指定に注意。 .. code-block:: none :caption: 表計算ソフトで編集したcsv-tableの読み込み .. csv-table:: :file: sample.csv :encoding: UTF-8 :header-rows: 1 :stub-columns: 1 :delim: ; csv-table のオプション ====================== csv-tableの使用に際して良く使用するオプションを説明する。 ``:file:`` ローカルのファイルシステムにあるcsvファイルを指定する ``:encoding:`` 文字コードを指定する ``:delim:`` 区切り文字の指定 ``:header-rows:`` 見出し行の行数指定 ``:stub-columns:`` 見出し列の列数指定 ``:widths:`` 列の幅指定。相対量で表す。 listテーブル ~~~~~~~~~~~~~~~ :: .. list-table:: 藤澤研究室教員情報 :header-rows: 1 * - Name - Favorite food - Dislike food * - Dr.Fujisawa - Meet,Fish,Vegetable, - Egg, Chocolate とコマンドすると以下の表が出来上がる。 .. list-table:: 藤澤研究室教員情報 :header-rows: 1 * - Name - Favorite food - Dislike food * - Dr.Fujisawa - Meet - Vegetable, Egg, Chocolate 以上のことを用いて以下に具体例を示す。 ギリシャ文字一覧 ------------------ .. list-table:: ギリシャ文字一覧表 :header-rows: 1 * - 読み方 - 大文字 - コマンド - 小文字 - コマンド - 変体文字 - コマンド * - あるふぁ - :math:`A` - ``:math:`A``` - :math:`\alpha` - ``:math:`\alpha``` - - * - ベーた - :math:`B` - ``:math:`B``` - :math:`\beta` - ``:math:`\beta``` - - * - がんま - :math:`\Gamma` - ``:math:`\Gamma``` - :math:`\gamma` - ``:maht:`\gamma``` - - * - でるた - :math:`\Delta` - ``:math:`\Delta``` - :math:`\delta` - ``:math:`\delta``` - - * - いぷしろん - :math:`E` - ``:math:`E``` - :math:`\epsilon` - ``:math:`\epsilon``` - :math:`\varepsilon` - ``:math:`\varepsilon``` * - ぜーた - :math:`Z` - ``:math:`Z``` - :math:`\zeta` - ``:math:`\zeta``` - - * - いーた - :math:`H` - ``:math:`H``` - :math:`\eta` - ``:math:`\eta``` - - * - しーた - :math:`\Theta` - ``:math:`\Theta``` - :math:`\theta` - ``:math:`\theta``` - :math:`\vartheta` - ``:math:`\vartheta``` * - いおた - :math:`I` - ``:math:`I``` - :math:`\iota` - ``:math:`\iota``` - - * - かっぱ - :math:`K` - ``:math:`K``` - :math:`\kappa` - ``:math:`\kappa``` - - * - らむだ - :math:`\Lambda` - ``:math:`\Lambda``` - :math:`\lambda` - ``:math:`\lambda``` - - * - みゅー - :math:`M` - ``:math:`M``` - :math:`\mu` - ``:math:`\mu``` - - * - にゅー - :math:`N` - ``:maht:`N``` - :math:`\nu` - ``:math:`\nu``` - - * - くさい - :math:`\Xi` - ``:math:`\Xi``` - :math:`\xi` - ``:math:`\xi``` - - * - おみくろん - :math:`O` - ``:math:`O``` - :math:`o` - ``:math:`o``` - - * - ぱい - :math:`\Pi` - ``:math:`\Pi``` - :math:`\pi` - ``:math:`\pi``` - :math:`\varpi` - ``:math:`\varpi``` * - ろー - :math:`P` - ``:math:`P``` - :math:`\rho` - ``:math:`\rho``` - :math:`\varrho` - ``:math:`\varrho``` * - しぐま - :math:`\Sigma` - ``:math:`\Sigma``` - :math:`\sigma` - ``:math:`\sigma``` - :math:`\varsigma` - ``:math:`\varsigma``` * - たう - :math:`T` - ``:math:`T``` - :math:`\tau` - ``:math:`\tau``` - - * - ゆぷしろん - :math:`\Upsilon` - ``:math:`\Upsilon``` - :math:`\upsilon` - ``:math:`\upsilon``` - - * - ふぁい - :math:`\Phi` - ``:math:`\Phi``` - :math:`\phi` - ``:math:`\phi``` - :math:`\varphi` - ``:math:`\varphi``` * - かい - :math:`X` - ``:math:`X``` - :math:`\chi` - ``:math:`\chi``` - - * - ぷさい - :math:`\Psi` - ``:math:`\Psi``` - :math:`\psi` - ``:math:`\psi``` - - * - おめが - :math:`\Omega` - ``:math:`\Omega``` - :math:`\omega` - ``:math:`\omega``` - - 行列の表記 ---------- 最後に行列の表記について紹介していく。 コマンドと出力は以下のとおりである。 .. list-table:: 行列について part 1 * - コマンド - 出力 * - | ``.. math::`` | ``A =`` | ``\underbrace{ \left.`` | ``\begin{pmatrix}`` | ``a & b & c \\`` | ``d & e & f \\`` | ``g & h & i`` | ``\end{pmatrix}`` | ``\right\}}_{\text{$3$ 列}}`` | ``\,\text{$3$ 行}``` - .. math:: A = \underbrace{ \left. \begin{pmatrix} a & b & c \\ d & e & f \\ g & h & i \end{pmatrix} \right\}}_{\text{$3$ 列}} \,\text{$3$ 行} * - | ``.. math::`` | ``A =`` | ``\underbrace{ \left.`` | ``\begin{pmatrix}`` | ``a_{11}&0&0&\cdots &0 \\`` | ``0&a_{22}&0&\cdots &0 \\`` | ``0&0&a_{33}&\cdots &0 \\`` | ``\vdots&&&\ddots&\\`` | ``0&0&0&\cdots &a_{MN}`` | ``\end{pmatrix}`` | ``\right\}}_{\text{$N$ 列}}`` | ``\,\text{$M$ 行}``` - :math:`A = \underbrace{ \left. \begin{pmatrix} a_{11}&0&0&\cdots &0 \\ 0&a_{22}&0&\cdots &0 \\ 0&0&a_{33}&\cdots &0 \\ \vdots&&&\ddots&\\ 0&0&0&\cdots &a_{MN}\\ \end{pmatrix} \right\}}_{\text{$N$ 列}} \,\text{$M$ 行}`