Re: 表中で条件分岐した際に最下部の下線を表示させたい

名前: トノ
日時: 2005-09-17 00:29:39
IPアドレス: 220.219.66.*

>>38109 \ifthenelse は、二者択一する途中で代入等々があるために、 \def\FROM{WEST} の場合でも、 \ifthenelse{\equal{\FROM}{WEST}}{ \def\Rows{% 山本洋子 & やまもとようこ & 岐阜県 \\ 佐藤次郎 & さとうじろう & 佐賀県 \\ }% }{} が実行された結果は空にはならないので、新たな行の第 1 カラムが開始されてしまい、 TeX から見ると、\\ の直後以外のところで \hline が使われたということに なるのかと思います。 ※ tabular 環境中での \\ の本質は \cr であり、\hline の本質は \hrule を \noalign で包んだものです。 . さんによる解決策の他に、tabular 環境に入る前に、条件分岐の結果を コントロール・シーケンスに納めておく方法もあるかと思います。 ※ 一般的にいって、tabular 環境や array 環境の中に仕掛けを作るのは 経験と知識を必要とする場合が多いようです。 ※ 従って、私は徹底的に忌避しています。この辺が素人の気楽さですね。 \documentclass[a4paper]{article} \usepackage{tabularx} \usepackage{ifthen} %----出力させたい方のコメントアウトをはずす------ %\def\FROM{EAST} %東日本 \def\FROM{WEST} %西日本 %------------------------------------------------ \begin{document} \begin{table}[htbp] \caption{名簿} \begin{center} \def\Rows{}% 東日本でも西日本でもない場合の用心 %東日本 \ifthenelse{\equal{\FROM}{EAST}}{% \def\Rows{% 東日本の場合の \Rows の定義 山田太郎 & やまだたろう & 青森県 \\ 鈴木花子 & すずきはなこ & 千葉県 \\ }% }{} %西日本 \ifthenelse{\equal{\FROM}{WEST}}{ \def\Rows{% 西日本の場合の \Rows の定義 山本洋子 & やまもとようこ & 岐阜県 \\ 佐藤次郎 & さとうじろう & 佐賀県 \\ }% }{} \begin{tabular}{|l|l|l|} \hline 氏名 & 読み仮名 & 出身地 \\ \hline \Rows \hline \end{tabular} \end{center} \end{table} % \end{document}

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)