はじめに
前に自分のTeX環境のまとめをしたのが2015年7月だったので最新版を.
分かりやすく言えばブログの更新がかなり前なので取り敢えずの更新ネタ.
使用しているパッケージ
大体CTANに落ちているものだと思うけど,構築が結構前なものもあるので怪しい.
\documentclass[12pt,a4paper,uplatex]{jsarticle} \usepackage[dvipdfmx]{graphicx} \usepackage{array} \usepackage{ascmac} \usepackage{amssymb} \usepackage{amsmath} \usepackage{caption} \usepackage[thmmarks]{ntheorem} \usepackage{lscape} \usepackage{enumitem} \usepackage{cite} \usepackage{float} \usepackage{comment} \usepackage{multicol} \usepackage{mathrsfs} \usepackage[left=20truemm,right=20truemm,top=25truemm,bottom=25truemm]{geometry}
まずはこれらを1つ1つ説明していく.
CTAN: Package graphicx
画像ファイルを扱う.
CTAN: Package array
関数の場合分けとかの時に使うやつ.
ascmac
複数行で枠を囲む.
amssymb
数学で使う文字を整える.
例えば
$\textbb{R},\mathfrak{m}$
でそれぞれ白抜きのR,ドイツ文字のmになる.
CTAN: Package amsmath
数学環境を整える.
正直言って何が入っているのかは知らないけど\begin{align*}\end{align*}
などはこれがないと使えない.
CTAN: Package caption
図表のキャプションをいじるために.
CTAN: Package ntheorem
定理環境.
要するにDef 1.xとか定理2.x.yとかそういうの.筆者の環境では
\theorembodyfont{\normalfont} \theoremstyle{break} \newtheorem{Def}{Def}[section] \newtheorem{Thm}{Thm}[section] \newtheorem{Lem}{Lem}[section] \newtheorem{Prop}{Prop}[section] \theoremstyle{nonumberplain} \theoremsymbol{\ensuremath{\blacksquare}} \newtheorem{Pf}{pf} \theoremstyle{break} \newtheorem{Eg}{e.g.}[section] \theoremstyle{nonumberplain} \newtheorem{Sign}{目標} \theoremstyle{break} \newtheorem{Pb}{問題}[section] \theoremstyle{nonumberplain} \newtheorem{Rmk}{Rmk} \theoremstyle{nonumberplain} \newtheorem{Mark}{記号}[section]
になっている.
どうも\theoremstyle
を複数適用できなさそうで,例えば証明は「番号付け無し」且つ「まず改行」させたいのだけれど,どちらかしかできなさそう.
両方applyするにはどうしたらいいんだろう.
[thmmarks]
の記述がなければ,定理環境において記号の使用ができない.
また\theorembodyfont{\normalfont}
の指定がなければ以降でアルファベットが勝手にイタリックになるよう.
……そういえばfactが前回に引き続きない.
CTAN: Package lscape
横置きを設定できる.
CTAN: Package enumitem
リストを色々いじれる.
ググれば色々触り方は出てくる.
CTAN: Package cite
参考文献とかで使うやつ.
CTAN: Package float
キャプションの設定とか色々.
CTAN: Package comment
複数行コメントが使える.
\begin{comment} 複数行 複数 \end{comment}
CTAN: Package multicol
2段組とかできる.
CTAN: Package mathrsfs
花文字を使うのに.
以前まではmathptmx.styを使っていて,そうするとmathcalが花文字っぽくなるけど,すべてがTimesになるせいで他の全般が気に食わなかったのでやめた.
これならmathscrが花文字になってくれる.嬉しい.
でもこうすると他はがComputer Modern(であってたっけ……?)だからεが∈みたいになって嫌なのでεだけ変えたいので
\DeclareSymbolFont{my_epsilon}{OML}{cmex}{m}{it} \DeclareMathSymbol{\myepsilon}{\mathalpha}{my_epsilon}{"22} \renewcommand{\epsilon}{\myepsilon}
とする.
ztmcmにするとmathptmxで使用されてるフォントになるけど,cmexの場合とztmcmの場合を比較してみると.
こんな感じに(ε以外はデフォルト).
というわけで文字のバランスを考えてcmexの"22に.
文字の対応とかはLaTeX Fontsあたりを参照すれば良いと思う.
完全に\varepsilonの存在忘れてたよね☆きゃぴ状態なので
\renewcommand{\epsilon}{\varepsilon}
はい.
CTAN: Package geometry
余白の設定.筆者は
\usepackage[left=20truemm,right=20truemm,top=25truemm,bottom=25truemm]{geometry}
である.長さ指定にはtrueが必須である.
ページ先頭のセクションの上の余白をなくす.
\makeatletter \def\@startsection#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax \@afterindenttrue \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse \fi \if@nobreak \everypar{}% \else \addpenalty\@secpenalty\addvspace\@tempskipa \fi \@ifstar {\@ssect{#3}{#4}{#5}{#6}}% {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
コピーをしたので実際どういう動作をしているのかは知らない.
キャプションをゴシックにする
\makeatletter \long\def\@makecaption#1#2{\sf \vskip\abovecaptionskip \iftdir\sbox\@tempboxa{#1\hskip1zw#2} \else\sbox\@tempboxa{#1~ #2} \fi \ifdim \wd\@tempboxa >\hsize \iftdir #1\hskip1zw#2\relax\par \else #1~ #2\relax\par\fi \else \global \@minipagefalse \hbox to\hsize{\hfil\box\@tempboxa\hfil} \fi \vskip\belowcaptionskip} \makeatother
同上.
chapter,sectionのサイズ変更など.
\makeatletter %\renewcommand{\presectionname}{第} %\renewcommand{\postsectionname}{章} \renewcommand{\section}{ \if@slide\clearpage\fi \@startsection{section}{1}{\z@} {\Cvs \@plus.5\Cdp \@minus.2\Cdp} {.5\Cvs \@plus.3\Cdp} {\normalfont\Large\headfont\raggedright}} \if@twocolumn \renewcommand{\subsection}{\@startsection{subsection}{2}{\z@} {\z@}{\z@} {\normalfont\normalsize\headfont}} \else \renewcommand{\subsection}{\@startsection{subsection}{2}{\z@} {\Cvs \@plus.5\Cdp \@minus.2\Cdp} {.5\Cvs \@plus.3\Cdp} {\normalfont\Large\headfont}} \makeatother
同上.なんとなく察して.
コマンドの定義
\newcommand{\Ker}{\tr{Ker }} \newcommand{\Img}{\tr{Img }} \newcommand{\Tr}{\tr{tr }} \newcommand{\Dim}{\tr{dim }} \newcommand{\rank}{\tr{rank }} \newcommand{\norm}[1]{\Vert#1\Vert} \newcommand{\Forall}[1]{{\forall}#1\mathrm{\colon\;}} \newcommand{\Exists}[1]{{\exists}#1\mathrm{\colon\;}} \newcommand{\UExists}[1]{{\exists}\tr{!}#1\mathrm{\colon\;}} \newcommand{\Existsst}[2]{{\exists}#1\hspace{0.75em}\mathrm{s.t.}\hspace{0.75em}#2} \newcommand{\UExistsst}[2]{{\exists}\tr{!}#1\hspace{0.75em}\mathrm{s.t.}\hspace{0.75em}#2} \newcommand{\openr}[1]{\left[#1\right)} \newcommand{\openl}[1]{\left(#1\right]} \newcommand{\open}[1]{\left(#1\right)} \newcommand{\opencb}[1]{\left\{#1\right\}} \newcommand{\abs}[1]{\left|#1\right|} \newcommand{\desceq}[1]{\underset{ #1}{=}} \newcommand{\Lra}{\Leftrightarrow} \newcommand{\Ra}{\Rightarrow} \newcommand{\DEF}{\underset{\textrm{def}}{\Leftrightarrow}} \newcommand{\IFF}{\underset{\textrm{iff}}{\Leftrightarrow}} \def\MARU#1{\textcircled{\scriptsize #1}} \newcommand{\ub}{\underbrace} \newcommand{\tr}{\textrm} \newcommand{\mb}{\mathbb} \newcommand{\rd}{\mb{R}^\tr{d}} \newcommand{\brd}{\mathcal{B}\open{\mb{R}^\tr{d}}} \newcommand{\lrd}{\mathcal{L}\open{\mb{R}^\tr{d}}} \newcommand{\rlm}{\open{\rd,\lrd,\md}} \newcommand{\ofu}{\open{\Omega,\mathscr{F},\mu}} \newcommand{\mcf}{\mathcal{F}} \newcommand{\ale}{\hspace{1em}\tr{a.e.}} \newcommand{\uae}{\hspace{1em}\mu\tr{-a.e.}} \newcommand{\for}{\hspace{1em}\tr{for}\hspace{0.5em}} \newcommand{\with}{\tr{ with }} \newcommand{\1}{\mbox{1}\hspace{-0.26em}\mbox{l}} \newcommand{\doub}[1]{\begin{equation*} \left\{ \begin{aligned} #1 \end{aligned} \right. \end{equation*} } \newcommand{\doubnon}[1]{ \left\{ \begin{aligned} #1 \end{aligned} \right. }
もうちょっと色々追加していきたい.
白抜き文字の数字版をください.indicator functionのために定義しなきゃいけなかった.
あと\ae
が合字に使われてたので厳しい.
画像とかのマージン
\setlength\floatsep{0pt} \setlength\textfloatsep{1pt} \setlength\intextsep{3pt} \setlength\abovecaptionskip{3pt}
リストの初期化*1
\renewenvironment{itemize}% {% \begin{list}{$\rhd$}% 見出し記号/直後の空白を調節 {% \setlength{\topsep}{0em} \setlength{\itemindent}{1em} \setlength{\leftmargin}{0.5em}% 左のインデント \setlength{\rightmargin}{0em}% 右のインデント \setlength{\labelsep}{0.5em}% 頭の記号と説明文の間 \setlength{\labelwidth}{0zw}% ラベルの幅 \setlength{\itemsep}{0em}% 項目ごとの改行幅 \setlength{\parsep}{0em}% 段落での改行幅 \setlength{\listparindent}{0em}% 段落での一字下り } }{% \end{list}% }
数式環境のマージン
\setlength{\abovedisplayskip}{0pt} \setlength{\belowdisplayskip}{0pt}
数式環境の余白が大きいので0にした.
但しこれは\begin{document}
以降に書く必要がある.
おわりに
意外と増えてた.
2016/12/18 ちょっと改訂.
*1:どのページを参考にしたか失念