Alinhe o lado esquerdo da tabela com \parindent

Alinhe o lado esquerdo da tabela com \parindent

Estou utilizando o ambiente tabularx para apresentar argumentos formais, e no momento a coluna esquerda está alinhada com a margem esquerda do texto e a coluna direita está alinhada com a margem direita. Por exemplo:

insira a descrição da imagem aqui

Como posso alinhar a coluna da esquerda com o recuo do parágrafo, mas a coluna da direita ficar alinhada com a margem direita? Tentei usar o changepagepacote e o \adjustwidthcomando, mas isso não parece estar ajudando, nem adicionar \hspace{\parindent}em vários lugares. Tenho certeza de que há uma maneira muito simples de fazer isso, mas não sei como.

Aqui está um 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}

Obrigado!

Responder1

O valor padrão \parindentna articleclasse do documento é 1.5em. Para atingir o seu objetivo de formatação, basta alterar

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

para

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

Desde o geralutilizávellargura do tabularxambiente for diminuída em 1.5em, o LaTeX diminuirá automaticamente a largura da Xcoluna nessa quantidade para garantir que ela continuará a caber dentro do bloco de texto.


Termo aditivo: Caso você não saiba o valor de \parindent, você pode executar, digamos,

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

às vezesantesiniciando o tableambiente e substituindo

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

com

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

Responder2

Você não precisa saber o valor de \parindent, porque o TeX sabe disso.

Além disso, você não quer um tableambiente, porque é um objeto flutuante e você provavelmente quer o material, não em outro lugar.

Você pode usar um enumerateambiente devidamente configurado com a ajuda do enumitem. Empurrar algo para a margem direita é fácil com \hfill, desde que o material anterior permita a colocação, mais precisamente, não se sobreporia à etiqueta.

\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}

insira a descrição da imagem aqui

Algumas notas finais. Usei \mathit{val}, porque senão as letras ficam muito espaçadas (porque denotam o produto de três variáveis). Saí \varnothingmesmo que abomine isso por denotar o conjunto vazio.

informação relacionada