また TeX/LaTeX で頭を抱えようとしている私へ
![KusaReMKN](https://res.cloudinary.com/zenn/image/fetch/s--Dyn54MYO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/18e725e6fc.jpeg)
画像の幅を行の幅に揃える
\includegraphics
のオプションで width=\linewidth
を指定すればよい[1]。
\begin{figure}
\centering
\includegraphics[width=\linewidth]{mikan.pdf}
\caption{みかんちゃん(PDFの姿)}
\end{figure}
![KusaReMKN](https://res.cloudinary.com/zenn/image/fetch/s--Dyn54MYO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/18e725e6fc.jpeg)
\LaTeX でビジネス文書を書く
みんなレポートや論文を書くだけでビジネス文書なんて書いてやくれないと思っていたが、そんなことはなかった。 jbusinessdoc を利用することでビジネス文書を便利に書くことができる[1]。 しかし、本家は
![KusaReMKN](https://res.cloudinary.com/zenn/image/fetch/s--Dyn54MYO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/18e725e6fc.jpeg)
latexmk を使ってコンパイルする
latexmk は
私は
$ latexmk -lualatex
しぶしぶ
$ latexmk -latex='platex' # pLaTeX の場合
$ latexmk -latex='ptex2pdf -u -l' # upLaTeX で PDF 生成までやってもらう場合
latexmk は tex ソースファイルを監視して、更新があったときに自動で再コンパイルすることもできる。 以下のように実行すると、latexmk は Ctrl+C を押下されるまでの間 tex ファイルを監視し続ける。 ただし、オプションの -interaction=
は、コンパイルに失敗した場合に対話的なモードに入らないことを指示している。
$ latexmk -pvc -interaction=nonstopmode -latex='ptex2pdf -u -l'
(追記 2023-12-15)上の方法だと、latexmk は dvi を生成した気になっているかもしれない。 dvi 経由で pdf に変換していることを明示するためには、オプション -pdfdvi
を指定して、dvipdf の代わりに dvipdfmx を用いることを指示したほうが良さそう。
$ latexmk -pvc -pdfdvi -latex=uplatex -e '$dvipdf="dvipdfmx %O %S";' -interaction=nonstopmode
(追記ここまで)
なお、MS-Windows の cmd.exe 上で実行する場合は、一重引用符を二重引用符に置き換えたほうが良いかもしれない。
![KusaReMKN](https://res.cloudinary.com/zenn/image/fetch/s--Dyn54MYO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/18e725e6fc.jpeg)
「図」とか「表」とか書かない
figure 環境とか table 環境とかで \caption{}
を使うと、図 X: ほげほげ とか 表 Y: ふがふが とか表示される。 それに \label{}
を用いてラベルをつけ、参照するときに 図~\ref{hoge}
とか 表~\ref{fuga}
とか書かないこと。 誰がそれを「図」と呼び、「表」と呼ぶと決め付けたのかよく考えなさい。 \figurename~\ref{hoge}
とか \tablename~\ref{fuga}
とか書くと、勝手に「図」とか「表」とかにしてくれる。
また、\ref{}
や \cite{}
の前には改行しないスペース ~
を置くと、その位置での改行を禁止しながら見栄えよく仕上がる。
2024-02-07 追記
ちょっと違う話ではあるが、Twitter 上で@underachiever_R 氏から指摘をいただいた。
~
の幅は \xkanjiskip
とは異なるかもしれないから、見栄えに影響しそうである。 代わりに \figurename\nobreak\ref{hoge}
のように記述すればよいのだが、毎回これを記述することは煩雑で仕方がないので、楽に記述できるように以下のようなマクロを用意すると良さそう。
\newcommand{\図}[1]{\figurename\nobreak\ref{#1}}
\newcommand{\表}[1]{\tablename\nobreak\ref{#1}}
\newcommand{\式}[1]{式\nobreak\eqref{#1}}
![KusaReMKN](https://res.cloudinary.com/zenn/image/fetch/s--Dyn54MYO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/18e725e6fc.jpeg)
テーブルのカラムの長さを指定しつつ中揃えにする
プレアンブルに以下を追加して、p{width}
のように C{width}
とかする[1]。
\usepackage{array}
\newcommand{\PreserveBackslash}[1]{\let\temp=\\#1\let\\=\temp}
\newcolumntype{C}[1]{>{\PreserveBackslash\centering}p{#1}}
\newcolumntype{R}[1]{>{\PreserveBackslash\raggedleft}p{#1}}
\newcolumntype{L}[1]{>{\PreserveBackslash\raggedright}p{#1}}
\documentclass[uplatex,dvipdfmx]{jsarticle}
\usepackage{array}
\newcommand{\PreserveBackslash}[1]{\let\temp=\\#1\let\\=\temp}
\newcolumntype{C}[1]{>{\PreserveBackslash\centering}p{#1}}
\newcolumntype{R}[1]{>{\PreserveBackslash\raggedleft}p{#1}}
\newcolumntype{L}[1]{>{\PreserveBackslash\raggedright}p{#1}}
\begin{document}
\begin{table}
\centering
\caption{ほげほげ}
\begin{tabular}{C{5zw}C{10zw}}
\hline
あれ & それ \\
\hline
hoge & fuga \\
piyo & hogera \\
foo & bar \\
\hline
\end{tabular}
\end{table}
\end{document}
![KusaReMKN](https://res.cloudinary.com/zenn/image/fetch/s--Dyn54MYO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/18e725e6fc.jpeg)
危険な曲がり角を表示する
危険な曲がり角 ☡ を表示するには manfnt を読み込んで \dbend とします。
\documentclass[lualatex]{jlreq}
\usepackage{manfnt}
\begin{document}
\LaTeX では危険な曲がり角は\dbend のように見えます。
亜種もあります。
\lhdbend
\reversedvideodbend
\textdbend
\textlhdbend
\textreversedvideodbend
\end{document}
![KusaReMKN](https://res.cloudinary.com/zenn/image/fetch/s--Dyn54MYO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/18e725e6fc.jpeg)
jlreq で「?」とか「!」とかの後にアキを入れる
「?」の後にアキを自動的に入れるためには、プリアンブルに以下を追加します[1]。
\makeatletter
\let\@tempa=\?
\catcode`?=\active
\let?=\@tempa
\makeatother
![KusaReMKN](https://res.cloudinary.com/zenn/image/fetch/s--Dyn54MYO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/18e725e6fc.jpeg)
LuaLaTeX で漢字と + をくっつけない
pTeX では \xspcode で設定される項目です。 LuaTexJa では \ltjsetparameter で設定できます[1]。
\ltjsetparameter{alxspmode={43,2}}
ここで 43 とは + の ASCII コードの十進数表現です。
![KusaReMKN](https://res.cloudinary.com/zenn/image/fetch/s--Dyn54MYO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/18e725e6fc.jpeg)
\label の引数を表示する
showlabels パッケージがちょうどその仕事をしてくれます[1]。
\documentclass[lualatex,paper=b7,landscape]{jlreq}
\usepackage{amsmath}
\usepackage[inline]{showlabels}
\usepackage{tikz}
\begin{document}
式\nobreak\eqref{すごい式}は有名なやつです。
\begin{equation}
1729
= 12^3 + 1^3
= 10^3 + 9^3
\label{すごい式}
\end{equation}
あと、\figurename\nobreak\ref{すごい図}もまた有名なやつです。
\begin{figure}
\centering
\tikz\draw(0,0)--(1,2)--(2,0)--(3,2)--(4,0);
\caption{簡単な図}
\label{すごい図}
\end{figure}
\end{document}
![KusaReMKN](https://res.cloudinary.com/zenn/image/fetch/s--Dyn54MYO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/18e725e6fc.jpeg)
<HR>
のようなもの)
罫線(HTML の 水平線は \hrulefill
で出せます。点線が良いなら \dotfill
で出せます。段落の字下げが邪魔なら \noindent
を前に付けてやります。
![KusaReMKN](https://res.cloudinary.com/zenn/image/fetch/s--Dyn54MYO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/18e725e6fc.jpeg)
jlreq と newtx(newpx)とで壊れる脚注を直す
jlreq の脚注番号のスタイルは「1)」を上付きにしたような見た目になっています。 これに、newtx や newpx のフォントを使うように指示するとカッコの部分だけ上付きにならずに表示されます。
\documentclass[lualatex,paper=a7paper,landscape]{jlreq}
\usepackage{newtx}
\pagestyle{empty}
\begin{document}
これが脚注\footnote{わお。}です。
脚注番号の括弧の部分が不自然に大きくなります。
\end{document}
脚注番号の括弧の部分が不自然に大きくなる
これを解決するには newtx の読み込み時に defaultsups のオプションを添えてやります[1]。 newtx のドキュメントに記載があるようです。
\documentclass[lualatex,paper=a7paper,landscape]{jlreq}
\usepackage[defaultsups]{newtx}
\pagestyle{empty}
\begin{document}
これが脚注\footnote{わお。}です。
脚注番号の括弧の部分が修正されました。
\end{document}
脚注番号の括弧の部分が修正される