
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:
¿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 changepage
paquete y el \adjustwidth
comando, 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 \parindent
en la article
clase 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 tabularx
entorno disminuye en 1.5em
, LaTeX disminuirá automáticamente el ancho de la X
columna 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 table
entorno 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 table
entorno, porque es un objeto flotante y es muy probable que quieras el material.allá, no en otro lugar.
Puede utilizar un enumerate
entorno 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}
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é \varnothing
aunque lo aborrezco por denotar el conjunto vacío.