"未選択"カテゴリーの記事一覧
-
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
-
C言語においては、
とif文を並べて書く代わりに、
とする(swtich文と)caseを用いた記述が存在する。
$\mathrm{\LaTeX}$(というか $\mathrm{\TeX}$ だけど)においても \ifcase を用いてこれを実現できる。
プリアンブル\newcommand{\case}[1]{\makebox[1zw][c]{% \ifcase #1% \or I.\or II.\or III.\or IV.\or V.% \or VI.\or VII.% \fi% }}%
コマンド\case{1}$x=3$のとき、… \case{2}$x=5$のとき、… \case{3}$x=7$のとき、…
今回はローマ数字の幅揃えを例とした。$\mathrm{\LaTeX}$ 上での表示は以下の通り。
※ \case{0} の時の動作を指定したい場合は、最初の \or の前に記述する。PR -
基本的なマクロは $\mathrm{\LaTeX}$ 上で \newcommand を用いて作成できるが、星付きマクロや複数のオプション引数を設定することはできない。
そこで、 $\mathrm{\TeX}$ 上で \def を用いたマクロの作成を行う。
プリアンブル\makeatletter \def\hogeA{% \@ifstar{% %処理星付き% 1番 }{% %処理星なし% 2番 }% }% \def\hogeB#1{% \@ifnextchar[{% \@hogeB{#1}% }{% %処理オプションなし% 3番 }% }% \def\@hogeB#1[#2]{% %処理オプションあり% 4番 }%
コマンド\hogeA* % 1番 \hogeA % 2番 \hogeB{引数1} % 3番 \hogeB{引数1} [引数2] % 4番
\@ifstarが引数を2つ取る。(\@ifstar{処理1}{処理2})
\@ifnextcharが引数を3つ取る。(\@ifnextchar文字{処理1}{処理2}) -
厳密には「印刷領域の」均等分割を行う。イメージは下図の通り。
multicols 環境を利用した段組みでも(一応)実現はできるが、これは列ごとに組版を行うため、
- 2行以上記述する場合、高さの調整が手間
- 2行以上記述する場合、記述する順序が複雑
そこで、tabularxパッケージを用いた表を活用する。
プリアンブル\usepackage{tabularx}% \newenvironment{admulticol}[1]{% \begingroup% \setlength{\tabcolsep}{0pt}% \tabularx{\textwidth}{*{#1}{X}}% }{% \endtabularx% \endgroup% }%
コマンド\begin{admulticol}{分割数} (1) ~~~~~ & (2) ~~~~~ & … \\ … \end{admulticol}
-
問題 日本の都道府県のうち、その名前に「川」という文字が入っている都道府県が ない地方は、次のうちどれでしょう?
のような、段落2行目以降のインデントを「ぶら下げインデント」と言うらしい。
$\mathrm{\LaTeX}$ 上では、この長さは \hangindent により定められる。
\hangindent を毎回手動で定めるのは手間なので、マクロにより自動化する。
プリアンブル\newcommand{\hang}[1]{% \settowidth{\hangindent}{#1}% #1% }%
コマンド\hang{問題 }日本の都道府県のうち、…
備考:
\hangindent の長さは段落を跨ぐと 0pt にリセットされるようだ。 -
通常の \underbrace は、
- $y=\underbrace{(x+1)^2}_{x^2+2x+1}$ のようにコメント部分が短い場合は整然としているが、
- $y=\underbrace{(x+1)^4}_{x^4+4x^3+6x^2+4x+1}$ のようにコメント部分が長くなると、式に隙間が空いて不格好になる。
プリアンブル\usepackage{ifthen}% \newlength{\wdTempA}% \newlength{\wdTempB}% \newcommand{\adunderbrace}[2]{% \settowidth{\wdTempA}{$#1$}% \settowidth{\wdTempB}{${\scriptstyle #2}$}% \ifthenelse{\wdTempA<\wdTempB}{% \hspace*{.5\wdTempA}\hspace*{-.5\wdTempB}% \underbrace{#1}_{#2}% \hspace*{.5\wdTempA}\hspace*{-.5\wdTempB}% }{% \underbrace{#1}_{#2}% }% }%
コマンド$\adunderbrace{数式}{コメント}$ % {}{}の間に_は不要
実際の $\mathrm{\LaTeX}$ での表示は以下の通り。