Выровнять левую сторону таблицы с помощью \parindent

Выровнять левую сторону таблицы с помощью \parindent

Я использую среду tabularx для представления формальных аргументов, и в данный момент левая колонка выровнена с левым полем текста, а правая колонка выровнена с правым полем. Например:

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

Как мне выровнять левую колонку по отступу абзаца, а правую колонку — по правому полю? Я пробовал использовать пакет changepageи \adjustwidthкоманду, но это, похоже, не помогает, как и добавление \hspace{\parindent}в разных местах. Я уверен, что есть действительно простой способ сделать это, но я не знаю как.

Вот MWE:

\documentclass[12pt]{article}

\usepackage{tabularx} %tables
\usepackage{tabulary} %tables
\usepackage{lipsum}
\usepackage{upgreek} %greek letters
\usepackage{amssymb} %modal operators

\begin{document}

\lipsum[1-2]

\begin{table}[h!]
    \centering
    \setlength{\extrarowheight}{3pt}
    \begin{tabularx}{\textwidth}{@{}rXr@{}}
        (1) & $\varnothing \vdash \pi \leftrightarrow val(\ulcorner \pi \urcorner, \ulcorner \bot \urcorner)$ & ($\pi$ def.)\\
        (2) & $\pi \vdash \pi$ & (Assumption)\\
        (3) & $\pi \vdash val(\ulcorner \pi \urcorner, \ulcorner \bot \urcorner)$ & (1,2, MP)\\
        (4) & $\pi \vdash \bot$ & (2,3, \textit{V-Detach})\\
        (5) & $\varnothing \vdash val(\ulcorner \pi \urcorner, \ulcorner \bot \urcorner)$ & (4, \textit{V-Schema})\\
        (6) & $\varnothing \vdash \pi$ & (1,5, MP)\\
        (7) & $\varnothing \vdash \bot$ & (5,6, \textit{V-Detach})\\
    \end{tabularx}
\end{table}

\lipsum[3-4]


\end{document}

Спасибо!

решение1

Значение по умолчанию \parindentв articleклассе документа — 1.5em. Для достижения цели форматирования достаточно изменить

\begin{tabularx}{\textwidth}{@{} rXr @{}}

к

\begin{tabularx}{\textwidth}{@{\hspace{1.5em}} rXr @{}}

Так как в целомпригодный к использованиюширина окружения tabularxуменьшается на 1.5em, LaTeX автоматически уменьшает ширину столбца Xна эту величину, чтобы гарантировать, что он продолжит помещаться внутри текстового блока.


Приложение: Если вы случайно не знаете значение \parindent, вы можете выполнить, скажем,

\newlength\origparindent
\setlength{\origparindent}{\parindent}

когда-тодозапуск tableсреды и замена

\begin{tabularx}{\textwidth}{@{\hspace{1.5em}} rXr @{}}

с

\begin{tabularx}{\textwidth}{@{\hspace{\origparindent}} rXr @{}}

решение2

Вам не нужно знать значение \parindent, потому что TeX его знает.

Также вам не нужна tableокружающая среда, потому что это плавающий объект, а вам, скорее всего, понадобится материал.там, а не где-то еще.

Вы можете использовать enumerateсреду, правильно настроенную с помощью enumitem. Сдвинуть что-либо к правому краю легко с помощью \hfill, пока предшествующий материал допускает размещение, точнее, он не будет перекрывать метку.

\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{lipsum}
\usepackage{upgreek} %greek letters
\usepackage{amssymb} %modal operators
\usepackage{enumitem}

\newenvironment{sidecond}
 {\begin{enumerate}[
    label=(\arabic*),
    leftmargin=\dimexpr\parindent+\labelsep,
    labelwidth=0pt,
    align=left
]}
{\end{enumerate}}

\begin{document}

\lipsum[2][1-5]

\begin{sidecond}
\item $\varnothing \vdash \pi \leftrightarrow 
       \mathit{val}(\ulcorner \pi \urcorner, \ulcorner \bot \urcorner)$\hfill ($\pi$ def.)

\item $\pi \vdash \pi$\hfill (Assumption)

\item $\pi \vdash \mathit{val}(\ulcorner \pi \urcorner, \ulcorner \bot \urcorner)$\hfill (1,2, MP)

\item $\pi \vdash \bot$\hfill (2,3, \textit{V-Detach})

\item $\varnothing \vdash \mathit{val}(\ulcorner \pi \urcorner, \ulcorner \bot \urcorner)$\hfill
      (4, \textit{V-Schema})

\item $\varnothing \vdash \pi$\hfill (1,5, MP)

\item $\varnothing \vdash \bot$\hfill (5,6, \textit{V-Detach})
\end{sidecond}

\lipsum[4][1-3]


\end{document}

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

Пара последних замечаний. Я использовал \mathit{val}, потому что в противном случае буквы слишком разнесены (потому что они обозначают произведение трех переменных). Я оставил, \varnothingдаже если я ненавижу это за обозначение пустого множества.

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