我正在使用该类memoir
,并希望从moderncv
“银行”样式重新创建章节和小节标题:
我能够使用以下命令在节标题下创建规则:
\newcommand{\ruledsec}[1]{%
\Large\bfseries\raggedright\strut #1%
\hrule%
}
\setsecheadstyle{\ruledsec}
\setaftersecskip{.5\onelineskip}
但是,以下小节样式将分成\dotfill
新行:
\newcommand{\dottedsubsec}[1]{%
\large\bfseries\raggedright\strut #1%
\scriptsize\dotfill%
}
\setsubsecheadstyle{\dottedsubsec}
\setaftersubsecskip{.25\onelineskip}
我怎样才能达到预期的效果?有没有更简单的方法来设置标题样式?
答案1
两种解决方案。
一种方法是将 afterskip 设为负数,这样点就会插入到标题文本中。然后,afterskip 维度指定水平跳过,您应将其设置为。然后需要在;0pt
之后添加垂直间距,不幸的是,它会被丢弃,因此您需要使用\dotsfill
\vspace
\vspace*
\\[...]
\newcommand{\dottedsubsec}[1]{%
\large\bfseries\strut #1%
\dotfill\\[0.25\onelineskip]
}
或者,可能更好的是,将标题和点放在一个框中:
\newcommand{\dottedsubsec}[1]{%
\noindent\parbox{\textwidth}{\large\bfseries\strut #1%
\dotfill}\vspace{0.25\onelineskip}%
}
\documentclass{memoir}
\newcommand{\ruledsec}[1]{%
\Large\bfseries\raggedright\strut #1%
\hrule%
}
\setsecheadstyle{\ruledsec}
\setaftersecskip{.5\onelineskip}
\newcommand{\dottedsubsec}[1]{%
\noindent\parbox{\textwidth}{\large\bfseries\strut #1%
\dotfill}\vspace{0.25\onelineskip}%
}
\setsubsecheadstyle{\dottedsubsec}
\setaftersubsecskip{-0pt}
\begin{document}
\section*{Experience}
\subsection*{Vocational}
Text.
\end{document}
第二种方法,对于您的情况,在跟踪列表方面表现更好,如下所示。虽然将后跳过设为负数可以解决运行问题,但它会调用完全不同的代码分支。保持后跳过为正数,可以通过在代码中\@startsection
终止命令来绕过相应的编码,从而防止标题后出现换行符;下面的代码在组中执行此操作以局部化效果:\@@par
\@startsection
\makeatletter
\newcommand{\dottedsubsec}[1]{%
{\noindent\let\@@par\relax\large\bfseries\strut #1%
\dotfill}
}
\makeatother
\documentclass{memoir}
\newcommand{\ruledsec}[1]{%
\Large\bfseries\raggedright\strut #1%
\hrule%
}
\setsecheadstyle{\ruledsec}
\setaftersecskip{.5\onelineskip}
\makeatletter
\newcommand{\dottedsubsec}[1]{%
{\noindent\let\@@par\relax\large\bfseries\strut #1%
\dotfill}
}
\makeatother
\setsubsecheadstyle{\dottedsubsec}
\setaftersubsecskip{0.25\onelineskip}
\begin{document}
\showoutput
\section*{Experience}
Text.
\subsection*{Vocational}
Text.
\section*{Experience}
\begin{description}
\item[Test] test
\end{description}
\subsection*{Vocational}
\begin{description}
\item[Test] test
\end{description}
\end{document}