我必须用 LaTeX 写一份提案,提案中有通过常规 LaTeX 命令(\section
、\subsection
、\subsubsection
和\subsubsubsection
)定义的常规标题,但也有其他工作包的特殊标题。这些标题必须加下划线、向左移动和斜体。
基本上,它看起来应该是这样的:
可能这是一个简单的问题。这是我尝试过的:
\newcommand{\specsection}[1]{\noindent\textit{\underline{#1}}}
它的主要问题是标题超出了页面范围。
\newcommand\specsection[1]{\begin{flushleft}
\underline{\textit{\parbox{\dimexpr\linewidth-2\fboxsep}{#1}}}
\end{flushleft}}
这个没有正确地划出下划线。
我该如何解决它?
答案1
\specsection
我建议你将的定义改为
\newcommand\specsection[1]{%
\par\noindent{\raggedright
\emph{\uline{#1}}
\par}}
这需要加载ulem
包——最好带有选项normalem
。
完整的 MWE (最小工作示例):
\documentclass{article}
\usepackage[normalem]{ulem}
\setlength{\parindent}{0pt} % just for this example
\newcommand\specsection[1]{%
\par\noindent{\raggedright
\emph{\uline{#1}}
\par}}
\begin{document}
\sffamily % optional
Here you have normal text.
\specsection{Work package 1: One problem is that header lines sometimes become very long and you need two lines for them.}
Here you have normal text.
\end{document}
答案2
谢谢@Mico。
一个简单的解决方案是:
\newcommand{\specsection}[1]{\noindent\textit{\uline{#1}}}
或者
\newcommand{\specsection}[1]{\raggedright\noindent\textit{\uline{#1}}\linebreak\noindent}