调整所有部分的宽度

调整所有部分的宽度

有没有办法adjustwidth不用一直书写所有部分adjustwidth?例如\begin{adjustwidth}{1.3cm}{}重复两次:

\documentclass[10pt,a4paper]{article}

\usepackage{changepage}
\usepackage{lipsum}

\begin{document}


\section{Hello}

\begin{adjustwidth}{1.3cm}{}
\lipsum
\end{adjustwidth}

\section{Hello2}

\begin{adjustwidth}{1.3cm}{}
    \lipsum
\end{adjustwidth}

\end{document}

谢谢!

答案1

可能的解决方法之一是更改整个文档的边距并重新定义,\section{}以便调整各部分周围的边距。至少这将是一个起点:

\documentclass[10pt,a4paper]{article}
\usepackage{changepage}
\usepackage{lipsum}

% Only to show a page frame
\usepackage[showframe, pass]{geometry}


% Redefine section
\let\oldsection\section
\renewcommand\section[1]{%
    \begin{adjustwidth}{-1.3cm}{}
        \item
        \oldsection{#1}
    \end{adjustwidth}
}

% Set block margins
\changetext{}{-1.3cm}{}{1.3cm}{}


\begin{document}

% \vspace*{-4em}
\section{Hello}
\lipsum[1][1-7]

\section{Hello2}
\lipsum[2][1-7]

\section{Hello3}
\lipsum[3][1-7]

\end{document}

不过,您必须调整第一部分的垂直空间,例如通过添加\vspace*{-4em}

在此处输入图片描述

答案2

\newcommand{\adjustedwidthsection}[2] {\begin{adjustwidth}{1.3cm}{}#2\end{adjustwidth}}

因此你的代码将变成:

\documentclass[10pt,a4paper]{article}

\usepackage{changepage}
\usepackage{lipsum}

\newcommand{\adjustedwidthblock}[1] {\begin{adjustwidth}{1.3cm}{}#1\end{adjustwidth}}``

\begin{document}


\adjustedwidthsection{Hello}{\lipsum}

\adjustedwidthsection{Hello2}{\lipsum}

\end{document}

我相信这就是您所寻求的那种简化。

相关内容