表の左側を\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が だけ減少すると、LaTeX はテキスト ブロック内に収まるように、列1.5emの幅をその量だけ自動的に減少させます。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}、そうでないと文字の間隔が広くなりすぎるためです (3 つの変数の積を表すため)。\varnothing空集合を表すので嫌ですが、そのままにしました。

関連情報