取得 \section 的格式和間距

取得 \section 的格式和間距

我正在嘗試創建一個\section文字格式略有不同的新命令。雖然我可以弄清楚如何對titlesec套件執行此操作,但我想避免手動插入格式和間距。

到目前為止我已經

\titleclass{\customsec}{straight}[\section]
\newcounter{customsec}

\titleformat{\customsec}{\sffamily\normalsize\bfseries}{}{0em}{Custom text \thecustomsec:~}
\titlespacing*{\customsec}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}

目前,我已經手動插入了一些字體、大小等值,但我希望這是\section.我需要的唯一更改是能夠更改部分標題中的文字。有什麼命令可以為我提取這個嗎?

還是在我需要自訂部分的文字部分中更新命令並隨後恢復它的正確方法?

答案1

我不知道如何從預設\section命令中提取確切的樣式,但似乎titlesec沒有為此提供工具,並且手動或自動執行此操作將很脆弱。

然而,僅在本地更改標題標籤似乎很容易,並且透過使用 TeX 群組(即大括號的內層),完成後它會自動更改回預設值。

\documentclass{article}
\usepackage{titlesec}

\newcommand\customsec[1]{{%
    \titlelabel{Custom text \thetitle:~}%
    \section{#1}%
}}

\begin{document}
    \section{normal section}
    \customsec{custom section}
    \section{normal section}
    \customsec{custom section}
\end{document}

結果

編輯:在這篇文章的舊版本中,顯示了兩個更複雜的版本,要么手動重置\titlelabel為預設值,要么訪問內部 LaTeX 巨集來保存和恢復它。

相關內容