内容中的点和标题混淆

内容中的点和标题混淆

我对目录中的标题和点感到困惑。

 \documentclass[oneside]{book}

    \usepackage{color, xcolor}


    \newcommand{\mysection}[2]{
        \setcounter{section}{#1}
        \setcounter{section}{0}
        \chapter*{#2}
        \addcontentsline{toc}{section}
    {\protect\numberline{\hspace{-1.15cm}%
                       \colorbox{blue!50}{\color{blue}\string\parbox[c][.72em]{1em}
                       {\strut\protect}}%
                       \hspace{1em}\bfseries\sffamily \MakeUppercase{#2}\protect}}
    }




    \begin{document}

    \tableofcontents

    \frontmatter
    \mysection{1}{Introduction}
    \mysection{0}{Acknowledgments}
    \mainmatter


    \end{document}

在此处输入图片描述

答案1

与其使用一堆\protect命令和奇怪的\string宏,不如使用一个强健的命令来做这些事情,因为命令的可扩展性在这里不是问题!

但是,\chapter*section其用作目录的格式化指示器看起来仍然很奇怪。

\documentclass[oneside]{book}

\usepackage{xcolor}

\usepackage{tocloft}

\renewcommand{\cftsecindent}{0pt}  % Perhaps?

\DeclareRobustCommand{\entryfortoc}[1]{%
  \bfseries\sffamily\MakeUppercase{#1}%
}

\DeclareRobustCommand{\bluenumberbox}[1]{%
  \colorbox{blue!50}{\color{blue}\parbox[c][.72em]{1em}{\strut}}%
}

\newcommand{\mysection}[2]{%
  \setcounter{section}{#1}
  \setcounter{section}{0}
  \chapter*{#2}
  \addcontentsline{toc}{section}{\protect\numberline{\bluenumberbox{}}\entryfortoc{#2}}%
}



\begin{document}

\tableofcontents

\frontmatter
\mysection{1}{Introduction}
\mysection{0}{Acknowledgments}
\mainmatter


\end{document}

在此处输入图片描述

答案2

很难理解你正在做什么。

  1. 为什么前言中的章节应被视为目录中的章节级别?

  2. 蓝色矩形是否应排版在页边距中?

  3. 为什么不简单地制定一条规则呢?

  4. \setcounter{section}{#1}\setcounter{section}{0}如果最终效果只是将部分计数器设置为 0,那么目的是什么?

这是一个更简单的代码。

\documentclass[oneside]{book}

\usepackage{xcolor}

\DeclareRobustCommand{\bluerectangle}{%
  \hspace*{-3.5em}%
  \textcolor{blue!50}{\rule{1em}{.72em}}%
  \quad
}
\newcommand{\mysection}[1]{%
  \stepcounter{section}% reset all child counters
  \setcounter{section}{0}%
  \chapter*{#1}
  \addcontentsline{toc}{section}{%
    \bluerectangle\bfseries\sffamily\MakeUppercase{#1}%
  }%
}

\begin{document}

\tableofcontents

\frontmatter
\mysection{Introduction}
\mysection{Acknowledgments}

\end{document}

在此处输入图片描述

相关内容