LoginSignup
2
1

More than 1 year has passed since last update.

TeX入門 基本事項とエラーを自己解決できるようになるまで

Last updated at Posted at 2021-06-19

目標

目標
* TeX の基本的な使い方を理解
* わからないことを自分で解決できるようになること

これを目標にして行きたいと思います.

$\TeX$を使う動機は私の記事をご覧ください.

ここでは目標で明記したように,基本的な使い方と,エラーなどの自己解決方法を紹介したいと思います.
しかし,1から10まで記事にすることは不可能なのでわからなかったら自分で調べる努力もしていただければと思います.

環境

  • Mac
  • texlive2020

WindowsとUbuntuでの組み合わせでも可能です!

とりあえず,次のようなversion情報が出力される環境を仮定します!
Windowsの方はUbuntu上でMacの方はターミナル(以下,Ubuntuを含めターミナルと略します.)で次のように入力します.

$ platex -version

すると次のように出力されている状況です.
スクリーンショット 2021-06-19 14.54.00.png

これがまだできていない方はWindowsユーザ向けではありますが次の記事をご覧ください.

文章作成の基本

おまじない

一番初歩的ですが,$\TeX$の拡張子は基本的に.texです.そこで,一番初めに簡単な文章を作成してみましょう.

main.tex
\documentclass[]{jsarticle}

\begin{document}
Hello \TeX

数学でもっとも美しい数式の一つである\textbf{オイラーの公式}を紹介します.

\[ e^{i \theta} = \cos \theta  + i \sin \theta \]
\end{document}

ここで,なんとなくわかることとしては,なんだか\から始まるキーワードに意味がありそうだなと予想できます.

ここで,覚えて欲しいことは次の部分がおまじないということです.

とりあえず,この意味が知りたい方は自分で調べてみましょう.まずはこのおまじない(テンプレートのようなもの)があると理解していただければと思います.

template.tex
\documentclass[]{jsarticle}

\begin{document} 

\end{document}

この段階ではこの文章を打ち込んだorコピペしただけだと思うので,実際にコンパイルしてみましょう.

コンパイル方法

最後に簡単にコンパイルする方法を紹介しますがまずは原始的な方法で!

$から始まる行を順番にターミナルで実行します.

compile
$ ls # カレントディレクトリにmain.texが存在するか確認
main.tex

$ platex main.tex # .tex -> .dviを作成
$ dvipdfmx main.dvi # .dvi -> .pdfを作成

順番に実行すると,うまくいけば次ように出力されるはずです.
スクリーンショット 2021-06-19 15.10.37.png

とりあえず,これで簡単に文章を作成することができました.

カレントディレクトリを見るとmain.pdfができていることがわかります.
スクリーンショット 2021-06-19 15.15.48.png

うまくいかない場合

次の要因を順番に検証してみてください.それでもダメなら,大人しくOverleafを使いましょう.

  1. platex -versionができているか確認しましょう
  2. カレントディレクトリにmain.texが存在しているか確認しましょう
  3. main.texをコピペし直してコンパイルしてみましょう

基本的なところ

  • コメントアウト

基本的に単一行でのコメントだけで%を使います.もちろん,ブロックコメントのようなことも可能ですので自分で調べてみてください.

  • 命令環境

hogeはなんでもいいとして \begin{hoge} \end{hoge}で囲まれた部分を(hoge)環境と言います.\begin{}と\end{}はセットなのでどちらかがかけてしまったらエラーになってしまう.

\begin{hoge}
 %  この行はコメントです
 % ここは\begin{hoge}と\end{hoge}で囲まれているのでhoge環境です
\end{hoge}
  • プリアンブル

\documentclassと\begin{document}で挟まれた部分のこと.パッケージの追加を宣言する時に使ったりすすので結構な頻出単語.

\documentclass[]{jsarticle}

% ここがプリアンブル

\begin{document} 
% 本文はここに書く
\end{document}
  • パッケージの利用

使用するパッケージはプリアンブルに記述します.
例えば、amsmathパッケージを使うこと宣言する場合は次のようになります.

\documentclass[]{jsarticle}
\usepackage{amsmath} % これが宣言部

\begin{document} 
\begin{align}
    y = \sin x
\end{align}
\end{document}

パッケージについて詳しく知りたい方は自分で調べてみてください.奥が深すぎて全てを語ることはできません.

  • インライン要素

改行を伴わない要素
例えば,\( \)の中身に記述したりする.

  • ブロック要素

改行と伴う要素
例えば,\[ \]の中に記述したりする.ブロック要素で数式を書いた場合は基本的に中央寄せされる.オイラーの公式も中央寄せされていた.

簡単な命令

例えば,冒頭でオイラーの公式を$\TeX$を使って表示させてみましたが,その際に上添字をe^{i \theta}とかギリシャ文字の$\theta$を\thetaとかで表現していました.

初学者の方はこれを全部覚えなければいけないのか?と動揺するかもしれませんが,とてもじゃないけどこんな無数にあるものを全部覚えられませんなので安心してください.Google先生がなんでも教えてくれます.

実際にお使いのブラウザで調べてみましょう.

「tex ギリシャ文字」 で検索

絶対に出てきます.
では$\alpha$はどういう命令でしょうか?では、$\varepsilon$ は? $\epsilon$ではありませんよ.

もちろんQiitaのこの記事をマークダウン表示されたらわかることですが(笑)
ここで大切なことは,実現したいことを直感的に検索すれば大体のことはわかるということです.なので,周りのできる人に聞くのもいいですがお願いですので自分で調べてからにしてください.

エラーが出たら

実際に出力されるエラーを元にそれらを回避する方法を紹介します.

次のファイルをコンパイルしようとするとエラーになります.

error.tex

\documentclass[]{jsarticle}

\begin{document}
Hello \TeX

数学でもっとも美しい数式の一つである\textbf{オイラーの公式}を紹介します.

\begin{align} 
	e^{i \theta} = \cos \theta  + i \sin \theta
\end{align}
\end{document}

ターミナルには次のような出力があります.

一部編集しわかりやすくしていますので,若干違いますが...

platex error.tex  # ファイルをコンパイルしようとした.

This is e-pTeX, Version 3.14159265-p3.8.3-191112-2.6 (utf8.euc) (TeX Live 2020) (preloaded format=platex)
 restricted \write18 enabled.
entering extended mode
(./error.tex
pLaTeX2e <2020-02-02>+3 (based on LaTeX2e <2020-02-02> patch level 5)
L3 programming layer <2020-03-06>
(/usr/local/texlive/2020/texmf-dist/tex/platex/jsclasses/jsarticle.cls
Document Class: jsarticle 2020/02/02 jsclasses (okumura, texjporg)
(/usr/local/texlive/2020/texmf-dist/tex/platex/jsclasses/jslogo.sty))
(/usr/local/texlive/2020/texmf-dist/tex/latex/l3backend/l3backend-dvips.def)
No file error.aux.


! LaTeX Error: Environment align undefined.    # ここ!!!!!!!!!!!
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.8 \begin{align}                      # この行も重要!!!!!!!!!!!!!!!!!!!!!!!
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                 
? 

ここで重要なことは,エラー内容ではなくなんのエラーなのかということです.

エラーの判別方法

エラーの判別方法はズバリ! ~の行を見れば明らかです!そしてこのエラーを解決することができれば,目の前のエラーを回避することができます.

エラーの検索方法

! から始まる行をそのままGoogleに貼り付けましょう.そして英語がわかる方が大体の意味がわかるでしょう!

「! LaTeX Error: Environment align undefined.」 で検索

ここでは簡単に,エラーの内容は,l.8(8行目のこと)で「align」という環境が使われてるけどそんなん定義されていないぜ!って$\TeX$に怒られています.

ググればこのエラーの回避方法がpackegeの宣言が不足しているという結論に至るでしょう.(もちろん、タイプミスもあれば実在しない場合も考えられるが...)

なので,次のように必要なパッケージを宣言しました.

good.tex
\documentclass[]{jsarticle}

\usepackage{amsmath} % これを追加したよ!

\begin{document}
Hello \TeX

数学でもっとも美しい数式の一つである\textbf{オイラーの公式}を紹介します.

\begin{align} 
	e^{i \theta} = \cos \theta  + i \sin \theta
\end{align}
\end{document}

これはコンパイルが通りますので

$ ls # good.texの存在を確認
good.tex
$ platex good.tex
$ dvipdfmx good.dvi

でコンパイルできることを確認してください.

ここまで実際にエラーを回避する方法を紹介してきました.慣れてくればエラーを出さずにできるかもしれませんが最初はエラーだらけだと思いますが一つ一つ解決することができれば大丈夫です.

コンパイルが面倒な方へ

コンパイルって非常に面倒ではありませんか?
これが面倒で$\TeX$を使いたくないという人も多いはず.そこでMakefileを紹介します.

構造自体はわからなくても大丈夫ですので気になったら自分でググりましょう.

ちなみに,2行目3行目の最初のインデントはtabです.

Makefile
main.pdf: main.tex
	platex main.tex
	dvipdfmx main.dvi

このMakefileの内容をmain.texと同じディレクトリに保存します.

$ ls 
Makefile main.tex
$ make $ これだけでコンパイルできる

このようにしてコンパイルする方法もあります.

ちなみに、私はVSCodeを使っていて,このmakeすらしません.保存するだけで自動的にコンパイルできるようにしてあります.
このやり方も慣れてきたら自分でググりましょう!

終わりに

肝心なところで「自分で調べよう」と書かれてとてもお怒りなのもわかりますが,本質的にググる能力がなければできるようにはならないと思います.
ですので実現したいことをググったり、エラーをググったりすることで検索能力も身につけていただければと思います.

最後までご覧いただき本当にありがとうございあました。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1