LaTeX 带下划线的章节标题,右侧有注释,无下划线

LaTeX 带下划线的章节标题,右侧有注释,无下划线

我想让章节标题带下划线。但是,我想将引用放在右侧,而不完全延伸下划线。我正在使用 sectsty 和 ulem 来获取带下划线的部分。下面是我正在尝试执行的操作的示例,但下划线继续向右延伸。

\documentclass[12pt]{article}
\usepackage{sectsty}
\usepackage[normalem]{ulem}

\sectionfont{\ulemheading{\uuline}}

\begin{document}
    \section{Section Title\hfill [Ref]}
\end{document}

答案1

我赞同 @egreg 所说的避免使用下划线。但有时这是无可奈何的(比如当你和那些坚持特定样式的人一起工作时)。所以我会帮助你达到你想要的目标。

该解决方案允许完整的[双]下划线(就像您在 MWE 中使用的普通解决方案一样),但也为参考提供了另一种选择。

我已经重新定义了一些东西,以便您可以继续正常使用\section{...}\section*{...}但现在,不再更改目录行,而是使用可选参数作为引用:

\section[{[ref]}]{Title}
\section[\cite{articleABC}]{Title}

带有适当重新定义的完整示例:

\documentclass[12pt]{article}
\usepackage{sectsty}
\usepackage[normalem]{ulem}
\usepackage{showframe} % For illustration

% Add reference functionality
\makeatletter
\sectionfont{\ulemheading{\uuline}}
\let\oldsection\section
\def\section{\@ifstar\s@section\@section}
\newcommand{\@section}[2][\relax]{\oldsection{\llap{\rlap{\hspace{\textwidth}\llap{#1}}\protect\phantom{\thesection\quad}}#2}}
\newcommand{\s@section}[2][\relax]{\oldsection*{\llap{\rlap{\hspace{\textwidth}\llap{#1}}}#2}}
\makeatother

\begin{document}
    \section[\cite{test}]{Section Title}  Regular section
    \section*[{[1]}]{Section Title} Starred section % Manually give reference
    \section{Section Title} Without reference
    \section*{Section Title} Without reference, starred section
    \setcounter{section}{100}
    \section[\cite{test}]{Section Title} With a large section number
    \section[\cite{test}]{This is a Very, Very, Very Long\\Section Title} With a very long title, you must manually break the line to avoid overlapping the reference
\end{document}

这将形成以下部分:

例子

答案2

这将为你显示一个带下划线的节标题,但数字保持正常:

\documentclass[12pt]{article}
\usepackage[normalem]{ulem}

\begin{document}
    \section{\uuline{Section Title}\hfill [Ref]}
\end{document}

相关内容