latex

Latex

製版システム
よく参考にするサイト

プロキシ環境下マジでめんどくさい(ex.大学の研究室)回線そこそこ太いし,ISOを落としてきてインストールするのがプロキシの設定とか考えなくていいと思う. なにもいじらなければフルパッケージでインストールされるはず.64bitのバイナリがあるけど,入れたらエラーでまくった記憶があるぞ…
texliveのインストールはavdance.batを使ったほうが吉

homebrewを使ってインストール

brew cask install mactex  
#要ターミナル再起動
sudo tlmgr update --self --all
sudo tlmgr paper a4

Texliveがフルパッケージでインストールされる,かなり時間がかかるので辛抱強く待つ.めんどくさいなら先にインストーラ(3Gくらいある)を落としてきてやったほうがいいかもしれない.

Highsierraでまたフォント周りが変わるというクソ仕様変更が入ったみたいのでヒラギノを埋め込むために以下をやってみる.
HighSierra 用 TeXLive 2017 追加ファイル
無事にDFが生成されて,ヒラギノフォントが埋め込まれていることを確認した.
以下の方法もあるらしいが,未検証
macOS HighSierra+Texlive2017+ヒラギノフォント

更に変更が入り,今後はOSごとに設定ができるようにしていく方針らしい.
MacTeX 2018 のインストール&日本語環境構築法
TLContribをリポジトリ登録し,macOS/ヒラギノ関連のパッケージをダウンロード

sudo tlmgr repository add http://contrib.texlive.info/current tlcontrib
sudo tlmgr pinning add tlcontrib '*'
sudo tlmgr install japanese-otf-nonfree japanese-otf-uptex-nonfree ptex-fontmaps-macos cjk-gs-integrate-macos

/usr/local/texlive/texmf-local/fonts/内にOS付属フォントへのシンボリックリンク作成

sudo cjk-gs-integrate --link-texmf --cleanup --force
sudo cjk-gs-integrate-macos --link-texmf --force
sudo mktexlsr

ヒラギノフォントの埋め込み設定(High Sierra)

sudo kanji-config-updmap-sys --jis2004 hiragino-highsierra-pron

MacTeX 2019 のインストール&日本語環境構築法
MacTeX2019付属のGhostscript9.27は致命的なバグがあるとのことなのでインストールしない,しばらくは9.26でしのごう
多分Homebrwewをつかって昔に入れたみたいですでに9.26がはいっていたので今回は特にいじらいない. いつものようにこのページの上にあるパッケージの更新コマンドと初期原稿サイズの指定コマンドを叩く.
ヒラギノフォント埋め込みについてはmunepiさんによるパッチを適用するだけでよい.

Bibtex

文献管理に使える.でも使いこなすには一癖ありそう.
.bibファイルに所定のフォーマットで著者とか発行年とか書いておく,google scholarとかから情報をひっぱってこれるのでその点は楽.
このときliterature系のファイル名は使わないほうが吉

\bibliographystyle{junsrt}

を入れてやる.junsrtオプションは引用順に表示してくれる機能,

\usepackage{cite}

執筆環境(IDE)

前提として,latex周りのコマンドがシステムから使えるよう状態にあること
僕はuplatexで製版しているので,

uplatex hoge.tex
dvipdfmx hoge.dvi

でdvi,pdfの出力ができればOK

Visual Studio Codeも参照
拡張機能LaTeX Workshopをインストールし,settings.jsonに以下を追加
WindowsでもMacOSでもuplatexならこのオプションでできた.
2018/04/02更新
Latex-WorkShopの設定がわかっため,コマンドや引数の渡し方が変わった.
しかしlatexmkの設定を全部書き込んでやれば特に問題なくPDFが出力できた.
2019/03/14更新

 "latex-workshop.latex.recipes": [
        {
            "name": "latexmk (tex to PDF)",
            "tools": [
                "latexmk"
            ]
        }
    ],
    "latex-workshop.latex.tools": [
        {
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdfdvi",
                "%DOC%"
            ],
            "command": "latexmk",
            "name": "latexmk"
        }
    ],

.texファイルのあるディレクトに.latexmkrcファイルを追加すると,Latex-workshopでなくこちらの設定を実行してくれる.
出力先ディレクトリの指定もできるのでout of source buildが実現できる.

Pandoc a universal document converterからインストール
Windowsの場合はインストーラ起動してやればよい.

pandoc hoge.md -o poyo.tex

でhoge.mdのMarkdownテキストから,poyo.texというファイルが作られる.
booktabsパッケージの使い方によるとpandocは表を作る時にいろいろ太さとか変えるので,このパッケージを入れておいたほうが吉

Tip

余白の調整がだるい
http://sumi-nyasu.hatenablog.com/entry/2015/06/27/232345

図を縦に積みたい
縦に積み重ねる
s

documentclassのoptionに「draft」を挿入.画像や図が多いので単純に時間がかかる.
図はすべて白四角で抜かれる.

別の設定で上書きされるようなので注意
draftをオプションに入れるとPDFのブックマークが追加されないので注意

\begin{figure}\begin{table}にアスタリスクを追加する.
\begin{figure*}\begin{table*}という感じに
2段組でtex文章を書いている時に表や図を1段組で表示させる

\documentclass[twocolumn]とすると,通常は二段組
文中で\twocolumn[ hoge ]とするとhogeの部分は一行になる.
TeX文書で, 本文は2段, 概要は1段で表示させたい
4.7 段組を制御する

そのセルの中で新たに表を作る tabularコマンドで1×1の表を作る.その中であれば好きだけ\\コマンドで改行できる.
TeXで表の中で改行する方法

TeXで図のキャプションを途中で改行する
この方法で改行できるけどど真ん中なので改行後のほうがワードが長いとちょっと不格好になるから注意

listingsパッケージを使う.
Latexのインストール時にいじらなければ標準でインストールされている.
だけどこのままだとコメントアウトに日本語が使えない.(正しい位置に表示されない)
jlistingパッケージを追加でインストールする.
https://osdn.net/projects/mytexpert/downloads/26068/jlisting.sty.bz2/より入手可能
ファイルを解凍し,jlisting.styを以下のディレクトリに入れる.適宜読み替え
Windows(10)
C:\texlive\texmf-local\tex\latex\listings
MacOS
/usr/local/texlive/2018/texmf-dist/tex/latex/listings
/usr/local/texlive/texmf-local/tex/latex/listings その後mktexlsrコマンドでls-Rファイルを更新する.
管理者権限ない状態だとうまくいかないので注意,MacOSとかで行う場合はsudoを前につけることを忘れずに.
WindowsならコマンドプロンプトかPowershellを管理者権限で起動する.

mktexlsr

Macの方の設定のディレクトリは,Texliveの更新により消えてしまうので,WindowsのようにTEXMFLOCALのディレクトリにスタイルファイルなどは入れたほうが良い.
書いた
TEXMFLOCAL
http://texdoc.net/texmf-dist/doc/latex/listings/listings.pdf
LaTeXにソースコードを"美しく"貼る方法
LaTeXでソースコードを書く
ソースコードを簡単挿入 – LaTeXでつくる爆速プログラミングレポート
Insert Bash code with coloration into my latex report
How can I highlight YAML code in a pretty way with listings?
TeXでソースコードを埋め込む
TeXでソースコードを綺麗に表示する
LaTeXで色付きソースコードを貼り付け

\lstset構文を使えば大抵はどうにかなる.
でも自由がきかないときもあるので,そういったときlstdefinestyleを使ってソースコードのスタイルを自分で定義してやるのがよい.自分の原稿はHALの関数定義をハイライト表示したかったから使った.
【改訂版】 LaTeX に複数のソースコードを載せる
Other keywords and symbols highlighting with lstlisting
LaTeX でソースコードを載せるためのプリアンブルの設定
\lstdefinelanguage構文でもどうようのことができるけど正しい使い分けが分からない.
listingsの言語を追加する

ulemパッケージを用いる \usepackage{ulem}
ただし2段組みだと突き抜けるからうーん…
\sout{hoge}でhogeに打ち消し線がかかる

一部の情報は古い可能性があるので注意
http://www.math.tohoku.ac.jp/~kuroki/LaTeX/howtolatex.html#title

文書の作成に必要なコマンド処理を一度に行ってくれるツール
Latex-Workshopに渡している引数も実質latexmkのコマンドである.
https://texwiki.texjp.org/?Latexmk
macでのlatexmkを使ったTeX環境構築
latexmk で楽々 TeX タイプセットの薦め(& biblatex+biberで先進的な参考文献処理)

コマンドめも

\par:改行
\include{ファイル名}:「ファイル名.tex」の文書を連結する.改ページあり
\input{ファイル名}:「ファイル名.tex」の文書を連結する.改ページなし(そのままつなげる)
\setlength\textfloatsep{2truemm}:本文と図の間の間隔を詰める
\subcaptionbox:figureやtable環境下で図や表を複数並べるときに使う.subcaptionパッケージを\usepackageしておく必要あり
http://www.bakoma-tex.com/doc/latex/caption/subcaption.pdf
\setcounter{tocdepth}{hoge}:目次に出力する見出しの深さを変更,hogeには数字が入る.
\ twocolumn[文章]:documentsclassのオプションにtwocolumnを入れた状態でこれを書くと, 文章が2段組になる.
画像が大きすぎるとエラー吐かれる?

参考文献

  • latex.txt
  • 最終更新: 2019/05/05
  • by yuki_kusakabe