I'm trying to custom my part style, how could I customize it like below picture?
[Tex/LaTex] customizing part style
parts
Related Solutions
Here's a version using the titlesec
package. I've made the \part
and chapter
styles identical, and roughly imitated the Conny
style. You probably don't want to do exactly this, but it should be enough to get you started.
\documentclass{book}
\usepackage{lipsum}% for dummy text
\usepackage{titlesec}
\titleclass{\part}{top} % make part like a chapter
\titleformat{\part}
[display]
{\centering\normalfont\Huge\bfseries}
{\titlerule[5pt]\vspace{3pt}\titlerule[2pt]\vspace{3pt}\MakeUppercase{\partname} \thepart}
{0pt}
{\titlerule[2pt]\vspace{1pc}\huge\MakeUppercase}
%
\titlespacing*{\part}{0pt}{0pt}{20pt}
%
\titleclass{\chapter}{straight} % make chapter like a section (no newpage)
\titleformat{\chapter}
[display]
{\centering\normalfont\Huge\bfseries}
{\titlerule[5pt]\vspace{3pt}\titlerule[2pt]\vspace{3pt}\MakeUppercase{\chaptertitlename} \thechapter}
{0pt}
{\titlerule[2pt]\vspace{6pt}\huge\MakeUppercase}
\titlespacing*{\chapter}{0pt}{0pt}{40pt}
\begin{document}
\part{A part}
\chapter{A chapter}
\lipsum[1-2]
\end{document}
With the memoir
class, there are often easier solutions than rewriting entire macros. How to modify the format of parts is explained at section 6.4 of the manual.
In the example below, I have simply redefined the macros that set the appearance of parts to mimic the ones used by the thatcher chapter style.
\documentclass{memoir}
\usepackage[frenchb]{babel}
% Pour "première partie"
\usepackage{fmtcount}
\chapterstyle{thatcher}
\renewcommand*{\thepart}{\arabic{part}}
\renewcommand*{\parttitlefont}{\normalfont\large\MakeUppercase}
\renewcommand*{\partnamefont}{\normalfont\scshape\MakeLowercase}
\renewcommand*{\partnumfont}{\normalfont\scshape\MakeLowercase}
% Pour "première partie"
\renewcommand*{\printpartname}{\partnamefont{\ordinalstring{part}[f] partie}}
\renewcommand*{\printpartnum}{}
% Pour "partie 1"
%\renewcommand*{\printpartname}{\partnamefont Partie}
%\renewcommand*{\printpartnum}{\partnumfont\thepart}
\renewcommand{\midpartskip}{\par\parbox{0.5in}{\hrulefill}\par}
\renewcommand{\beforepartskip}{\vspace*{\fill}}
\renewcommand{\afterpartskip}{\vspace*{\fill}}
% Pour la table des matières
\renewcommand*{\cftpartname}{Partie}
\renewcommand*{\cftpartpresnum}{\space}
\renewcommand*{\cftpartaftersnum}{.}
\renewcommand*{\cftpartaftersnumb}{\space}
\begin{document}
\tableofcontents
\part{Une partie}
\part*{Une partie sans numéro}
\part[Une autre partie (nom pour la table des matières)]{Une autre partie}
\chapter{Un chapitre}
\end{document}
The names of the macros are quite self-explanatory, but here are some additional comments about what they do: \thepart
is used to redefine the format of the part
counter; \parttitlefont
, \partnamefont
and \partnumfont
respectively set the font used by for the title, for the "part" word and for the number. In order to insert a line between the "Part N" line and the title line, I modified \midpartskip
. Then, I also redefined \beforepartskip
and \afterpartskip
, which (here) define the white space to add above and below the text.
Since this technique does not rewrite the entire code, you can still use the \part
command normally without any restrictions. The only problem encountered is that with \part*
, the title of the part will not be exactly in the same place (whereas the thatcher
chapter style adds the necessary white space in that case). But there is no easy way to do it because the memoir
class does not have a special macro for starred parts (which I have never encountered anywhere, in any event).
And a picture of the result (I only put in one page):
Edit: I have updated my answer so the part name works properly with French babel
. Two options there: if you want to write "première partie", leave everything as it is; if you want "partie 1" instead, uncomment the lines I have marked for this (2 lines), and comment the ones marked for the other style (that's 3 lines).
Oh, and as an added bonus, the last lines of the code rewrite the "Part" in the table of contents. You can remove it if you prefer to have just the number, but I thought you might want something of that sort too.
Best Answer
Here an approach with
report
class, as mentioned by @JohnKormylo the better is replacing\@part
but i expect the code below enough in your case.The command
\topleft
indicate the distance of vertical lines from left edge of paper you can change it as you like.