Подчеркнутые заголовки разделов 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*{...}как обычно. Но теперь вместо изменения строки TOC для ссылки используется необязательный аргумент:

\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}

Связанный контент