缩进文本并仍允许节、分页符和浮动

缩进文本并仍允许节、分页符和浮动

我有一份文档,其中有些部分有小节,有些没有小节。当有小节时,我希望它们(及其所有内容)都缩进。我找到了几种方法,基本上可以归结为以下两种:

  1. 使用小页面

    这会带来两个问题:部分不能跨页面拆分,并且浮动元素不能浮动进或浮动出小页面,因此所有浮动元素都必须放置在源部分和输出部分之间。

  2. 使用 addmargin (或 adjustwidth)

    (addmargin 环境由 KOMA-script 提供,adjustwidth 环境由 changepage 包提供。)

    这个没有 minipage 的问题,但是分区命令似乎在这些环境中根本不起作用。我得到了错误Something's wrong--perhaps a missing \item.

我怎样才能实现缩进而不出现这些问题?


梅威瑟:

\documentclass[parskip=half]{scrartcl}

\begin{document}

\section{Using minipage}

\hfill\begin{minipage}{\dimexpr\textwidth-2cm}

\subsection{A Subsection}

First table declared here.

\begin{table}
    \centering
    \caption{some table}

    \begin{tabular}{c c}
        1, 1    &   1, 2    \\
        2, 1    &   2, 2    \\
    \end{tabular}
\end{table}

\subsection{Another Subsection}

Plain text.

\end{minipage}

\section{Using addmargin}

\begin{addmargin}[2cm]{0cm}

\subsection{A Subsection}

Second table declared here

\begin{table}
    \centering
    \caption{some table}

    \begin{tabular}{c c}
        1, 1    &   1, 2    \\
        2, 1    &   2, 2    \\
    \end{tabular}
\end{table}

\subsection{Another Subsection}

Plain text.

\end{addmargin}

\end{document}

输出:

MWE 的输出

答案1

我可能会使用列表,像这样,尽管间距可以调整

\documentclass[parskip=half]{scrartcl}

\let\xsubsection\subsection

\newcommand\xxsubsection[1]{\parbox{\dimexpr\textwidth-35pt}{\xsubsection{#1}}}
\newenvironment{sectext}{%
\renewcommand\subsection[1]{\item[{##1}]}%
\list{}{%
\itemindent0pt\relax
\listparindent\itemindent
\leftmargin2cm\relax
\let\makelabel\xxsubsection
}}{\endlist}
\begin{document}

\section{Using minipage}

\begin{sectext}

\subsection{A Subsection}

First table declared here.

\begin{table}
    \centering
    \caption{some table}

    \begin{tabular}{c c}
        1, 1    &   1, 2    \\
        2, 1    &   2, 2    \\
    \end{tabular}
\end{table}

\subsection{Another Subsection}

Plain text.


\subsection{A Subsection}

Second table declared here

\begin{table}
    \centering
    \caption{some table}

    \begin{tabular}{c c}
        1, 1    &   1, 2    \\
        2, 1    &   2, 2    \\
    \end{tabular}
\end{table}

\subsection{Another Subsection}

Plain text.

\end{sectext}

\end{document}

相关内容