书籍目录和精美的 psframebox

书籍目录和精美的 psframebox

我想制作一本书的目录,但当我尝试使用命令时,\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}}

在此处输入图片描述 在此处输入图片描述

相关内容