我想制作一本书的目录,但当我尝试使用命令时,\chapter{}
它不起作用。我猜问题是我试图把它放在一个中\psframebox
,但我需要那样做。或者你知道有什么方法可以包含章节而不需要标题出现两次吗?
\documentclass[10pt,reqno,draft]{amsbook}
\usepackage[spanish]{babel}
\usepackage{latexsym}
\usepackage{amsmath,amsthm}
\usepackage{rawfonts}
\usepackage{graphicx}
\usepackage{graphics}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{pstricks}
%\usepackage{pst-all}
%\usepackage{pstcol}
\usepackage[utf8]{inputenc}
%\usepackage[latin1]{inputenc}
%\usepackage[pctex32]{graphics}
%\usepackage[pctex32]{graphicx}
\renewcommand{\theenumi}{\alph{enumi}}
\renewcommand{\theenumi}{\arabic{enumi}}
\newcommand{\lm}{\text{\rm lím\;}}
\newcommand{\sen}{\text{\;\rm sen\;}}
\newcommand{\tg}{\text{\;\rm tg\;}}
\setlength{\textwidth}{12.2cm}
\setlength{\textheight}{18cm}
\setlength{\headheight}{6mm}
\setlength{\footskip}{1.2cm}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage[spanish]{babel}
%\newpsobject{grilla}{psgrid}{subgriddiv=1,griddots=10}
\begin{document}
%\include{cap0}
\include{cap1}
\end{document}
在 cap1.tex 中我输入了以下代码
\pagestyle{fancy}
\fancyhead{}%
\fancyhead[CE]{\sc J}
\fancyhead[CO]{\sc Obra}
\renewcommand{\headrulewidth}{0.5pt}
\thispagestyle{empty}
\vspace*{1.5cm}
\chapter*{
\begin{flushright}
\psframebox[fillstyle=solid,fillcolor=black]
{{\huge\bf \white ESCRITOS }}
\end{flushright}}
\setlength{\fboxrule}{1.5pt}
\setlength{\fboxsep}{10pt}
\newpage
答案1
将格式化命令放在\chapter
参数中不是一个好主意,因为如果您希望在目录中放置章节标题,它们也会出现在页眉中。最好使用类似这样的包titlesec
来完成这项工作,因为它将格式化与文本分开。这是一个基于的解决方案titlesec
。我还在章节中添加了一些文本以使图片更美观。
\documentclass[10pt,reqno,draft]{amsbook}
\usepackage[spanish]{babel}
\usepackage{latexsym}
\usepackage{amsmath,amsthm}
\usepackage{rawfonts}
\usepackage{graphicx}
\usepackage{graphics}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{pstricks}
%\usepackage{pst-all}
%\usepackage{pstcol}
\usepackage[utf8]{inputenc}
%\usepackage[latin1]{inputenc}
%\usepackage[pctex32]{graphics}
%\usepackage[pctex32]{graphicx}
\renewcommand{\theenumi}{\alph{enumi}}
\renewcommand{\theenumi}{\arabic{enumi}}
\newcommand{\lm}{\text{\rm lím\;}}
\newcommand{\sen}{\text{\;\rm sen\;}}
\newcommand{\tg}{\text{\;\rm tg\;}}
\setlength{\textwidth}{12.2cm}
\setlength{\textheight}{18cm}
\setlength{\headheight}{6mm}
\setlength{\footskip}{1.2cm}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage[spanish]{babel}
%\newpsobject{grilla}{psgrid}{subgriddiv=1,griddots=10}
\newcommand{\formatchapter}[1]{\raggedleft\psframebox[fillstyle=solid,fillcolor=black]{\huge\bf \white #1\strut}}
\usepackage[explicit]{titlesec}
\titleformat{\chapter}[block]
{}
{\formatchapter{\thechapter}}
{0pt}
{\formatchapter{#1}}
\usepackage{lipsum}
\begin{document}
\tableofcontents
%\include{cap0}
\include{cap1}
\end{document}
和cap1.tex
\pagestyle{fancy}
\fancyhead{}%
\fancyhead[CE]{\sc J}
\fancyhead[CO]{\sc Obra}
\renewcommand{\headrulewidth}{0.5pt}
\thispagestyle{empty}
\vspace*{1.5cm}
\chapter*{ESCRITOS}
\lipsum[1]
\setlength{\fboxrule}{1.5pt}
\setlength{\fboxsep}{10pt}
\newpage
总的来说,我建议使用更现代的\colorbox
命令,而不是\psfancybox
因为它属于标准 LaTeX 内容。只需将\formatchapter
命令替换为
\newcommand{\formatchapter}[1]{\raggedleft\colorbox{black}{\huge\bf\textcolor{white}{#1}\strut}}