Alinear el lado izquierdo de la tabla con \parindent

Alinear el lado izquierdo de la tabla con \parindent

Estoy usando el entorno tabularx para presentar argumentos formales, y de momento la columna izquierda está alineada con el margen izquierdo del texto y la columna derecha está alineada con el margen derecho. Por ejemplo:

ingrese la descripción de la imagen aquí

¿Cómo puedo hacer que la columna de la izquierda esté alineada con la sangría del párrafo, pero que la columna de la derecha permanezca alineada con el margen derecho? Intenté usar el changepagepaquete y el \adjustwidthcomando, pero eso no parece ayudar, ni tampoco agregarlo \hspace{\parindent}en varios lugares. Estoy seguro de que hay una forma muy sencilla de hacerlo, pero no sé cómo.

Aquí hay un 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}

¡Gracias!

Respuesta1

El valor predeterminado de \parindenten la articleclase de documento es 1.5em. Por lo tanto, para lograr su objetivo de formato, basta con cambiar

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

a

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

Desde el totalusableEl ancho del tabularxentorno disminuye en 1.5em, LaTeX disminuirá automáticamente el ancho de la Xcolumna en esa cantidad para garantizar que continúe cabendo dentro del bloque de texto.


Apéndice: En caso de que no conozca el valor de \parindent, puede ejecutar, digamos,

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

a vecesantesiniciando el tableentorno y reemplazando

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

con

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

Respuesta2

No necesitas saber el valor de \parindent, porque TeX lo sabe.

Además, no quieres un tableentorno, porque es un objeto flotante y es muy probable que quieras el material.allá, no en otro lugar.

Puede utilizar un enumerateentorno configurado correctamente con la ayuda de enumitem. Empujar algo hacia el margen derecho es fácil con \hfill, siempre que el material anterior permita la colocación, más precisamente, no se superpondrá a la 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}

ingrese la descripción de la imagen aquí

Un par de notas finales. Usé \mathit{val}, porque de lo contrario las letras están demasiado espaciadas (porque denotan el producto de tres variables). Lo dejé \varnothingaunque lo aborrezco por denotar el conjunto vacío.

información relacionada