In attempting to answer Indent all the normal text, I had to resort to using the titlesec
package to unindent the section headings. With \let\OldSection\section
, I was sure that either
\def\section#1{\hspace*{-\LeftMargin}\OldSection{#1}}
or
\def\section#1{\endChangeMargin\OldSection{#1}\ChangeMargin{\LeftMargin}{\RightMargin}}
would result in normal placement of section headings but they don't. Why is that?
Furthermore, there is also a vertical space prior to the section heading. This is also visible in the solution to the linked question where the the titlesec
package was used.
So, how can one adjust the horizontal spacing of the section headings without the vertical spacing being changed?
Code:
\documentclass{article}
\usepackage{showframe}
\usepackage{lipsum}
\newcommand*{\LeftMargin}{0.5cm}%
\newcommand*{\RightMargin}{0.0cm}%
%% https://tex.stackexchange.com/questions/588/how-can-i-change-the-margins-for-only-part-of-the-text
\def\ChangeMargin#1#2{\list{}{\rightmargin#2\leftmargin#1}\item[]}%
\let\endChangeMargin\endlist%
% Not sure why these did not work
\let\OldSection\section
%\def\section#1{\hspace*{-\LeftMargin}\OldSection{#1}}%
\def\section#1{\endChangeMargin\OldSection{#1}\ChangeMargin{\LeftMargin}{\RightMargin}}%
%%%% The following achieves the desired result, but why does the above not work
%%%% https://tex.stackexchange.com/questions/25082/customizing-indentation-in-section-and-subsection-headings
%\usepackage{titlesec}
%\titlelabel{\hspace*{-\LeftMargin}\thetitle~}
\begin{document}
\ChangeMargin{\LeftMargin}{\RightMargin}
\section{Section Name}
\lipsum*[1-3]
\endChangeMargin
\end{document}