在某些章节编号中添加 *

在某些章节编号中添加 *

如何向某些(即非全部)章节编号添加 *?

2.1 区分

2.2 集成

2.1 区分

2.2* 集成

  • 文档类别是 jlreq。

  • 我不想使用包,因为它会破坏风格。

  • 我需要将带星号的部分包含在目录中。

  • 部分带星号的章节会有交叉引用。交叉引用中应以星号显示章节编号。

小样本文件

% !TEX TS-program = lualatex
\documentclass[book]{jlreq}

\begin{document}

\tableofcontents

\chapter{Calculus}
\section{Differentiation}
\section{Integration}

\end{document}

答案1

你可以使用条件语句,并标记“困难”部分

\section+{Title}

这也允许标准可选参数\section,因此您仍然可以执行

\section+[Short title]{Long title}

和平常一样。A\label可以去任何地方:在主参数内部或外部。也\section*可以照常工作。

\documentclass[oneside]{book}
\usepackage[a6paper,margin=1.5cm]{geometry}
\pagestyle{plain}

\NewCommandCopy{\latexsection}{\section}
\RenewDocumentCommand{\section}{t+sO{#4}m}{%
  \IfBooleanT{#1}{\difficultsectiontrue}
  \IfBooleanTF{#2}{%
    % called as \section*
    \latexsection*{#4}%
  }{%
    \latexsection[#3]{#4}%
  }%
  \difficultsectionfalse
}
\newif\ifdifficultsection
\renewcommand{\thesection}{%
  \thechapter.\arabic{section}%
  \ifdifficultsection *\fi
}
\renewcommand{\thesubsection}{%
  \thechapter.\arabic{section}.\arabic{subsection}%
}

\begin{document}

\tableofcontents

\chapter{Calculus}

We have section~\ref{diff} and section~\ref{int}

\section{Differentiation}\label{diff}
\subsection{Preliminaries}
\section+{Integration}\label{int}
\subsection{Preliminaries}

\end{document}

我还重新定义了,\thesubsection所以它不会有*

生产说明:上述代码的前三行仅旨在获得较小的输出图片。

在此处输入图片描述

答案2

这是一个设置新命令的解决方案,\starredsection它满足原始作者的所有四个要求。它的局限性是 (a) 任何\label命令都必须包含在的参数中,\starredsection并且 (b) 不识别任何可选参数。

目录页面:

在此处输入图片描述

第一个主页:

在此处输入图片描述

% !TEX TS-program = lualatex
\documentclass[book]{jlreq}

\newcommand\starredsection[1]{%
   \begingroup % localize scope of next instruction
   \renewcommand\thesection{\arabic{chapter}.\arabic{section}*}
   \section{#1}
   \endgroup}

\begin{document}

\tableofcontents

\chapter{Calculus}

\section{Differentiation}
\starredsection{Integration\label{sec:integ}}
\subsection{Hello}
\section{Whatever}\label{sec:what}

\noindent
Cross-references to sections \ref{sec:integ} and \ref{sec:what}.

\end{document}

相关内容