
私は正式な議論を提示するために 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
空集合を表すので嫌ですが、そのままにしました。