我正在尝试删除带有格式的标题上方的空格leftmargin
,并且该标题还包含图像。该问题与这个问题,但那里的解决方案对我不起作用,而且它没有使用leftmargin
。还有许多其他类似的问题,但我找不到针对这种特定情况的解决方案。
当我删除leftmargin
格式时,空间就消失了。
我的代码如下。我欢迎任何反馈,以了解是否有更好的方法来实现相同的结果(具有较宽的左边距)。
\documentclass[a4paper]{article}
\usepackage[document]{ragged2e}
\usepackage{graphicx,titlesec,lipsum}
\usepackage[vmargin=0.8cm,hmargin={8.3cm,0.8cm},showframe]{geometry}
% Unrelated: how do you include parameters to commands in \titleformat
\newcommand{\includerotate}[1]{\includegraphics[angle=180,origin=c]{#1}}
\titleformat{\section}[leftmargin]
{\huge}
{}
{0em}
{}
[\hspace{-7.5cm}\includerotate{3_lines.pdf}\\]
\titlespacing{\section}
{0cm}{0pt}{7.5cm}
\begin{document}
\section{service overview}
\lipsum[1-2]
\end{document}
这将生成以下文档。我试图删除的空白位于上边距和彩色线之间。以下是链接3_行.pdf如果您想编译代码。
答案1
间距来自\huge
格式参数中的 - 它导致在设置标题之前插入普通支柱。相反,您可以使用“代码之前”参数来\titleformat
设置字体大小并放置图形规则。我还建议将标题放在一个狭窄的列中,而不是放在零宽度的列中,并带有溢出的框:
\documentclass[a4paper]{article}
\usepackage[document]{ragged2e}
\usepackage{graphicx,titlesec}
\usepackage[vmargin=0.8cm,hmargin={8.3cm,0.8cm},showframe]{geometry}
\newcommand{\includerotate}[1]{\includegraphics[angle=180,origin=c,viewport=0
12 550 12]{#1}}
\titleformat{\section}[leftmargin]
{}
{}
{0em}
{\rlap{\includerotate{3_lines.pdf}}\endgraf\vspace{-15pt}\filright\huge}
[\strut]
\titlespacing{\section}
{3cm}{2ex plus 0.5ex minus 0.2ex}{4.5cm}
\usepackage{lipsum} %for dummy text
\usepackage[latin]{babel} %with correct hyphenation
\begin{document}
\section{service overview}
\lipsum[1-2]
\section{other details and material}
\lipsum[3-4]
\end{document}
之前通过 打印规则,在一个宽度为零的框中\rlap
。然后它开始一个新段落,\par
在这里不起作用,但\endgraf
已经足够了。该段落设置为titlesec
s 版本\raggedright
,即\filright
,并\huge
选择大小。间距已更改,因此标题设置为列3cm
宽,并在标题前添加了垂直间距。
答案2
我的解决方案是将彩色规则视为部分标题的标签,而不是在编写部分标题后添加的内容。使用可选参数\raisebox
,您可以让 LaTeX 认为它没有高度,没有宽度。所以我不必包含、旋转等任何图形文件;当部分出现在页面顶部时,规则就会绘制在测试区域顶部限制的下方。
以下是代码:
\documentclass[a4paper]{article}
\usepackage[document]{ragged2e}
\usepackage{graphicx,lipsum}
\usepackage[explicit]{titlesec}
\usepackage[x11names]{xcolor}
\usepackage[vmargin=0.8cm,hmargin={8.3cm,0.8cm},reversemarginpar, showframe]{geometry}
\titleformat{\section}[leftmargin]
{\huge}
{\raisebox{0.575\baselineskip}[0pt][0pt]{\color{HotPink4}\rule{7cm}{3pt}\hspace{14.25pt}\rule{\textwidth}{3pt}}}
{0em}
{#1}
%[\hspace{-7.5cm}\includerotate{3_lines.pdf}\\]
%[\includegraphics{3_lines.pdf}\\]%
\titlespacing{\section}
{0cm}{1.5\baselineskip}{7.5cm}
\begin{document}
\section{service overview}
\lipsum[1-10]
\section{service overview 2}
\lipsum[11-15]
\end{document}
结果:
回答您的附属问题:如果您使用该explicit
选项加载 titlesec,则可以非常简单地使用 \titleformat 的一个参数,即章节标题。但也许您想传递其他参数?