我怎样才能使小节文本在定义的左边距内左对齐,其“自身”边距为 0.75 英寸(而不是 3.0 英寸)?我相信这项任务的软件包是,titlesec
但我愿意接受其他可能性。MWE:
\documentclass{article}
\setlength\parindent{0pt} % no indents
\usepackage{geometry}
\geometry{top=1.0in, left=3.0in, right=.75in, bottom=1in}
\usepackage{lipsum}
\usepackage{titlesec}
% subsection format setup
% \titleformat{\subsection}
\begin{document}
\section{First Section}
\lipsum[1-10]
\subsection{First Subsection}
\lipsum[1-10]
\end{document}
这是所需的输出:
任何帮助都将不胜感激!
答案1
这是使用 的解决方案titlesec
。想法是使用命令llap
和smashing
it 将子节标签和标题放在页边距中,这样正文中的行在页面上保持在同一水平。使用tabularx
规定宽度 的环境获得相对于标签悬挂的节标题3in - 0.75 in
。最后,我必须补偿 LaTeX 在tabularx
环境和正文中的第一个单词之间插入的单词间空间。
\documentclass{article}
\usepackage[utf8]{inputenc}
\setlength\parindent{0pt} % no indents
\usepackage[x11names]{xcolor}
\usepackage{tabularx}
\usepackage{geometry}
\geometry{top=1.0in, left=3.0in, right=.75in, bottom=1in}
\usepackage{lipsum}
\usepackage[explicit]{titlesec}
\titleformat{\subsection}[runin]{\bfseries\large\color{Tomato4! 80! }}{}{0em}{\llap{\smash{\begin{tabularx}{2.25in}[t]{@{}l@{\hskip0.4em}>{\raggedright}X@{\hskip\marginparsep}}\thesubsection & #1\end{tabularx}}}}[\leavevmode\hspace*{\dimexpr-\fontdimen2\font-\fontdimen3\font}]
\begin{document}
\section{First Section}
\lipsum[1-2]
\subsection{First Subsection with a long title}
\lipsum[1-10]
\end{document}