有没有办法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}
我相信这就是您所寻求的那种简化。