質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
TeX

フリーの組版システムで、字や図版などの要素を紙面に配置するという作業をコンピュータで行います

Q&A

解決済

1回答

5532閲覧

Texの表で,列の幅を指定し右寄せにしたい

man_

総合スコア45

TeX

フリーの組版システムで、字や図版などの要素を紙面に配置するという作業をコンピュータで行います

0グッド

0クリップ

投稿2021/11/17 06:58

#やりたいこと
Texで表を作成しています.
そこで,列の幅を指定し,列ごとに右寄せ,左寄せ,中央寄せと指定したいです.
参考サイトのURLを以下に示します.
https://haruka0000.hatenablog.com/entry/2019/02/04/203637

上記のサイトを参考に表の作成をしていました.
現在のコードを以下に示します.
作成したい表としては,ABCDの文字の列を幅4cmで中央揃えにし,
数字の列を幅2cmの右揃えにしたいです.

そこで,列ごとに幅の指定と右寄せ等揃える方法を教えてください.
よろしくお願いします.

#コード

tex

1\usepackage{tabularx} 2 \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} 3 \newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}} 4 \newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} 5 6\begin{table}[t] 7 \caption{表1} 8 \centering 9 \begin{tabular}{{C{4cm}|R{2cm}} 10 \bhline{1.5pt} 11 \multicolumn{2}{c}{aaa} \ \hline 12 A & 20  \ \hline 13 B & 1 \ \hline 14 C & 2000 \ \hline 15 D & 0 \ \hline\hline 16 17 \end{tabular} 18\end{table} 19

エラー内容

{{C{4cm}|R{2cm}} \bhline {1.5pt} \multicolumn {2}{c}{aaa} \ETC. ! Paragraph ended before \@@array was complete. <to be read again> \par l.252

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

\bhline{1.5pt}が気になりますが,おそらく\newcommand{\bhline}[1]{\noalign{\hrule height #1}}とかしているのだと思って軽くスルーするとして…

結論から言うと,\begin{tabular}{{C{4cm}|R{2cm}}のところのC{4cm}の前の{が一つ余分です。ただそれだけです。

エラーメッセージでも,何かが完結するまでにパラグラフが終わっちゃったって書いてるでしょう?
あと,20の右側に全角スペースがあるので,確認お願いします。

このあたりはエディタ機能等を利用して括弧チェックを行うといいと思います。

それだけでは能がないので,スタイルファイルを使わない別解を書いておきます。
ー行だけ縦全角1文字分,横4 or 2cmの箱を用意して,列の幅をそれに揃えるように無理やりします。
本来なら列タイトルで設定するのですが,例には列タイトルがないので一番上の行に無理やり設定しています。

ただ,この方法は2行以上のセルがある時にはうまくいかないので,最初に試みた方法の方がよいでしょう。

latex

1\newcommand{\bhline}[1]{\noalign{\hrule height #1}} 2 3\begin{table}[t] 4 \caption{表1} 5 \centering 6 \begin{tabular}{c|r} 7 \bhline{1.5pt} 8 \multicolumn{2}{c}{aaa} \ \hline 9 \parbox[b][1zw]{4cm}{\center{A}} & \parbox[b][1zw]{2cm}{\flushright{20}} \ \hline 10 B & 1 \ \hline 11 C & 2000 \ \hline 12 D & 0 \ \hline\hline 13 \end{tabular} 14\end{table}

投稿2021/11/17 10:10

ujimushi_sradjp

総合スコア2085

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

man_

2021/11/17 11:35

ありがとうございます。実装することができました.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問