texファイル小技 - cist-kklab/article-tex-template GitHub Wiki

texページ設定

main.tex 内では、ページ設定が2種類あり、下記のものが有効になっている。

% (すぐ上の行を使わないとき用)
\makeatletter
% \setlength{\voffset}{0.5truecm} % old 上余白 (1)
% \setlength{\oddsidemargin}{7.0truemm} % old 左余白 (3): 25.4mm + 7.0mm = 32.4mm
\setlength{\oddsidemargin}{4.6truemm} % 左余白: 25.4mm + 4.6mm = 30mm, 13pt
% \setlength{\evensidemargin}{-5.5truemm} % old 偶数頁左余白 (3): 25.4 - 5.5mm = 19.9mm, jreportなので不要?
% \setlength{\topmargin}{-1truecm} % old (4)
\setlength{\topmargin}{-23pt} % -12pt+(-11pt) = -23pt, 8.1mm (4)
% \setlength{\headsep}{2truecm} % old 上余白 (6)
\setlength{\headsep}{25pt} % 8.81mm, 12pt+14pt=25pt (6), 上余白30mmになるように設定した
% \setlength{\textheight}{22truecm} % old (7)
\setlength{\textheight}{672pt} % 845pt-85pt*2, 237truemm (7), 下余白30mmになるように設定した
% \setlength{\textwidth}{15truecm} % old (8)
\setlength{\textwidth}{441pt} % (8) 155truemm, 右余白25mmになるように設定した
% \setlength{\footskip}{25truemm} % old (11)
\setlength{\footskip}{30pt} % 10.5pt+19.5pt=30pt, 10.6mm(11), ページ数の位置
% 1pt = 0.35mm
\makeatother

もう一つは

% \usepackage[top=30truemm,bottom=30truemm,left=30truemm,right=20truemm]{geometry} % 余白設定

となっており、両方同じ内容(厳密に言うと微妙に異なる)の設定であるが、どちらか不要になったものは消去(コメントアウト)してよい。

章と節・相互参照

環境構築手順書内でも何個か紹介されているが、ここでもいくつか触れる。googleに聞くのもありではあるが、その際は自己責任で......

\chapter, \section, \subsection

章,節を書くときに使う.番号は自動でつく.

\chapter{序章} % 第1章 序章
\section{背景} % 1.1 背景
\subsection{} % 1.1.1
\subsubsection{} % 番号なし 

\chapter*{}と書くと,章番号が付かない.この方法は参考文献のページでは使えない可能性があるため注意.

\label \ref

相互参照.文書の章や図にlabelコマンド付けると,その図の番号,章の番号を自動で入力してくれる.

以下のサンプルは図を配置するとき

図\ref{hogehoge}に,今日の晩御飯の献立の図を示す. % (コンパイル時,図の個数に応じて) 「図1.1に,......」と表示される.

\begin{figure}[H]
    \centering % 中央に配置
    \includegraphics[width=150mm]{hogehoge.png} % 挿入する図のファイル
    \caption{図のタイトル}
    \label{hogehoge} % これがラベル
\end{figure}

画像や表を挿入する

注意点

main_example.tex内の以下のpackageを使用する。以下の記述は消さないようにすること。

\usepackage{plautopatch}
\usepackage[dvipdfmx]{graphicx, xcolor, pict2e} % geometory: 余白設定 graphicx: 画像挿入 xcolor: 文字の色付け pict2e: 図が描ける
\usepackage{here} % 図の配置を指定できる
\usepackage{float} % here と同じらしい
\usepackage{longtable} % 表
\usepackage{colortbl} % 表に色を付ける
\usepackage{tabularx} % 表組みの設定
\usepackage{enumerate} % 番号付き箇条書き
\usepackage{lscape} % 図表回転
\usepackage{multirow} % 表のセルに連続して同じ値を書くときにまとめて書ける(行)
\usepackage{diagbox} % 表ヘッダ作成
\usepackage{multicol} % 表のセルに連続して同じ値を書くときにまとめて書ける(列)
\usepackage{wrapfig} % 図と文章を並べて書ける
\usepackage{hhline}

画像を挿入する

ローカル、overleaf同様、論文に挿入したい画像ファイルを用意する。overleafを使う場合は、アップロードをすること。

画像を挿入したい箇所で、以下のコードを書く。

\begin{figure}[H]
    \centering % 中央に配置させる
    \includegraphics[width=90mm]{hogehoge.png}
    \caption{話しことばチェッカーの話しことば検出画面}
    \label{label}
\end{figure}

コンパイル後、該当の位置に画像が表示される。widthの値は適宜変更して使うこと。画像の大きさはscaleでも設定できる。横向きにして配置するときは、angle=90も追加すること。

表を挿入する

下記サイトで表を作ることができる。

https://www.tablesgenerator.com/latex_tables#

上記サイトの設定では以下の設定をすること

  • Compress whitespace にチェックをいれる
  • プルダウンから
    • Caption above にチェックをいれる
    • Center table holizontally にチェックをいれる

table caption では表のタイトル、labelでは、相互参照につかう名前を設定できる。

表のGUIに表示したい内容を書き写し、generateボタンを押下すると対応するtexソースコードが表示される。 \begin{figure}[H]Hが書き込まれていないため、必ず後で書き込むこと。

表そのものをtexファイルとして扱うこともできる(詳細は「texとファイル構造」で取り上げる)。 なお、表のセル内の改行は自動で行わないため注意すること。

表内で使われる記号

  • \begin{tabular}{|l||l|l|l|} ~ \end{tabluar}: この2つで囲まれた範囲が表として出力される。

    • {|l|l|l|}: 表の列の数を定義する。この書式では3列分の列を意味する。|は縦の罫線、lは左詰めを意味する。他にはc(中央揃え)、r(右詰め)がある。
  • &: セルの区切り

  • \\ \hline: \\は普通の改行、直後の\hlineは横の罫線を引く。

特殊な章(参考文献・謝辞など)

第1章(ページ数)

main_example.tex内の64行目に、\pagenumbering{roman}が書かれているが、これは、ページ数をローマ数字で書くという意味のコマンドである。このまま進めると、全てのページ数がローマ数字で書かれるため、第1章の部分だけ、追記をしなければならない。 以下のように書くことで、ページ数表示が算用数字になり、本文からページカウントが始まる。

\chapter{序章}
\pagenumbering{arabic}

ただし、\pagenumberinfg{arabic}は第1章の部分の一回だけしか使わない。他の章で使うとカウントがリセットされる。

参考文献の章

先にコードを示す。

\clearpage % 改ページ
\addcontentsline{toc}{chapter}{参考文献} % 章立てせずに目次に追加するおまじない
\renewcommand{\bibname}{参考文献} % これがないと,タイトルが「関連図書」になる
\begin{thebibliography}{99999}

\bibitem{name}
論文名, 収録冊子, 筆者,年数

\bibitem{chatgpt}
ChatGPTブラウザ版,OpenAI,\url{https://chat.openai.com/}

\end{thebibliography}

冒頭1~3行はtexの仕様上付けられているため、消さないこと。

  • \addcontentsline{1}{2}{3}: 目次に追加できる。1ではtoc (TableOfContentsの略)を書く。これで目次に追加される。2ではchapterと書くことで章と同じインデントで追加される。3では追加する際のタイトルを書いている。

  • \renewcommand: texで標準で定義されているコマンドの定義を書き換える。\bibnameが参考文献に当たるが、デフォルトでは「関連図書」となっているため、コマンドを再定義している。

  • \begin{thebibliography}{99}: 画像を挿入するときの\begin{image}、表を挿入するときの\begin{table}と同じ要領で、参考文献を記すために使う。99は参考文献リストの上限(配列の宣言と考え方は一緒)

4行目以降の\bibitem{}から参考文献を書いていく。参考文献の書式は各指導教員から聞く、過去の論文を参照しながら書くことを推奨する。\bibitem{}の波括弧は表や図で使ってる\label{}\ref{}の関係と同じ。ただ、番号は書いた順につけられるため、順番には注意すること。

% 本文

また、阿良々木は、友人を作ることによって人間強度が下がると主張している \cite{araragi} が、人間強度に関する具体的な定義が示されていない。

% コンパイル時は以下のように映る
%
% また、阿良々木は、友人を作ることによって人間強度が下がると主張している[1]が、人間強度に関する具体的な定義が示されていない。
%

% 参考文献の章

\clearpage % 改ページ
\addcontentsline{toc}{chapter}{参考文献} % 章立てせずに目次に追加するおまじない
\renewcommand{\bibname}{参考文献} % これがないと,タイトルが「関連図書」になる
\begin{thebibliography}{99}

\bibitem{araragi} % ここの araragi と \cite{araragi}で一致する。
[論文名], [収録されている冊子],[筆者],[年数] % ここの書式は指導教員の指示があればそれに合わせる

\end{thebibliography}

謝辞

\chapter*{}を用いると、章番号が付かない章が作られる。基本的に、章や節タイトルのコマンドに*を付けると番号が付かない。

\chapter*{謝辞}
感謝します。

数式を書く

texの本来の役割であり、きれいな数式を表示できる。mac使いの人はpagesというappで書かされているので、mac使いに聞くのもアリ。

\begin{equation}
% 数式
\end{equation}

数式を書くために覚えておくコマンドは大量にある。

  • ^_: ^は上付き文字、_は下付き文字にする記号
a_i % aの右下に小さいiが付いて表示される
x^n % xの右上に小さいnが付いて表示される

a_{i+1} % aの右下に小さいi+1が付いて表示される
x^{n-1} % xの右上に小さいn-1が付いて表示される
  • \frac{(分子)}{(分母)}: 分数の表示

  • \sum{(下側)}{(上側)}: Σ

  • \int{(下端)}{(上端)}: ∫

% 積分使う式のサンプル
% \infty は無限大(∞)の記号
\int _0 ^\infty f(x) \, dx 
  • \sin , \cos , \tan: 三角関数

  • \text{}: 普通の文字(斜体とかにならない)文字を入れる

\begin{equation}
    1+1 = \text{みそスープ}
\end{equation}

\begin{equation}~\end{equation}で作成した式は、式番号が付与される。これは表の番号や図の番号と同じ扱いであり、\label{}-\ref{}が使える。

数式内で改行する

数式環境に\begin{split}~\end{split}を重ねる。

\begin{equation}
    \begin{split}
        % 数式 \\
        % 数式
    \end{split}
\end{equation}

おまけ

&を使うと、その部分をそろえてくれる。等号の位置を揃える時に使う。

\begin{equation}
  \begin{split} 
    a &= 1+1 \\
      &= 2
  \end{split}
\end{equation}

文中で数式を使う

$ ~ $の範囲内に入力した文字を数式として表示する。書き方は上記と一緒。

$$ ~ $$を使うと、式番号がない数式を表示できる。コンパイル後の表示は\begin{equation} ~ end{equation}と同じ。

texとファイル構造

main.texファイル内の\begin{document} ~ \end{document}内に書かれたものが文書として出力される. \inputは,別のtexファイルの内容を挿入するコマンドであり,挿入したいファイルパスを指定すれば,そのtexファイルを挿入することができる.

overleaf内のファイル構造が以下の通りになっているとする.

    ├ chapter // 論文各章
    │   └ chapter-1.tex
    ├ image // 画像(表のスクショ) 
    |   └ hoge.png
    ├ table //
    │   └ matrics.tex
    └ main.tex

このとき,tableフォルダに配置したmatrics.texを載せたいとき,先述の書式で該当の表を挿入することができる.

ファイルを分けて原稿を書く: \input

main.tex内に直書きすることもできるが,\input を使うことで,個別に原稿を書いて,コンパイル時に結合するという方法もある.

\begin{document}

\pagenumbering{roman}
\title{}
\author{}
\date{\today}
\maketitle

\tableofcontents
\thispagestyle{empty}

% 以下本文
\input{chapter/chapter1} % 第1章のtexファイル
\input{chapter/chapter2}
\input{chapter/chapter3}

\end{document}

表についても,この方式で個別のファイルで作ることができる.

前節で述べたinputコマンドを使用して表のtexファイルを載せる.その結果を\ref{table-matrics}に示す.

\input{table/table-matrics}

表のファイルは,専用のフォルダを作成すると煩雑になりにくく,管理が楽になることがわかる.
% matrics.tex

\begin{table}[H]
\centering
\caption{表タイトル}
\label{table-matrics}
\begin{tabular}{|l|r|}
% いろいろ
\end{tabular}
\end{table}

\inputとファイル構造の整理を意識すると,画像や表を含めて原稿の管理が非常に簡単になる.ただし,画像の挿入では\inputは使えない(多分)ため,注意すること.

usepackage

javaやpythonのimportと同じ.使える文字やコマンドが増えたり,書きたい書式が実現できるなどいろいろある. 基本的にサンプル(main_sample.tex)に書かれているものは必要なものと考えてよい(おそらく無くてもいいものもある).

頂いたご指摘(f先生より)

  • acknowledgement 命令がある.

  • 参考文献は bibtex 前提で、数字で出せ([1])系のばあいは、ソート命令で、TeXに順番を決めさせることができるらしい.

  • bibtex には何でもつっこんで育てるものです、特定の論文用参考文献ファイルではなくて、過去に調べた文献が全部書いてある素敵ファイル。

参考リンク

http://www.yamamo10.jp/yamamoto/comp/latex/index.html

https://texwiki.texjp.org/

https://gist.github.com/Yarakashi-Kikohshi/986bb23547866e32c8916b81099a470a