使章節標題不可見?

使章節標題不可見?

這裡有一個簡單的問題:如何使章節標題不可見,但仍然獲得目錄和標題中正確的章節清單?例如,在第 10 頁上,如果我執行 a \section{New section},則我一定不會看到文字“X. 新部分”,但我仍然希望該部分位於目錄和\rightmark後續頁面中,當然直到新部分。

我正在使用簡約文件(類文章,沒有用於調整章節標題樣式的包)

答案1

像這樣的東西:

\newcommand\invisiblesection[1]{%
  \refstepcounter{section}%
  \addcontentsline{toc}{section}{\protect\numberline{\thesection}#1}%
  \sectionmark{#1}}
...

\invisiblesection{Blah}

答案2

鮑里斯的解決方案效果很好,但\nameref到該部分將無法正常工作。這是另一個基於他們的解決方案的解決方案。

\begin{document}

\makeatletter
\def\invisiblesection#1{%
\refstepcounter{section}%
\addcontentsline{toc}{section}{\protect\numberline{\thesection}#1}%
\sectionmark{#1}}
\protected@edef\@currentlabelname{#1} % Set correct name
...}
\makeatother
    
\invisiblesection{Blah} \label{blah}
...
\nameref{blah}

最小工作範例(MWE):

\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{babel}
\usepackage[unicode=true,pdfusetitle,
 bookmarks=true,bookmarksnumbered=true,bookmarksopen=true,bookmarksopenlevel=3,
 breaklinks=false,pdfborder={0 0 1},backref=false,colorlinks=false]
 {hyperref}
\usepackage[demo]{graphicx}


\newcommand\invisiblesectionwithoutname[1]{%
  \refstepcounter{section}%
  \addcontentsline{toc}{section}{\protect\numberline{\thesection}#1}%
  \sectionmark{#1}\phantom{}
  }

\makeatletter
\def\invisiblesection#1{%
\refstepcounter{section}%
  \addcontentsline{toc}{section}{\protect\numberline{\thesection}#1}%
  \sectionmark{#1}\phantom{}
  \protected@edef\@currentlabelname{#1} % Set correct name
}
\makeatother

\begin{document}
\tableofcontents{}\clearpage{}

\invisiblesectionwithoutname{One} \label{one}
\begin{figure}
\caption{\protect\includegraphics{logo}}
\end{figure}


\clearpage{}
\invisiblesection{Two} \label{two}
\begin{figure}
\caption{\protect\includegraphics{logo}}
\end{figure}

\\
Without setting correct label: \nameref{one}

With setting correct label: \nameref{two}
\end{document} 

輸出 (\nameref):

相關內容