Управляйте интервалами в тексте, уравнениях и таблицах

Управляйте интервалами в тексте, уравнениях и таблицах

Я использую setspaceдля изменения интервалов в текстах.

\usepackage{setspace}
\setstretch{1.435}

Интервал в уравнениях можно регулировать, изменяя\arraystretch

Подход @egreg вздесь

\usepackage{etoolbox}
\pretocmd{\array}{\renewcommand{\arraystretch}{0.69686}}{}{} % 1/1.435=0.69686

или подход @campa вздесь

\usepackage[nodisplayskipstretch]{setspace}
\setstretch{1.435}
\everydisplay=\expandafter{\the\everydisplay\setstretch{1.0}}

Однако в любом случае интервал между строками в таблице является сигнальным интервалом и не может быть изменен путем изменения значения в \arraystretchили \setstretch.

Я предпочитаю немного увеличить интервал между строками в таблицах, а не интервал между сигналами. Как это сделать?

\documentclass{article}
\usepackage{lipsum} % just for this example
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage{setspace}
\setstretch{1.435}

\usepackage{etoolbox}
\pretocmd{\array}{\renewcommand{\arraystretch}{1}}{}{} % increase a little for the row spacing in equations

\begin{document}

\lipsum*[1]

\begin{equation}
    X=\begin{cases}
        \frac{1}{2}, & \text{if $a=1$} \\
        \frac{3}{2} & \text{otherwise}
    \end{cases}
\end{equation}

\begin{table}[htbp]
    \centering
    \caption{Changing the row spacing in the table}
    \begin{tabular}{ c c c }
    \toprule
     cell1 & cell2 & cell3 \\
     \midrule
     cell4 & cell5 & cell6 \\  
     cell7 & cell8 & cell9 \\
     \bottomrule
    \end{tabular}
\end{table}

\end{document}

введите описание изображения здесь

решение1

Для интервала многолинейных уравнений можно поиграться с spreadlinesокружением из mathtools. Это не работает с простым casesокружением, но вы можете использовать вариант этого окружения, представленный mathtools.

Для таблиц можно использовать cellspace, который определяет минимальный вертикальный интервал сверху и снизу ячеек в столбцах с префиксом спецификатора в виде буквы S (или Cесли вы загружаете siunitx). Наконец, я рекомендую загрузить captionпакет, который позволяет вам установить пропуск между заголовком и float.

Вот преувеличенный пример кода:

\documentclass{article}
\usepackage{lipsum} % just for this example
\usepackage{mathtools, empheq, nccmath}
\usepackage{booktabs, caption}
\captionsetup{skip=20pt}
\usepackage[math]{cellspace}
\renewcommand{\cellspacetoplimit}{10pt}
\renewcommand{\cellspacebottomlimit}{10pt}

\usepackage{etoolbox}
\BeforeBeginEnvironment{equation}{\begin{spreadlines}{20pt}}%{\spreadlines{20pt}}%
\AfterEndEnvironment{equation}{\end{spreadlines}}
\BeforeBeginEnvironment{empheq}{\begin{spreadlines}{20pt}}%{\spreadlines{20pt}}%
\AfterEndEnvironment{empheq}{\end{spreadlines}}

\usepackage{setspace}
\setstretch{1.435}
\pretocmd{\array}{\renewcommand{\arraystretch}{1}}{}{} % increase a little for the row spacing in equations

\begin{document}

\lipsum*[1]
\begin{equation}
    X=\begin{cases*}
        \mfrac{1}{2}, & \text{if $a=1$} \\
        \mfrac{3}{2} & \text{otherwise}
    \end{cases*}
\end{equation}

 \begin{empheq}[left ={ X = \empheqlbrace}]{alignat*=2}
     & \mfrac{1}{2}, &\quad & \text{if $a=1$} \\
      & \mfrac{3}{2} & & \text{otherwise}
\end{empheq}

\begin{table}[htbp]
    \centering
    \caption{Changing the row spacing in the table}
    \begin{tabular}{ Sc c c }
    \toprule
     cell1 & cell2 & cell3 \\
     \midrule
     cell4 & cell5 & cell6 \\
     cell7 & cell8 & cell9 \\
     \bottomrule
    \end{tabular}
\end{table}

\end{document} 

введите описание изображения здесь

Связанный контент