
Чтобы объяснить мою проблему, посмотрите на эту таблицу:
1) Я хочу переместить красную часть ближе к центру, чтобы три столбца были более центрированы.
2) Я хочу выровнять синюю часть по одной вертикальной линии. Я пробовал использовать {flalign*}
, но это выравнивает уравнения по столбцу сверху, а не по «Расчету рентабельности».
Вот код, который я использую:
\documentclass[12pt]{article}
\usepackage{setspace,amsmath,graphicx,float}
\usepackage[english]{babel}
\usepackage{boldline}
\usepackage{array}
\usepackage[left=3cm,top=3.5cm,right=2.5cm,bottom=2.5cm]{geometry}
\usepackage{times}
\usepackage{threeparttable}
\usepackage[margin=1cm]{caption}
\usepackage{amssymb}
\usepackage{tabularx}
\begin{document}
\begin{table}[H]
\centering
\small
\caption[xxx]{Example calculation for a two-product SSNIP test \citep{QuantTech}.}
\begin{threeparttable}
\begin{tabularx}{\textwidth}{p{20em} >{\centering\arraybackslash}p{8em} >{\centering\arraybackslash}p{7em}}
\hlineB{3}
& Product 1 & Product 2 \\ \hline
Margin & 10\% & 20\% \\
Diversion ratio & 0.29 & 0.5 \\
Own-price elasticity of demand & 2 & 4 \\
Ratio of prices $p_2 / p_1$ & 1 & 1 \\
\hlineB{3}
\end{tabularx}
\begin{tablenotes}
\setlength{\belowdisplayskip}{0pt} \setlength{\belowdisplayshortskip}{0pt}
\setlength{\abovedisplayskip}{0pt} \setlength{\abovedisplayshortskip}{0pt}
\item Profitability calculation:\\
\begin{align*}
\frac{p_1 - c_1}{p_1} \overset{?}{\leqslant} \frac{1}{\eta_{11}(p_1,p_2.\ldots,p_J)} + \frac{p_2 - c_2}{p_2} \frac{p_2}{p_1} DR_{12}, \qquad 0.1 \leqslant \frac{1}{2} + 0.2 \times 1 \times 0.29 = 0.56
\end{align*}
\begin{align*}
\frac{p_2 - c_2}{p_1} \overset{?}{\leqslant} \frac{1}{\eta_{22}(p_1,p_2.\ldots,p_J)} + \frac{p_1 - c_1}{p_1} \frac{p_1}{p_2} DR_{21}, \qquad 0.2 \leqslant \frac{1}{4} + 0.1 \times 1 \times 0.5 = 0.30
\end{align*}
\end{tablenotes}
\end{threeparttable}
\label{ExampleSSNIP}
\end{table}
\end{document}
Я буду благодарен за любую помощь - спасибо!
решение1
Если вы действительно хотите, чтобы ваша таблица заполнила ширину текста (а этого делать не следует, если только вы не занимаетесь набором текста в два столбца), по крайней мере не используйте \small
.
threeparttable
В этом случае вам не нужно . Просто используйте \raggedright
.
Я использовал newtxtext
и newtxmath
. Вы можете использовать mathptmx
(но результаты хуже); никогда не используйте, times
если в вашем документе есть математика.
\documentclass[12pt]{article}
\usepackage[left=3cm,top=3.5cm,right=2.5cm,bottom=2.5cm]{geometry}
\usepackage{amsmath}
\usepackage{newtxtext,newtxmath}
\usepackage{booktabs}
\usepackage{natbib}
\usepackage[margin=1cm]{caption}
\begin{document}
\begin{table}
\caption[xxx]{Example calculation for a two-product SSNIP test \citep{QuantTech}.}
\label{ExampleSSNIP}
\centering
\begin{tabular*}{\textwidth}{
@{\hspace{.1\textwidth}\extracolsep{\fill}}
l c c
@{\hspace{.1\textwidth}}
}
\toprule
& Product 1 & Product 2 \\
\midrule
Margin & 10\% & 20\% \\
Diversion ratio & 0.29 & 0.5 \\
Own-price elasticity of demand & 2 & 4 \\
Ratio of prices $p_2 / p_1$ & 1 & 1 \\
\bottomrule
\end{tabular*}
\medskip
\raggedright
Profitability calculation:\\[\medskipamount]
$\begin{alignedat}{2}
\frac{p_1 - c_1}{p_1} &\overset{?}{\leqslant}
\frac{1}{\eta_{11}(p_1,p_2.\dots,p_J)} + \frac{p_2 - c_2}{p_2} \frac{p_2}{p_1} DR_{12},
&\qquad& 0.1 \leqslant \frac{1}{2} + 0.2 \times 1 \times 0.29 = 0.56
\\
\frac{p_2 - c_2}{p_1} &\overset{?}{\leqslant}
\frac{1}{\eta_{22}(p_1,p_2.\dots,p_J)} + \frac{p_1 - c_1}{p_1} \frac{p_1}{p_2} DR_{21},
&\qquad& 0.2 \leqslant \frac{1}{4} + 0.1 \times 1 \times 0.5 = 0.30
\end{alignedat}$
\end{table}
\end{document}
Вместо boldrule
я использовалbooktabs
. Отрегулируйте величину интервала перед первым столбцом и после последнего; но мой совет:нетискусственно расширять таблицы, особенно если они содержат столь малое количество столбцов.
Обратите внимание, что \ldots
должно быть \dots
.
решение2
Вот решение с flushleft
опцией для заметок к таблице и fleqn
окружением nccmath
для обертывания align*
окружения, которое имеет эффект использования | fleqn option from
amsmath` локально для одной группы уравнений.
Я также заменил устаревший times
пакет на newtx
, который использует клон Times (TeX Gyre Termes).
\documentclass[12pt]{article}
\usepackage{setspace,amsmath,graphicx,float}
\usepackage[english]{babel}
\usepackage{boldline}
\usepackage{array}
\usepackage[left=3cm,top=3.5cm,right=2.5cm,bottom=2.5cm]{geometry}
\usepackage{newtxtext, newtxmath}
\usepackage{threeparttable}
\usepackage[margin=1cm]{caption}
\usepackage{amssymb}
\usepackage{tabularx}
\usepackage{nccmath}
\begin{document}
\begin{table}[H]
\centering
\small
\caption[xxx]{Example calculation for a two-product SSNIP test.}% \citep{QuantTech}
\begin{threeparttable}
\begin{tabularx}{\textwidth}{p{20em} >{\centering\arraybackslash}p{8em} >{\centering\arraybackslash}p{7em}}
\hlineB{3}
& Product 1 & Product 2 \\ \hline
Margin & 10\,\% & 20\,\% \\
Diversion ratio & 0.29 & 0.5 \\
Own-price elasticity of demand & 2 & 4 \\
Ratio of prices $p_2/p_1 $ & 1 & 1 \\
\hlineB{3}
\end{tabularx}
\begin{tablenotes}[flushleft]
\setlength{\belowdisplayskip}{0pt} \setlength{\belowdisplayshortskip}{0pt}
\setlength{\abovedisplayskip}{0pt} \setlength{\abovedisplayshortskip}{0pt}
\item Profitability calculation:
\begin{fleqn}[\fontdimen2\font]
\begin{align*}
\frac{p_1 - c_1}{p_1} & \overset{?}{\leqslant} \frac{1}{\eta_{11}(p_1,p_2.\ldots,p_J)} + \frac{p_2 - c_2}{p_2} \frac{p_2}{p_1} DR_{12}, & 0.1 & \leqslant \frac{1}{2} + 0.2 × 1 × 0.29 = 0.56 \\%
\frac{p_2 - c_2}{p_1} & \overset{?}{\leqslant} \frac{1}{\eta_{22}(p_1,p_2.\ldots,p_J)} + \frac{p_1 - c_1}{p_1} \frac{p_1}{p_2} DR_{21}, & 0.2 & \leqslant \frac{1}{4} + 0.1 × 1 × 0.5 = 0.30
\end{align*}
\end{fleqn}
\end{tablenotes}
\end{threeparttable}
\label{ExampleSSNIP}
\end{table}
\end{document}
Однако я предлагаю этот код, основанный на tabulary
, который, по моему мнению, выглядит ниверно:
\documentclass[12pt]{article}
\usepackage{setspace,amsmath,graphicx,float}
\usepackage[english]{babel}
\usepackage{boldline}
\usepackage{array}
\usepackage[left=3cm,top=3.5cm,right=2.5cm,bottom=2.5cm]{geometry}
\usepackage{newtxtext, newtxmath}
\usepackage{threeparttable}
\usepackage[margin=1cm]{caption}
\usepackage{amssymb}
\usepackage{tabularx, tabulary}
\usepackage{nccmath}
\begin{document}
\begin{table}[H]
\centering
\small\setlength\extrarowheight{2pt}
\caption[xxx]{Example calculation for a two-product SSNIP test.}% \citep{QuantTech}
\begin{threeparttable}
\begin{tabulary}{\textwidth}{L>{\centering\arraybackslash}p{8em} >{\centering\arraybackslash}p{8em}@{}}%p{20em} \hlineB{3}
& Product 1 & Product 2 \\ \hlineB{3}
Margin & 10\,\% & 20\,\% \\
Diversion ratio & 0.29 & 0.5 \\
Own-price elasticity of demand & 2 & 4 \\
Ratio of prices $p_2 / p_1$ & 1 & 1 \\
\hlineB{3}
\end{tabulary}
\begin{tablenotes}[flushleft]\footnotesize
\setlength{\belowdisplayskip}{0pt} \setlength{\belowdisplayshortskip}{0pt}
\setlength{\abovedisplayskip}{0pt} \setlength{\abovedisplayshortskip}{0pt}
\item Profitability calculation:
\begin{fleqn}[\fontdimen2\font]
\begin{align*}
\frac{p_1 - c_1}{p_1} & \overset{?}{\leqslant} \frac{1}{\eta_{11}(p_1,p_2.\ldots,p_J)} + \frac{p_2 - c_2}{p_2} \frac{p_2}{p_1} DR_{12}, & 0.1 & \leqslant \frac{1}{2} + 0.2 \times 1 \times 0.29 = 0.56 \\%
\frac{p_2 - c_2}{p_1} & \overset{?}{\leqslant} \frac{1}{\eta_{22}(p_1,p_2.\ldots,p_J)} + \frac{p_1 - c_1}{p_1} \frac{p_1}{p_2} DR_{21}, & 0.2 & \leqslant \frac{1}{4} + 0.1 \times 1 \times 0.5 = 0.30
\end{align*}
\end{fleqn}
\end{tablenotes}
\end{threeparttable}
\label{ExampleSSNIP}
\end{table}
\end{document}