Documentclass 回忆录。头部的设计如下:
\documentclass[a4paper,12pt,small, openany,twoside]{memoir}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{misccorr}
\usepackage{cmap}
\frenchspacing
\usepackage{indentfirst}
\usepackage{microtype}
\usepackage{amssymb,amsfonts,amsmath}
\usepackage{cite,float,textcomp,setspace}
\usepackage{txfonts}
\usepackage{paratype}
\usepackage{ArtNouv}
\usepackage{lettrine}
\renewcommand{\LettrineFontHook}{\ArtNouvfamily{}}
\setcounter{DefaultLines}{3}
\usepackage{tikz}
\usepackage{pgfornament}
\usetikzlibrary{chains}
\usepackage[pdflatex]{graphicx,xcolor}
\graphicspath{{grafika/}}
\usepackage[explicit]{titlesec}
\usepackage{titletoc}
\usepackage{lipsum}
\usepackage{shorttoc}
\usepackage{multicol}
\usepackage{calc}
\DeclareRobustCommand{\redstar}{$\textcolor[rgb]{.87,0,0}{\bigstar}$}
\DeclareRobustCommand{\lquercus}{\pgfornament[height=0.7cm,color=green!45!black,ydelta=-6pt]{79}}
\DeclareRobustCommand{\rquercus}{\pgfornament[height=0.7cm,symmetry=v,color=green!45!black,ydelta=-6pt]{79}}
\makeatletter
\def\@makechapterhead#1{%
\vspace*{0\p@}
\setlength{\fboxsep}{1.0mm}
\setlength{\fboxrule}{0.7mm}\noindent\fbox{%
\setlength{\fboxsep}{2.0mm}%
\setlength{\fboxrule}{0.5mm}%
\framebox[\textwidth-13.0pt][c]{\hspace*
{0.25\parindent}\Large\bfseries\MakeUppercase
{\lquercus\redstar\rquercus~~\@chapapp
\thechapter\hfill#1~~\lquercus\redstar\rquercus}\hspace*
{0.25\parindent}}}
\par\nobreak
\vskip 10\p@}
\makeatother
\usepackage[paper=a4paper, verbose, centering]{geometry}
\geometry{left=10mm}
\geometry{right=10mm}
\geometry{top=15mm}
\geometry{bottom=15mm}
\pagestyle{plain}
\usepackage{enumitem}
\setlist{nolistsep}
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\titlespacing*{\chapter}{0pt}{-30pt}{0pt}
\AtBeginDocument{\renewcommand\contentsname{\Large\bfseries Подробное содержание}}
\contentsmargin{0cm}
\titlecontents{chapter}[1.25cm]
{\addvspace{8pt}\normalsize\sffamily\bfseries}
{\contentslabel[\normalsize\thecontentslabel]{1.5cm}}
{}
{\ \titlerule*[.5pc]{.}\;\thecontentspage}
\titlecontents{section}[1.25cm]
{\addvspace{3pt}\small\sffamily\bfseries}
{\contentslabel[\thecontentslabel]{1.5cm}}
{}
{\ \titlerule*[.5pc]{.}\;\thecontentspage}
[]
\titlecontents{subsection}[1.25cm]
{\addvspace{1pt}\small\sffamily\small}
{\contentslabel[\thecontentslabel]{1.5cm}}
{}
{\ \titlerule*[.5pc]{.}\;\thecontentspage}
[]
\titlecontents{subsubsection}[1.25cm]
{\addvspace{1pt}\small\sffamily\small}
{\contentslabel[\thecontentslabel]{1.5cm}}
{}
{\ \titlerule*[.5pc]{.}\;\thecontentspage}
[]
\makeatletter
\renewcommand\tableofcontents{%
\null\hfill\textbf{\Large\contentsname}\hfill\null\par
\@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}
\@starttoc{toc}%
}
\makeatother
\makeatletter
\renewcommand\tableofcontents{
\setlength\columnsep{10mm}
\begin{multicols}{2}[
\chapter*{\centering\Large\contentsname
\@mkboth{
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}]
\@starttoc{toc}
\end{multicols}}
\makeatother
\usepackage[normalem]{ulem}
\ULdepth = 0.16em
\usepackage{pdf14}
\usepackage[unicode,bookmarksopen=true]{hyperref}
\doublehyphendemerits=1000000
\finalhyphendemerits=10000
\clubpenalty=10000
\widowpenalty=10000
\begin{document}
\begin{titlepage}
...
\end{titlepage}
\clearpage
\renewcommand{\chaptername}{\textsection~}
\shorttoc{\centerline{\large{\bfseries{Краткое содержание}}}}{0}
\chapter{С чего начать\ldots} % this \chapter should be \chapter*
\lettrine[findent=3pt, nindent =0pt]{B}{э}том документе (my text)
\chapter{Первые блюда}
\noindent % minitoc two columns
\makebox[1.01\textwidth]{
{\begin{minipage}{\dimexpr\textwidth-7\mboxsep-3\mboxrule\relax}
\centering
\setlength\columnsep{10mm}
\begin{multicols}{2}
\startcontents[chapters]
\printcontents[chapters]{}{1}{}
\end{multicols}\\
\phantom{123}\\
\end{minipage}}
}
\lettrine[findent=3pt, nindent =0pt]{P}{а}ньше я (my text)
\phantom{\lipsum[1]}
\vspace{-7mm}
\section{1}
\subsection{1.1}
(my text)
\chapter{2}
\noindent % minitoc one column
\makebox[1.01\textwidth]{
{\begin{minipage}{\dimexpr\textwidth-7\mboxsep-3\mboxrule\relax}
\centering
\startcontents[chapters]
\printcontents[chapters]{}{1}{}
\\
\phantom{123}\\
\end{minipage}}
}
\lettrine[findent=3pt, nindent =0pt]{O}{б} этой (my text)
\phantom{\lipsum[5]}
\vspace{-7mm}
\section1 \subsection1 \subsubsection1 (my text)
...
\chapter{10}
\clearpage
\tableofcontents
\end{document}
结果: 如何对 \chapter*、\shorttoc 和 \tableofcontents 做出相同的设计?
PS 我修复了他的帖子,指出了文档的序言和结构。
文档是编译通过了,但是如何让页眉外观 \chapter*、\shorttoc 和 \tableofcontents 类似于标题 \chapter 的设计?..
不幸的是,我只是一个用户,而不是一个开发者。
Texmaker 5.0.2、TeXLive 2017(2016 年更新)、Slackware 14.2。
答案1
问题解决了。我是这样设计章节的(我已经清理了序言,所以我会给出完整的代码):
\documentclass[a4paper,12pt,small,openany,twoside]{memoir}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{misccorr}
\usepackage{cmap}
\frenchspacing
\usepackage{indentfirst}
\usepackage{microtype}
\usepackage{amssymb,amsfonts,amsmath}
\usepackage{cite,float,textcomp,setspace}
\usepackage{txfonts}
\usepackage{paratype}
\usepackage{ArtNouv}
\usepackage{lettrine}
\renewcommand{\LettrineFontHook}{\ArtNouvfamily{}}
\setcounter{DefaultLines}{3}
\usepackage{tikz}
\usepackage{pgfornament}
\usetikzlibrary{chains}
\usepackage[pdflatex]{graphicx,xcolor}
\graphicspath{{grafika/}}
\usepackage[explicit]{titlesec}
\usepackage{titletoc}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{calc}
\DeclareRobustCommand{\redstar}{$\textcolor[rgb]{.87,0,0}{\bigstar}$}
\DeclareRobustCommand{\lquercus}{\pgfornament[height=0.7cm,color=green!45!black,ydelta=-6pt]{79}}
\DeclareRobustCommand{\rquercus}{\pgfornament[height=0.7cm,symmetry=v,color=green!45!black,ydelta=-6pt]{79}}
\renewcommand{\ornament}{\lquercus\redstar\rquercus}
\makeatletter
\def\@makechapterhead#1{
\vspace*{0\p@}
{\parindent \z@ \position \reset@font
\setlength{\fboxsep}{1.0mm}
\setlength{\fboxrule}{0.5mm}
\fcolorbox{black}{gray!10}{%
\setlength{\fboxsep}{1.0mm}%
\setlength{\fboxrule}{0mm}%
\framebox[\textwidth-10pt][c]{
{\Large\bfseries\ornament\ \ \
\chaptername\,\!\thechapter\hfill#1\ \ \ \ornament\par\nobreak}
}}
\par\nobreak
\vskip 13\p@
}}
\def\@makeschapterhead#1{
\vspace*{0\p@}
{\parindent \z@ \position \reset@font
\setlength{\fboxsep}{1.0mm}
\setlength{\fboxrule}{0.5mm}
\fcolorbox{black}{gray!10}{%
\setlength{\fboxsep}{1.0mm}%
\setlength{\fboxrule}{0mm}%
\framebox[\textwidth-10pt][c]{
{\Large\bfseries\ornament\hfill#1\hfill\ornament\par\nobreak}
}}
\par\nobreak
\vskip 25\p@
}}
\makeatother
\usepackage{geometry}
\geometry{left=10mm}
\geometry{right=10mm}
\geometry{top=10mm}
\geometry{bottom=15mm}
\pagestyle{plain}
\usepackage{enumitem}
\renewcommand{\theenumi}{\arabic{enumi}}
\renewcommand{\labelenumi}{\arabic{enumi}}
\renewcommand{\theenumii}{.\arabic{enumii}}
\renewcommand{\labelenumii}{\arabic{enumi}.\arabic{enumii}.}
\renewcommand{\theenumiii}{.\arabic{enumiii}}
\renewcommand{\labelenumiii}{\arabic{enumi}.\arabic{enumii}.\arabic{enumiii}.}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\AtBeginDocument{\renewcommand\contentsname{\Large\bfseries С\,О\,Д\,Е\,Р\,Ж\,А\,Н\,И\,Е}}
\contentsmargin{0cm}
\titlecontents{chapter}[1.25cm]
{\addvspace{8pt}\normalsize\sffamily\bfseries}
{\contentslabel[\normalsize\thecontentslabel]{1.5cm}}
{}
{\ \titlerule*[.5pc]{.}\;\thecontentspage}
\titlecontents{section}[1.25cm]
{\addvspace{3pt}\small\sffamily\amall}
{\contentslabel[\thecontentslabel]{1.5cm}}
{}
{\ \titlerule*[.5pc]{.}\;\thecontentspage}
[]
\titlecontents{subsection}[1.25cm]
{\addvspace{1pt}\small\sffamily\small}
{\contentslabel[\thecontentslabel]{1.5cm}}
{}
{\ \titlerule*[.5pc]{.}\;\thecontentspage}
[]
\titlecontents{subsubsection}[1.25cm]
{\addvspace{1pt}\small\sffamily\small}
{\contentslabel[\thecontentslabel]{1.5cm}}
{}
{\ \titlerule*[.5pc]{.}\;\thecontentspage}
[]
\makeatletter
\renewcommand\tableofcontents{%
\setlength\columnsep{10mm}
\begin{multicols}{2}[
\chapter*{\contentsname
\@mkboth{%
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}]
\@starttoc{toc}%
\end{multicols}}
\makeatother
\usepackage[normalem]{ulem}
\ULdepth = 0.16em
\usepackage{pdf14}
\usepackage[unicode,bookmarksopen=true]{hyperref}
\doublehyphendemerits=1000000
\finalhyphendemerits=10000
\clubpenalty=10000
\widowpenalty=10000
获取双框架的变体宏:
\makeatletter
\def\@makechapterhead#1{
\vspace*{0\p@}
{\parindent \z@ \position \reset@font
\setlength{\fboxsep}{1.5mm}
\setlength{\fboxrule}{0.5mm}
\fcolorbox{black}{gray!10}{%
\setlength{\fboxsep}{1.0mm}%
\setlength{\fboxrule}{0.3mm}%
\framebox[\textwidth-11pt][c]{
{\Large\bfseries\ \ornament\ \ \chaptername\,\!\thechapter\hfill#1\ \ \ornament\ \par\nobreak}
}}
\par\nobreak
\vskip 13\p@
}}
\def\@makeschapterhead#1{
\vspace*{0\p@}
{\parindent \z@ \position \reset@font
\setlength{\fboxsep}{1.5mm}
\setlength{\fboxrule}{0.5mm}
\fcolorbox{black}{gray!10}{%
\setlength{\fboxsep}{1.0mm}%
\setlength{\fboxrule}{0.3mm}%
\framebox[\textwidth-11pt][c]{
{\Large\bfseries\ \ornament\hfill#1\hfill\ornament\ \par\nobreak}
}}
\par\nobreak
\vskip 25\p@
}}
\makeatother
但是 shorttoc 包与装饰设计不搭边 --- 元素移到了一边。要使用 shorttoc,您必须删除它们:
\makeatletter
\def\@makechapterhead#1{
\vspace*{0\p@}
{\parindent \z@ \position \reset@font
\setlength{\fboxsep}{1.0mm}
\setlength{\fboxrule}{0.5mm}
\fcolorbox{black}{gray!10}{%
\setlength{\fboxsep}{1.0mm}%
\setlength{\fboxrule}{0mm}%
\framebox[\textwidth-10pt][c]{
{\Large\bfseries\chaptername\,\!\thechapter\hfill#1\par\nobreak}
}}
\par\nobreak
\vskip 13\p@
}}
\def\@makeschapterhead#1{
\vspace*{0\p@}
{\parindent \z@ \position \reset@font
\setlength{\fboxsep}{2.0mm}
\setlength{\fboxrule}{0.5mm}
\fcolorbox{black}{gray!10}{%
\setlength{\fboxsep}{1.0mm}%
\setlength{\fboxrule}{0mm}%
\framebox[\textwidth-10pt][c]{
{\Large\bfseries\hfill#1\hfill\par\nobreak}
}}
\par\nobreak
\vskip 25\p@
}}
\makeatother
有一个选择:或装饰元素,或 \shorttoc。
PS 我的问题中的一个宏也是用这个更正后的序言编译的:
\makeatletter
\def\@makechapterhead#1{%
\vspace*{0\p@}
\setlength{\fboxsep}{1.0mm}
\setlength{\fboxrule}{0.7mm}\noindent\fbox{%
\setlength{\fboxsep}{2.0mm}%
\setlength{\fboxrule}{0.5mm}%
\framebox[\textwidth-11pt][c]{\hspace*{0.25\parindent}\Large\bfseries\MakeUppercase
{\ornament\ \ \@chapapp \thechapter\hfill#1\ \ \ornament}\hspace*{0.25\parindent}}}
\par\nobreak
\vskip 10\p@}
\makeatother
\makeatletter
\def\@makeschapterhead#1{%
\vspace*{0\p@}
\setlength{\fboxsep}{1.0mm}
\setlength{\fboxrule}{0.7mm}\noindent\fbox{%
\setlength{\fboxsep}{2.0mm}%
\setlength{\fboxrule}{0.5mm}%
\framebox[\textwidth-11pt][c]{\hspace*{0.25\parindent}\Large\bfseries\MakeUppercase
{\ornament\hfill#1\hfill\ornament}\hspace*{0.25\parindent}}}
\par\nobreak
\vskip 10\p@}
\makeatother
PPS 设法用装饰设计 \shorttoc 解决了这个问题。为此,我在序言包 etoolbox 中添加了以下内容:
\usepackage{shorttoc}
\usepackage{etoolbox}
并且其中应该有简短的目录:
\begin{document}
\titlepage
\makeatletter
{\patchcmd{\l@chapter}{\vskip 0em \@plus\p@}{}{}
{\errmessage{paching \string\l@chapter fail}}
\patchcmd{\l@chapter}{\addvspace{0em \@plus\p@}}{}{}
{\errmessage{paching \string\l@chapter fail}}
\shorttoc{Краткое содержание}{0}}
\makeatother
问题已经解决。
答案2
以下是该文档的代码:
\documentclass[a4paper,12pt,small, openany,twoside]{memoir}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{misccorr}
\usepackage{cmap}
\frenchspacing
\usepackage{indentfirst}
\usepackage{microtype}
\usepackage{amssymb,amsfonts,amsmath}
\usepackage{cite,float,textcomp,setspace}
\usepackage{txfonts}
\usepackage{paratype}
\usepackage{ArtNouv}
\usepackage{lettrine}
\renewcommand{\LettrineFontHook}{\ArtNouvfamily{}}
\setcounter{DefaultLines}{3}
\usepackage{tikz}
\usepackage{pgfornament}
\usetikzlibrary{chains}
\usepackage[pdflatex]{graphicx,xcolor}
\graphicspath{{grafika/}}
\usepackage[explicit]{titlesec}
\usepackage{titletoc}
\usepackage{lipsum}
\usepackage{shorttoc}
\usepackage{multicol}
\usepackage{calc}
\DeclareRobustCommand{\redstar}{$\textcolor[rgb]{.87,0,0}{\bigstar}$}
\DeclareRobustCommand{\lquercus}{\pgfornament[height=0.7cm,color=green!45!black,ydelta=-6pt]{79}}
\DeclareRobustCommand{\rquercus}{\pgfornament[height=0.7cm,symmetry=v,color=green!45!black,ydelta=-6pt]{79}}
\makeatletter
\def\@makechapterhead#1{%
\vspace*{0\p@}
\setlength{\fboxsep}{1.0mm}
\setlength{\fboxrule}{0.7mm}\noindent\fbox{%
\setlength{\fboxsep}{2.0mm}%
\setlength{\fboxrule}{0.5mm}%
\framebox[\textwidth-13.0pt][c]{\hspace*
{0.25\parindent}\Large\bfseries\MakeUppercase
{\lquercus\redstar\rquercus~~\@chapapp \thechapter\hfill#1~~\lquercus\redstar\rquercus}\hspace*{0.25\parindent}}}
\par\nobreak
\vskip 10\p@}
\makeatother
\usepackage[paper=a4paper, verbose, centering]{geometry}
\geometry{left=10mm}
\geometry{right=10mm}
\geometry{top=15mm}
\geometry{bottom=15mm}
\pagestyle{plain}
\usepackage{enumitem}
\setlist{nolistsep}
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\titlespacing*{\chapter}{0pt}{-30pt}{0pt} % for shorttoc
\AtBeginDocument{\renewcommand\contentsname{\large\bf Подробное содержание}}
\contentsmargin{0cm}
\titlecontents{chapter}[1.25cm]
{\addvspace{8pt}\normalsize\sffamily\bfseries}
{\contentslabel[\normalsize\thecontentslabel]{1.5cm}}
{}
{\ \titlerule*[.5pc]{.}\;\thecontentspage}
\titlecontents{section}[1.25cm]
{\addvspace{3pt}\small\sffamily\bfseries}
{\contentslabel[\thecontentslabel]{1.5cm}}
{}
{\ \titlerule*[.5pc]{.}\;\thecontentspage}
[]
\titlecontents{subsection}[1.25cm]
{\addvspace{1pt}\small\sffamily\small}
{\contentslabel[\thecontentslabel]{1.5cm}}
{}
{\ \titlerule*[.5pc]{.}\;\thecontentspage}
[]
\titlecontents{subsubsection}[1.25cm]
{\addvspace{1pt}\small\sffamily\small}
{\contentslabel[\thecontentslabel]{1.5cm}}
{}
{\ \titlerule*[.5pc]{.}\;\thecontentspage}
[]
\makeatletter
\renewcommand\tableofcontents{%
\null\hfill\textbf{\large\contentsname}\hfill\null\par
\@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}
\@starttoc{toc}%
}
\makeatother
\makeatletter
\renewcommand\tableofcontents{
\setlength\columnsep{10mm}
\begin{multicols}{2}[
\section*{\centering\large\contentsname
\@mkboth{
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}]
\@starttoc{toc}
\end{multicols}}
\makeatother
\usepackage[normalem]{ulem}
\ULdepth = 0.16em
\usepackage{pdf14}
\usepackage[unicode,bookmarksopen=true]{hyperref}
\doublehyphendemerits=1000000
\finalhyphendemerits=10000
\clubpenalty=10000
\widowpenalty=10000
\begin{document}
\begin{titlepage}
\end{titlepage}
\clearpage
\renewcommand{\chaptername}{\textsection~}
\shorttoc{\centerline{\large{\bfseries{Краткое содержание}}}}{0}
\chapter{С чего начать\ldots} % this \chapter should be \chapter*
\lettrine[findent=3pt, nindent =0pt]{B}{э}том документе (my text)
\chapter{Первые блюда}
\noindent % minitoc two columns
\makebox[1.01\textwidth]{
{\begin{minipage}{\dimexpr\textwidth-7\mboxsep-3\mboxrule\relax}
\centering
\setlength\columnsep{10mm}
\begin{multicols}{2}
\startcontents[chapters]
\printcontents[chapters]{}{1}{}
\end{multicols}\\
\phantom{123}\\
\end{minipage}}
}
\lettrine[findent=3pt, nindent =0pt]{P}{а}ньше я (my text)
\phantom{\lipsum[1]}
\vspace{-7mm}
\section{1}
\subsection{1.1}
(my text)
\chapter{2}
\noindent % minitoc one column
\makebox[1.01\textwidth]{
{\begin{minipage}{\dimexpr\textwidth-7\mboxsep-3\mboxrule\relax}
\centering
\startcontents[chapters]
\printcontents[chapters]{}{1}{}
\\
\phantom{123}\\
\end{minipage}}
}
\lettrine[findent=3pt, nindent =0pt]{O}{б} этой (my text)
\phantom{\lipsum[5]}
\vspace{-7mm}
\section1 \subsection1 \subsubsection1 (my text)
...
\chapter{10}
\clearpage
\tableofcontents
\end{document}
文档可以编译,但是如何设计 \chapter、\tableofcontents 和 \shorttoc 以及 \chapter 中的 chapterhead?不幸的是,我只是一个用户,而不是一个开发者。
Texmaker 5.02、TeXLive2017(更新)Slackware 14.2。
答案3
章节标题装饰的另一种选择:
\makeatletter
\def\@makechapterhead#1{
\vspace*{17\p@}
{\parindent \z@ \position \reset@font
\mbox \textwidth{
\centering {
{\Large\bfseries\ \ \ \ornament\ \
\chaptername\,\!\thechapter\hfill#1\ \ \ornament\ \ \ \ \ \ \par\nobreak}
} }
\vspace{-47\p@}
{\centering
\includegraphics[width=190mm,height=25mm]{glawram7} }
\par\nobreak
\vskip 17\p@
}}
\def\@makeschapterhead#1{
\vspace*{17\p@}
{\parindent \z@ \position \reset@font
\mbox \textwidth{
\centering {
{\Large\bfseries\ \ \ \ornament\hfill#1\hfill\ornament\ \ \ \ \ \ \par\nobreak}
} }
\vspace{-47\p@}
{\centering \includegraphics[width=190mm,height=25mm]{glawram7} }
\par\nobreak
\vskip 17\p@
}}
\makeatother
还将星号替换为凯尔特结:
\DeclareRobustCommand{\redstar}{\includegraphics[width=5.5mm]{uzel38}}
\DeclareRobustCommand{\lquercus}{\pgfornament[height=0.7cm,color=green!45!black,ydelta=-8pt]{79}}
\DeclareRobustCommand{\rquercus}{\pgfornament[height=0.7cm,symmetry=v,color=green!45!black,ydelta=-8pt]{79}}
\renewcommand{\ornament}{\lquercus\redstar\rquercus}
装饰框架和凯尔特结是在 Knotter 程序中创建的。 https://knotter.mattbas.org/Knotter
抱歉,我多回答了这个问题:它可能对某些人有用。