<?xml version="1.0" encoding="UTF-8" ?>
<rss version="0.91">
  <channel>
    <title>LaTeXメモ</title>
    <description></description>
    <link>https://latex.ria10.com/</link>
    <language>ja</language>
    <copyright>Copyright (C) NINJATOOLS ALL RIGHTS RESERVED.</copyright>

    <item>
      <title>条件分岐：\ifcase</title>
      <description>C言語においては、&lt;br /&gt;
&lt;img src=&quot;//latex.ria10.com/File/20121501.png&quot; alt=&quot;&quot; /&gt; &lt;br /&gt;
とif文を並べて書く代わりに、&lt;br /&gt;
&lt;img src=&quot;//latex.ria10.com/File/20121502.png&quot; alt=&quot;&quot; /&gt; &lt;br /&gt;
とする（swtich文と）caseを用いた記述が存在する。&lt;br /&gt;
&lt;br /&gt;
$\mathrm{\LaTeX}$（というか $\mathrm{\TeX}$&amp;nbsp;だけど）においても \ifcase を用いてこれを実現できる。&lt;br /&gt;
&lt;br /&gt;
プリアンブル
&lt;pre&gt;\newcommand{\case}[1]{\makebox[1zw][c]{%
	&lt;span style=&quot;color: #ff0000;&quot;&gt;\ifcase&lt;/span&gt; #1%
		\or I.\or II.\or III.\or IV.\or V.%
		\or VI.\or VII.%
	\fi%
}}%
&lt;/pre&gt;
&lt;br /&gt;
コマンド
&lt;pre&gt;\case{1}$x=3$のとき、&amp;hellip;
\case{2}$x=5$のとき、&amp;hellip;
\case{3}$x=7$のとき、&amp;hellip;
&lt;/pre&gt;
&lt;br /&gt;
今回はローマ数字の幅揃えを例とした。$\mathrm{\LaTeX}$ 上での表示は以下の通り。&lt;br /&gt;
&lt;img src=&quot;//latex.ria10.com/File/20121503.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
※　\case{0} の時の動作を指定したい場合は、最初の \or の前に記述する。</description> 
      <link>https://latex.ria10.com/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E6%9D%A1%E4%BB%B6%E5%88%86%E5%B2%90%EF%BC%9A-ifcase</link> 
    </item>
    <item>
      <title>複雑なオプション付きマクロの作成</title>
      <description>基本的なマクロは $\mathrm{\LaTeX}$ 上で&amp;nbsp;\newcommand を用いて作成できるが、星付きマクロや複数のオプション引数を設定することはできない。&lt;br /&gt;
そこで、&amp;nbsp;$\mathrm{\TeX}$ 上で&amp;nbsp;\def を用いたマクロの作成を行う。&lt;br /&gt;
&lt;br /&gt;
プリアンブル
&lt;pre&gt;\makeatletter
\def\hogeA{%
	&lt;span style=&quot;color: #ff0000;&quot;&gt;\@ifstar&lt;/span&gt;{%
		%処理星付き%			1番
	}{%
		%処理星なし%			2番
	}%
}%
\def\hogeB#1{%
	&lt;span style=&quot;color: #ff0000;&quot;&gt;\@ifnextchar[&lt;/span&gt;{%
		\@hogeB{#1}%
	}{%
		%処理オプションなし%	3番
	}%
}%
\def\@hogeB#1[#2]{%
	%処理オプションあり%		4番
}%
&lt;/pre&gt;
コマンド
&lt;pre&gt;\hogeA*				%　1番
\hogeA				%　2番
\hogeB{引数1}			%　3番
\hogeB{引数1}	[引数2]	%　4番
&lt;/pre&gt;
\@ifstarが引数を2つ取る。（\@ifstar{処理1}{処理2}）&lt;br /&gt;
\@ifnextcharが引数を3つ取る。（\@ifnextchar文字{処理1}{処理2}）</description> 
      <link>https://latex.ria10.com/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E8%A4%87%E9%9B%91%E3%81%AA%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E4%BB%98%E3%81%8D%E3%83%9E%E3%82%AF%E3%83%AD%E3%81%AE%E4%BD%9C%E6%88%90</link> 
    </item>
    <item>
      <title>ページ幅の均等分割</title>
      <description>厳密には「印刷領域の」均等分割を行う。イメージは下図の通り。&lt;br /&gt;
&lt;img src=&quot;http://file.latex.ria10.com/18051101.png&quot; alt=&quot;&quot; style=&quot;border: solid 1px #cccccc;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
multicols 環境を利用した段組みでも（一応）実現はできるが、これは列ごとに組版を行うため、&lt;br /&gt;

&lt;ul&gt;
&lt;li&gt;2行以上記述する場合、高さの調整が手間&lt;/li&gt;
&lt;li&gt;2行以上記述する場合、記述する順序が複雑&lt;/li&gt;
&lt;/ul&gt;
などの欠点がある。&lt;br /&gt;
そこで、tabularxパッケージを用いた表を活用する。&lt;br /&gt;
&lt;br /&gt;
プリアンブル
&lt;pre&gt;\usepackage{tabularx}%
\newenvironment{admulticol}[1]{%
	\begingroup%
	\setlength{\tabcolsep}{0pt}%
	\tabularx{\textwidth}{*{#1}{X}}%
}{%
	\endtabularx%
	\endgroup%
}%&lt;/pre&gt;
コマンド
&lt;pre&gt;\begin{&lt;span style=&quot;color: red;&quot;&gt;ad&lt;/span&gt;multicol}{分割数}
	(1) ～～～～～ &amp;amp; (2) ～～～～～ &amp;amp; &amp;hellip; \\
	&amp;hellip;
\end{&lt;span style=&quot;color: red;&quot;&gt;ad&lt;/span&gt;multicol}&lt;/pre&gt;</description> 
      <link>https://latex.ria10.com/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E6%A8%AA%E5%B9%85100%EF%BC%85%E3%81%AB%E5%BA%83%E3%81%8C%E3%82%8B%E8%A1%A8</link> 
    </item>
    <item>
      <title>ぶら下げインデント</title>
      <description>&lt;pre&gt;問題　日本の都道府県のうち、その名前に「川」という文字が入っている都道府県が
　　　ない地方は、次のうちどれでしょう？&lt;/pre&gt;
のような、段落2行目以降のインデントを「ぶら下げインデント」と言うらしい。&lt;br /&gt;
$\mathrm{\LaTeX}$ 上では、この長さは \hangindent により定められる。&lt;br /&gt;
&lt;br /&gt;
\hangindent を毎回手動で定めるのは手間なので、マクロにより自動化する。&lt;br /&gt;
&lt;br /&gt;
プリアンブル
&lt;pre&gt;\newcommand{\hang}[1]{%
	\settowidth{\hangindent}{#1}%
	#1%
}%&lt;/pre&gt;
コマンド
&lt;pre&gt;\&lt;span style=&quot;color: red;&quot;&gt;hang&lt;/span&gt;{問題　}日本の都道府県のうち、&amp;hellip;&lt;/pre&gt;
備考：&lt;br /&gt;
\hangindent の長さは段落を跨ぐと 0pt にリセットされるようだ。</description> 
      <link>https://latex.ria10.com/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E3%81%B6%E3%82%89%E4%B8%8B%E3%81%92%E3%82%A4%E3%83%B3%E3%83%87%E3%83%B3%E3%83%88</link> 
    </item>
    <item>
      <title>\underbraceの調整</title>
      <description>通常の \underbrace は、
&lt;ul&gt;
&lt;li&gt;$y=\underbrace{(x+1)^2}_{x^2+2x+1}$ のようにコメント部分が短い場合は整然としているが、&lt;/li&gt;
&lt;li&gt;$y=\underbrace{(x+1)^4}_{x^4+4x^3+6x^2+4x+1}$ のようにコメント部分が長くなると、式に隙間が空いて不格好になる。&lt;/li&gt;
&lt;/ul&gt;
これを調整し、コメント部分が長いケースのみ、式の隙間を詰めるようにする。&lt;br /&gt;
&lt;br /&gt;
プリアンブル
&lt;pre&gt;\usepackage{ifthen}%
\newlength{\wdTempA}%
\newlength{\wdTempB}%
\newcommand{\adunderbrace}[2]{%
	\settowidth{\wdTempA}{$#1$}%
	\settowidth{\wdTempB}{${\scriptstyle #2}$}%
	\ifthenelse{\wdTempA&amp;lt;\wdTempB}{%
		\hspace*{.5\wdTempA}\hspace*{-.5\wdTempB}%
		\underbrace{#1}_{#2}%
		\hspace*{.5\wdTempA}\hspace*{-.5\wdTempB}%
	}{%
		\underbrace{#1}_{#2}%
	}%
}%
&lt;/pre&gt;
コマンド
&lt;pre&gt;$\&lt;span style=&quot;color: red;&quot;&gt;ad&lt;/span&gt;underbrace{数式}{コメント}$		%　{}{}の間に_は不要
&lt;/pre&gt;
実際の $\mathrm{\LaTeX}$ での表示は以下の通り。&lt;br /&gt;
&lt;img src=&quot;http://file.latex.ria10.com/18050601.png&quot; alt=&quot;&quot; /&gt;</description> 
      <link>https://latex.ria10.com/%E6%9C%AA%E9%81%B8%E6%8A%9E/underbrace%E3%81%AE%E8%AA%BF%E6%95%B4</link> 
    </item>
    <item>
      <title>長さに関して</title>
      <description>標準的な長さ
&lt;pre&gt;\textwidth		%  本文領域の横の長さ
\textheight	%  本文領域の縦の長さ
\linewidth		%  1行に記述できる長さ（複数カラム環境で短くなる）
\baselineskip	%  1行の高さ、jsarticle環境で16.0pt&lt;/pre&gt;
表に関する長さ
&lt;pre&gt;\tabcolsep		%  セルの余白、htmlでのpadding
\arrayrulewidth	%  罫線の太さ
\doublerulesep	%  2重罫線の間隔&lt;/pre&gt;
段落に関する長さ
&lt;pre&gt;\leftskip		%  段落の左余白
\rightskip		%  段落の右余白
\parindent	%  1行目のインデント（字下げ）
\hangindent	%  2行目以降のインデント（ぶら下げ）&lt;/pre&gt;
長さを格納する変数（レジスタ）の操作
&lt;pre&gt;\newlength{\temp}				%  \temp を宣言
\setlength{\temp}{0.5\linewidth}	%  \temp に \linewidth の0.5倍を代入
\addtolength{\temp}{-1zw}		%  \temp に -1zw の長さを加算
\settowidth{\temp}{xyz}			%  \temp に xyz の幅を代入
\settoheight{\temp}{xyz}			%  \temp に xyz の高さ（ベースラインより上）を代入
\settodepth{\temp}{xyz}			%  \temp に xyz の深さ（ベースラインより下）を代入&lt;/pre&gt;</description> 
      <link>https://latex.ria10.com/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E9%95%B7%E3%81%95%E3%81%AB%E9%96%A2%E3%81%97%E3%81%A6</link> 
    </item>
    <item>
      <title>ifthen.sty</title>
      <description>プリアンブル
&lt;pre&gt;\usepackage{ifthen}&lt;/pre&gt;
条件分岐
&lt;pre&gt;\ifthenelse{条件文}{%
	真の場合の処理
}{%
	偽の場合の処理
}%&lt;/pre&gt;
条件文の書き方
&lt;pre&gt;\value{cntNum} = 3		%  cntNum の値が3なら真
\lengthtest{\temp} &amp;lt; 3pt	%  \temp の長さが3pt未満なら真
\equal{#1}{c}			%  引数 #1 が文字列cと一致するなら真
\isundefined{\calc}		%  \calc が未定義なら真
&lt;/pre&gt;
演算子
&lt;pre&gt;\NOT \value{cntNum} = 3			%  cntNum の値が3でないなら真
\equal{#1}{c} \AND \equal{#2}{r}	%  #1がc、かつ#2がrなら真
\equal{#1}{c} \OR \equal{#2}{r}	%  #1がc、または#2がrなら真
\NOT \( #1&amp;lt;4 \AND #2&amp;lt;6 \)		%  「#1&amp;lt;4、かつ#2&amp;lt;6」でないなら真
&lt;/pre&gt;</description> 
      <link>https://latex.ria10.com/%E6%9C%AA%E9%81%B8%E6%8A%9E/ifthen.sty</link> 
    </item>
    <item>
      <title>記事のテスト</title>
      <description>このHPでは、$\mathrm{\LaTeX}$ を用いて数式を記述するためにMathJaxを利用している。&lt;br /&gt;
&lt;br /&gt;
$A:\{2x\mid x\in\mathbb{R}\}$&lt;br /&gt;
$\displaystyle \sum_{k=1}^{n}k^2=\dfrac{1}{6}n(n+1)(2n+1)$</description> 
      <link>https://latex.ria10.com/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E8%A8%98%E4%BA%8B%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88</link> 
    </item>

  </channel>
</rss>