私は説明したテクニックを使っていましたここしかし、画像(カーソルの近く)に奇妙な結果が表示されました。
なぜそうなるのか、またどうすれば解決できるのか、何か考えはありますか?
\documentclass[12pt,openright,twoside]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{times}
\usepackage[table]{xcolor}
\usepackage{tabularx}
\usepackage{footnote}
\makesavenoteenv{tabular}
\makesavenoteenv{table}
\usepackage{geometry}
\geometry{margin=0.8in}
%for notes
\usepackage[show]{chato-notes}
\definecolor{light-gray}{gray}{0.65}
\definecolor{very-light-gray}{gray}{0.80}
\newcolumntype{b}{X}
\newcolumntype{s}{>{\hsize=.2\hsize}X}
\newcolumntype{v}{>{\hsize=.05\hsize}X}
\begin{document}
\date{}
\maketitle
\begin{table}[htbp]
\centering
%\begin{tabularx}{\textwidth}{| X | X | X |}
\begin{tabularx}{\textwidth}{|b|s|s|}
\hline
Alpha & Beta & Gamma \\ \hline
0 & 2 & 4 \\ \hline
1 & 3 & 5 \\ \hline
\end{tabularx}
\end{table}
\end{document}
答え1
@DavidCarlisle がすでに述べたように、列が 3 つあるため、幅の合計は 3X になるはずです。したがって、たとえば列 3 を にする必要がある場合は、仕様で を0.08\textwidth
設定する必要があります。\hsize=3*0.08 approx 0.25\hsize
\newcolumntype{v}
ただし、列だけを使用して問題を単純化することをお勧めしますp
。以下の 2 つのオプションを参照してください。
%\newcolumntype{b}{>{\hsize=2.15\hsize}X}
%\newcolumntype{s}{>{\hsize=0.6\hsize}X}
%\newcolumntype{v}{>{\hsize=0.25\hsize}X}
\begin{table}[htbp]
\centering
%\begin{tabularx}{\textwidth}{|b|s|v|} % <= This solution
\begin{tabularx}{\textwidth}{|X|p{.2\textwidth}|p{.08\textwidth}|} % <= Or this
\hline
Alpha & Beta & Gamma \\ \hline
0 & 2 & 4 \\ \hline
1 & 3 & 5 \\ \hline
\end{tabularx}
\end{table}
答え2
3 つの列が必要でX
、最後の 2 つの列の幅が最初の列の幅の 1/5 に等しいとします。この場合、比 α と β は、重心座標のように、式 α = 5β、α + 2β =3、つまり α=15/7、β=3/7 を満たす必要があります。近似値はそれぞれ2.15
とです0.425
。
つまり、あなたはこれを望んでいると思います:
\documentclass[12pt,openright,twoside]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{mathptmx}
\usepackage[table]{xcolor}
\usepackage{tabularx}
\usepackage{geometry}
\geometry{margin=0.8in, showframe}
\begin{document}
\begin{table}[htbp]
\centering
\begin{tabularx}{\textwidth}{|>{\hsize=2.15\hsize}X|>{\hsize=.425\hsize}X|>{\hsize=.425\hsize}X|}
\hline
Alpha & Beta & Gamma \\ \hline
0 & 2 & 4 \\ \hline
1 & 3 & 5 \\ \hline
\end{tabularx}
\end{table}
\end{document}
答え3
列の比率、つまり最初の列が他の 2 つの列の 4 倍であることがわかっているので、tabularx
とにかく必要な計算を行うだけで済みます。
\documentclass{article}
\usepackage{array}
% The available space is \textwidth
% minus twice the number of columns \tabcolsep spaces
% minus one more than the number of columns \arrayrulewidth
%
% The first two arguments to P are numerator and denominator
% and the third argument is the number of columns
% In this case the fractions are 4/6, 1/6 and 1/6
\newcolumntype{P}[3]{%
p{#1\dimexpr(
\textwidth-
\tabcolsep*\numexpr2*#3\relax-
\arrayrulewidth*\numexpr#3+1\relax
)/#2%
}%
}
\begin{document}
\noindent
X\dotfill X
\noindent
\begin{tabular}{|P{4}{6}{3}|P{1}{6}{3}|P{1}{6}{3}|}
\hline
Alpha & Beta & Gamma \\ \hline
0 & 2 & 4 \\ \hline
1 & 3 & 5 \\ \hline
\end{tabular}
\end{document}
したがって、1 を 4、1、1 に比例する部分、つまり 4/6、1/6、1/6 に分割するだけです。