"\ref"를 통해 번호가 없는 섹션을 상호 참조하는 방법은 무엇입니까?

"\ref"를 통해 번호가 없는 섹션을 상호 참조하는 방법은 무엇입니까?

글쎄, 내 템플릿에 대한 간단한 요약을 작성하려고 하다가 기로에 섰습니다. 내 클래스 정의에서 템플릿의 특정 스타일을 유지하기 \section{}위해 명령을 다시 정의했지만 이제는 섹션을 독립적으로 참조하고 작성하면 제목에 번호가 없는 상태로 유지된다는 속성을 유지하고 싶습니다.\section*{}\section{A random title}

이에 대해 더 자세히 설명하겠습니다.

  1. \section{}다음 코드 줄을 사용하여 명령을 재정의했습니다 .

    \let\oldsection\section                             
    \renewcommand{\section}[1]{%                        
       \oldsection*{#1}                                
       \phantomsection                                
       \addcontentsline{toc}{section}{#1}              
    }
    
  2. 두 개의 서로 다른 섹션에서 사용하면 \ref{A label given to the section}다음과 같은 결과를 얻습니다.

여기에 이미지 설명을 입력하세요

  1. \section{}다음과 같이 장 내 각 섹션의 이름을 포함하는 간략한 요약을 만들었으므로 명령에 번호를 매길 필요가 없습니다 .

여기에 이미지 설명을 입력하세요

정보가 너무 많아서 게시물에 과부하가 걸리지 않도록 이 간략한 요약의 코드를 포함할 필요는 없다고 생각합니다.

본질적으로, 나는 이 작업을 수행하는 방법을 알아내는 데 도움을 원합니다 \ref{}.

답변1

\ref{}원하는대로 작업이 가능합니다 . \@currentlabelnext 전에 in place를 재정의해야 합니다 \label. 귀하의 경우에는 재정의된 \section.

을 로드한 이후에는 별표 표시된 각 섹션에 앵커가 이미 추가되어 있으므로 hyperref필요하지 않습니다 . 대신 \phantomsection사용하는 것이 좋습니다 .\NewCommandCopy\let

다음 예제에서는 다음을 생성합니다.

여기에 이미지 설명을 입력하세요

\ref{} 지정된 경우 더 짧은 섹션 제목을 사용하기 위해 매크로를 약간 확장했습니다 . 또한 이 경우 섹션 번호는 의미가 없기 때문에 콜론 뒤의 페이지 번호를 가정합니다.

\documentclass{report}
\usepackage[colorlinks]{hyperref}
\usepackage{blindtext}

\title{The Title}
\author{First Last}
\date{}

\makeatletter
\NewCommandCopy\oldsection\section
\RenewDocumentCommand\section{O{#2}m}{%
  \oldsection*{#2}\addcontentsline{toc}{section}{\numberline{}#2}%
  \edef\@currentlabel{(titled as "#1")}}
\makeatother


\begin{document}
\maketitle
\tableofcontents

\chapter{Chapter one}
\section{Section: Aaa}\label{sec:aaa}
\Blindtext

\chapter{Chapter two}
\section[Bbb]{Section: Bbb}\label{sec:bbb}
\Blindtext

\chapter{Chapter three}
Referring to the section 1 \ref{sec:aaa}: \pageref{sec:aaa}.\\*
Referring to the section 2 \ref{sec:bbb}: \pageref{sec:bbb}.
\end{document}

관련 정보