Latex newcommand 下划线部分

Latex newcommand 下划线部分

我必须用 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}

相关内容