章节格式重新定义

章节格式重新定义

我已经更改了\chapter部分定义,但在本书的某些章节中我不想应用它。例如,在下面的代码中我不想应用它\EjerPro。我该怎么做?

\documentclass[openany]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[spanish,es-lcroman]{babel}
\usepackage[hmargin=2cm,tmargin=4cm,bmargin=2.5cm,centering]{geometry}
\usepackage[demo]{graphicx}
\usepackage{kpfonts}
\usepackage[pagestyles,explicit]{titlesec}
\usepackage{xcolor}
\usepackage{polynom}
\usepackage{enumitem}
\usepackage[absolute]{textpos}
\usepackage{lipsum}

\definecolor{seccolor}{RGB}{255,204,102}% para las secciones
\definecolor{ssseccolor}{RGB}{255,233,190}% para las subsubsecciones
\definecolor{probcolor}{RGB}{159,209,139}% para los problemas
\definecolor{rptacolor}{RGB}{214,234,204}% para las respuestas

\newcommand\EjerPro{%
\chapter*{\colorbox{probcolor}{\parbox{\dimexpr\linewidth-6pt}{\hfil \LARGE\strut EJERCICIOS Y PROBLEMAS\hfil}}}
}


\usepackage{tikz}
\usepackage{kpfonts}
\usepackage[explicit]{titlesec}

\newcommand*\chapterlabel{}
\titleformat{\chapter}
  {\gdef\chapterlabel{}
   \normalfont\sffamily\Huge\bfseries\scshape}
  {\gdef\chapterlabel{\thechapter\ }}{0pt}
  {\begin{tikzpicture}[remember picture,overlay]
    \node[yshift=-3cm] at (current page.north west)
      {\begin{tikzpicture}[remember picture, overlay]
        \draw[fill=seccolor] (0,0) %rectangle
          (\paperwidth,3cm);
        \node[anchor=east,xshift=.9\paperwidth,rectangle,
            inner sep=11pt,
              fill=seccolor]
              {\color{black}\chapterlabel#1};
       \end{tikzpicture}
      };
   \end{tikzpicture}
 }
\titlespacing*{\chapter}{0pt}{50pt}{-60pt}

\begin{document}

\chapter{Expresiones algebraicas}
\lipsum[1-5]

\EjerPro
\lipsum[1-5]

\end{document}

答案1

一种可能性是本地应用标准设置(可在章节9.2. 标准类将 titlesec 文档的当前目录添加到所需章节;这可以直接完成,也可以使用命令完成,如下例所示:

\documentclass{book}
\usepackage[spanish,es-lcroman]{babel}
\usepackage[explicit]{titlesec}
\usepackage{tikz}
\usepackage{lipsum}

\definecolor{seccolor}{RGB}{255,204,102}% para las secciones
\definecolor{probcolor}{RGB}{159,209,139}% para los problemas

% Para capítulos con formato normal
\newcommand\regularchapter{%
\titleformat{\chapter}[display]
  {\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}
  {20pt}{\Huge##1}
\titlespacing*{\chapter}
  {0pt}{50pt}{40pt}
}
% Para capítulos con formato modificado
\newcommand*\chapterlabel{}
\titleformat{\chapter}
  {\gdef\chapterlabel{}
   \normalfont\sffamily\Huge\bfseries\scshape}
  {\gdef\chapterlabel{\thechapter\ }}{0pt}
  {\begin{tikzpicture}[remember picture,overlay]
    \node[yshift=-3cm] at (current page.north west)
      {\begin{tikzpicture}[remember picture, overlay]
        \draw[fill=seccolor] (0,0) %rectangle
          (\paperwidth,3cm);
        \node[anchor=east,xshift=.9\paperwidth,rectangle,
            inner sep=11pt,
              fill=seccolor]
              {\color{black}\chapterlabel#1};
       \end{tikzpicture}
      };
   \end{tikzpicture}
 }
\titlespacing*{\chapter}{0pt}{50pt}{-60pt}

\newcommand\EjerPro{%
  \begingroup
  \regularchapter
  \chapter*{\colorbox{probcolor}{\parbox{\dimexpr\linewidth-6pt}{\hfil \LARGE\strut EJERCICIOS Y PROBLEMAS\hfil}}}
  \endgroup
}

\begin{document}

\chapter{A Modified Numbered Chapter}
\EjerPro
\lipsum[3]
\chapter{Another Modified Numbered Chapter}

\end{document}

答案2

在您描述的情况下,如果有两个不同版本的章节,我可能会定义一个新命令\mychapter\Chapter执行您的\titleformat调用所做的事情,而保留原始命令\chapter

当我遇到类似问题时,我这样做:

\newcommand{\mychapter}[1]{
 \chapterimage{#1}
 \chapter*{#1}
 \stepcounter{chapter}
 \addcontentsline{toc}{chapter}{#1}
 \chaptermark{#1}
 \label{#1}}

相关内容