めっくろぐ

mechlog - メモ帳

卒論・修論を書く人のためのLaTeX入門

はじめに

周りにLaTeXを使う人が全くいなかったので,勉強してみました.
※少しずつ更新予定

[改訂第7版]LaTeX2ε美文書作成入門

[改訂第7版]LaTeX2ε美文書作成入門

LaTeXを使う人は全員持っていると言っても過言ではないらしい(?)です.
LaTeXの基本的な使い方,仕組みに関しては,この本を読めば分かります.

ちなみに,この本の第1刷を技術評論社の電子版を買ったところ,
第2刷が発売されたときに無料でアップデートが貰えたので,
紙版よりもお得感がありました.

インストール

TeX Live 2017 をWindows10にインストールしました.
上の書籍を購入すると,技術評論社のwebサイトからダウンロードできます.
(紙版の場合,第2刷以降でTeX Live 2017のインストールDVDが付属します.
第1刷の付属DVDにはTeX Live 2016が入っていますが,
TeX Live 2016では,後述のjsreportが使えません.)

テンプレート

こちらより拝借
http://chem.tf.chiba-u.jp/gacb10/memo.files/latex/latex.html
使い方も丁寧に書いてあり,初心者でも読めば分かります.
これをベースに,自分の用途(機電系の学位論文)に合うようにアレンジしました.

変更点

jsbookのreportオプション → jsreport

TeX Live 2017より登場したドキュメントクラスです.

エディタ

Vimとかも調べてみましたが,
初心者なので,当面は大人しくTeXWorksを使うことにしました.
上のTeX Liveを入れれば付いてきます.

使い方

「ヘルプ」→「A short manual for TeXworks」
から見られます.

エディタの設定

「編集」→「設定」から
f:id:mechlog:20181105224634j:plain
行番号はチェックを入れておきます.

f:id:mechlog:20181105224907j:plain
エンジンは,pLaTeXとpBibTeXを頻繁に使うので,矢印を押して上に持ってきておきます.

Tab補完

TeXworks/使い方 - TeX Wiki
¥+キーワードの一部+Tabキー → LaTexコマンドの候補が現れます.
x+ギリシャ文字の一部+Tabキー → ギリシア文字の候補が現れます.

ショートカット

デフォルトのショートカットは以下にある通り
texworksの使い方

オリジナルのショートカットも登録できます.

「ヘルプ」→「設定の管理」で,
「データ格納先」のフォルダへ飛びます.
\texworks\configurationフォルダ内に,
「shortcuts.ini」というファイルを,適当なエディタを使って作り,
そのファイル内にコマンドを書き込めば,オリジナルのショートカットを指定できます.

例えば,F5でタイプセットできるようにするには,
actionTypeset = F5
と書けばOK.

その他のコマンドは,上記「A short manual for TeXworks」の,
「A Customizing TEXworks,A.2 Keyboard shortcuts」の項に載っています.

一応,GitHubにもshortcuts.iniを載せています.
github.com


図の貼り込み

MATLABのfigure

eps形式で保存し,Adobe Acrobatを使ってpdf形式に変換してから,本文に貼り込みます.
epsからpdfに変換する際,キャプション等に斜体を使っているとフォントが崩れることがあるので,
その場合にはAcrobat上で修正しておきます.

PowerPointで作った図

対象の図をグループ化して,右クリック→「図として保存」から,emf形式で出力します.
その後,Draw Freely | Inkscapeを使ってeps形式に変換.
最後にpdf形式に直して保存しておきます.
qiita.com


表の作成

エクセルで作った表をLaTeX形式に変換してくれる,「Excel2LaTeX」が便利です.

github.com

一式をダウンロードし,
Excel2LaTeX.xlaをエクセルで開きます.

そこに表を作成した後,
f:id:mechlog:20181106094544j:plain

「アドイン」→「Convert Table to LaTeX」をクリックすれば,
LaTeXの記法が表示されるので,
それをTeXworksにコピペすれば,表が作れます.
f:id:mechlog:20181106094614j:plain

「Convert $^_\」からチェックを外しておけば,TeX記法の数式も入れられます.
完成した表はこんな感じ↓
f:id:mechlog:20181106094628j:plain

ハイパーリンク,しおりの設定

以下の通り.格好良くしおりを作れるのは,LaTeXの利点です.
ossyaritoori.hatenablog.com


参考文献の管理

BibTeXを使って管理.
詳しくはこちら.
http://chem.tf.chiba-u.jp/gacb10/memo.files/latex/latex.html#sec-6

「reference.bib」ファイルを編集し,
本文中に¥cite{} を用いて参考文献のラベルを貼ったら,

  1. pLaTeXでタイプセット
  2. pBibTeXでタイプセット
  3. pLaTeXでタイプセット×2回
の一連の流れを実行すると,本文中に参考文献の番号が入ります.
タイプセットに使うエンジンはここで切り替えます↓
f:id:mechlog:20181105224439p:plain

なぜこうした操作が必要かについては,上記の書籍188頁以降に書かれています.

matファイルの名前を日付にして,自動保存する

MATLABの実行結果を繰り返し保存したいとき,
matファイルに,実行日時をファイル名として自動的に付与できるようにしました.

save(datestr(now,'yyyymmdd_HHMMSS'))

この1文をスクリプトの最後に入れておけば,
例えば2018年10月29日13:15:21の実行結果であれば,
20181029_131521.mat
というファイル名で保存されます.

参考資料

jp.mathworks.com

ホイールローダの経路追従制御のMATLABコード

はじめに

建設機械の一種に,ホイールローダがあります.
操舵機構が普通のクルマとは異なり,アッカーマン機構ではなく,
前後輪の中間にある屈折点で車体が折れ曲がることにより進行方向が決まります.

こうした構造は,
中折れ式,アーティキュレート式などと呼ばれます.
旋回時でも前後輪が同じ位置を通過する(=内輪差・外輪差が生じない)ため,
不整地でも安定して走ることができる,
作業時の細かい位置決めがしやすい,
といった利点があり,建設機械・除雪車などで利用されています.

f:id:mechlog:20181015014401j:plain

ちなみに,こうした車両を日本の公道で運転する場合,
小型車両の場合は,小型特殊自動車免許(小特)が,
中型より大きい場合は,大型特殊自動車免許(大特)が必要になります.
また,バケットで土砂を掬ったり除雪したりする場合には,
車両系建設機械(整地・運搬・積込み用及び掘削用)運転技能講習 を修了する必要があります.

gazoo.com

以前,大特の免許を取った時にホイールローダを運転したのですが,
非常に独特な動きをしており,車両モデルとしてどのように表されるのか気になったので,
先行研究の結果をもとに,直線経路追従制御のシミュレーションをしてみました.

車両モデル・制御則

以下の論文をもとに,MATLABのサンプルプログラムを起こしてみました.
アルゴリズムの詳細は,以下論文の通りです.

城間直司,石川哲史,井上康介,福岡泰宏,森善一,
"車体屈折式操向車両の非線形直線経路追従制御"
日本機械学会論文集 C編 76 巻 (2010) 763 号
www.jstage.jst.go.jp
車両モデルは,タイヤ横滑りが生じないと仮定した,幾何モデルになります.
ホイールローダは,作業時であれば 10 km/h 程度で走行するため,
ダイナミクスを考慮しないこのモデルでも,車両の特性を記述することができると思われます.

実物のホイールローダでは,油圧アクチュエータにより車体の屈折を行うため,
求まった操向制御入力 u_n に基づいて車両を動かすことが出来ると考えられます.

シミュレーション結果

f:id:mechlog:20181015132255g:plain
赤色の目標直線経路に対して,5 m のオフセット開始位置からスタートした車両が,
追従していることが分かります.

MATLABサンプルコード

下記のGitHubリポジトリに載せています. github.com

車両パラメータは,中型ホイールローダであるコマツ WA100-8をもとに,適当な値を決めています.
http://www.komatsu-kenki.co.jp/products/download/pdf/wheel_loader/WA100-8.pdf