테이블의 왼쪽을 \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감소하면 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

TeX이 그것을 알고 있기 때문에 의 값을 알 필요가 없습니다 \parindent.

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나는 빈 세트를 표시하는 것을 싫어하더라도 떠났다 .

관련 정보