Aokashi Room

作った作品の紹介やレビュー、トラブルシューティングとか色々

TeXやnpmがだいぶ分かってきたお話

最近までは、レポートを制作する際にMicrosoft Wordとかのワープロソフトウェアを利用していました。というのも、去年か一昨年辺りにTeXを利用しようとして途中で挫折したことがあったためです。

最近までは周りがTeXやnpm、herokuとかを使いこなしている中、私だけ*1なかなか理解できず追いついていけない状態でしたが、だいぶ分かってきたので記事に残しておきます。なお、TeXとnpmの間で関係とかは無いのでそれぞれ別に説明します。ちなみに、下記の説明は間違いが残っているかもしれません。

TeX

TeXは簡単に言うと、記号と文字列を組み合わせて紙の文章に印刷できるPDFファイル*2を生成するプログラムです。TeXと一口に言ってますが、実際は派生*3が数多く存在していて、現在は機能的にもその派生を利用することが多いです。HTMLがWebサイトを作るためにテキストで書いているならば、TeXは文章を作るためにテキストで書いている事になります。多分。

TeXの環境構築で挫折した

そんなTeXですが、最近までは環境構築で挫折していました。環境構築をし始めた時はTeX Live(詳細は後述)をインストールしていましたが、そのままインストールして容量を大きく取っていたことで後に手放してしまいました。

その後、Linuxを使い始めて、TeXのエディタも使い始めたのですが、実行の際にエラーが表示されてうまくいきませんでした。この後、検索で資料を得るなりした所、自己解決しました。

  • 前述の通り、TeXのプログラムは派生が数多く存在していること。そしてその上にプラグインを活用して、出力する文章のバラエティ(?)を広げている。
    • この2つを導入するには数多くのプログラムとプラグインが必要なので、ここでTeX Liveでインストールすることで手間が省ける。
  • また、TeXのエディタはTeXのプログラムと別であること
    • エディタはどうしようかとそれぞれインストールして試しましたが、TeXWorksで落ち着きました。
    • インストール後はTeX Wikiの記事に従ってタイプセットを追加しました。
  • TeX Liveは確かに容量を大きく取るが、インストーラーの際は「スキーム」を選ぶことで容量は削減できる

TeXはHTMLやmarkdownのような手軽さには及びませんが、学べる環境が構築できただけでも大きな進歩だと思いました。

npm

npmはパッケージマネージャです。パッケージマネージャについてはLinuxを学ぶ際に理解しているものの、今までの感覚で試すとエラーばかり出力されてしまい、困っていました。

Webでは npm install (パッケージ名) とかの箇所がよく目立っていて、「(パッケージ名)をパソコンにインストール...ただの実行ファイルをインストールして何に活用するんだ?」と思っていました。

Angularを学習し始める時からnpmについてだいぶわかってきました。Angularを入れる際も、npm install angular@1.6.4*4 と記載されていて、疑問を持ちながらnpmでインストールした所、ちょっとした便利さを感じました。

  • npmはJavaScriptCSSのファイルを取り扱う際でも、バージョンアップのためにWebからダウンロードする手間が省ける。
    • 「パソコンにインストールする」のではなく、「プロジェクトにインストールする」感覚で扱う。
  • ただし、コマンドラインから実行するプログラムも存在する。パソコンにインストールする感覚で扱いたい場合はインストールの際に -g を添える。

以前は bower を、最近は yarn を扱うことが多いみたいですが、まだ初心者なので npm で慣らすことにします。

その他

現在、Dockerやherokuとかのインフラ系の知識が疎い*5ので、色々構築して学んで見ましょうかね。

*1:もしくは周りの一部かもしれない...

*2:TeX初期の頃はDVIファイルでしたっけ?

*3:LaTeX, pLaTeX, ...

*4:バージョンは2017年6月26日現在

*5:特にDockerは大量の仮想マシンが同時稼働することで、リソースの使用量に疑っている