我有一份文档,其中有些部分有小节,有些没有小节。当有小节时,我希望它们(及其所有内容)都缩进。我找到了几种方法,基本上可以归结为以下两种:
使用小页面
这会带来两个问题:部分不能跨页面拆分,并且浮动元素不能浮动进或浮动出小页面,因此所有浮动元素都必须放置在源部分和输出部分之间。
使用 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}
输出:
答案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}