我想用 psvectorian 在零件编号和零件标题之间插入一个装饰物,正如上一个问题中解释的那样:
不幸的是,我选择的装饰(88)似乎有问题,装饰出现在零件的下一页(并且不居中),而不是零件编号和零件标题之间。错误在哪里?也许我需要使用 pgfornament?
这是我的代码:
\documentclass[symmetric,justified,marginals=raggedouter]{tufte-book}
\usepackage{tikz}
\usepackage{psvectorian}
\renewcommand\partheadmidvskip{%
\par\nobreak\vspace*{\baselineskip}%
\psvectorian[height=0.2cm]{88}%
\par\nobreak\vspace*{\baselineskip}%
}
\begin{document}
\thispagestyle{empty}
\begin{fullwidth}
\part{La Pi\`{e}ce d'Orgue \mbox{en \textit{r\'e} majeur} BWV 532}
\psvectorian[height=0.2cm]{88}
\end{fullwidth}
\end{document}
答案1
这应该有效:
\documentclass[symmetric,justified,marginals=raggedouter]{tufte-book}
\usepackage{tikz}
\usepackage{psvectorian}
\usepackage{auto-pst-pdf} % to use pstricks with pdflatex
\makeatletter
\def\H@old@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
\markboth{}{}%
{%
\begin{fullwidth}%
\centering
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >-2\relax
\huge\bfseries \partname\nobreakspace\thepart
\par
\vskip 10\p@
\psvectorian[height=0.2cm]{88}\par
\vskip 10\p@
\fi
\Huge \bfseries #2\par
\end{fullwidth}%
}%
\@endpart}
% compact form (without fullwidth environment)
%\usepackage{xpatch}
%\xpatchcmd\H@old@part
% {\vskip 20\p@}
% {%
% \vskip 10\p@
% \psvectorian[height=0.2cm]{88}\par
% \vskip 10\p@
% }
% {}{\fail}
\makeatother
\begin{document}
\part{La Pi\`{e}ce d'Orgue \mbox{en \textit{r\'e} majeur} BWV 532}
\end{document}
应该有更好的解决方案,只是因为这个对我来说更清楚。