將表格左側與 \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中的預設值為。為了實現您的格式化目標,只需更改article1.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即使我討厭它表示空集,我還是離開了。

相關內容