Estou tentando incluir uma imagem na página de título da parte do meu relatório, para que fique assim, mas apareça corretamente no ToC:
\clearpage
\newpage
{\pagestyle{empty} \enlargethispage{10\baselineskip}
{\huge\textbf{Part I: Lorem Ipsum}}\\
\noindent\rule{\textwidth}{0.4pt}
\begin{center}
\includegraphics[width=\textwidth]{figures/part_1_title.pdf}
\end{center}
\clearpage}
\newpage
Uma pergunta semelhante foi feitaaqui, mas para mim \printparttitle
produz um erro.
Alguém sabe como fazer isso?
Uma outra pergunta semelhante foi feita em outro fórum:aqui.
Tentei modificar a definição do \part
arquivo report.cls
para realmente fazer com que o título da Parte parecesse diferente, mas não funcionou. (Preciso de espaço para a foto).
O que isso parece:
Parte I
Lorem Ipsum
Como eu quero que seja
Parte I: Lorem Ipsum
que é obtido por este código:
{\pagestyle{empty} \enlargethispage{10\baselineskip}
{\huge\textbf{Part I: Lorem ipsum}}\\
\noindent\rule{\textwidth}{0.4pt}
\begin{center}
\includegraphics[width=\textwidth]{figures/PartI_Loerm.pdf}
\end{center}
Alguém tem uma ideia?
Responder1
Adicione a composição da imagem ao comando \@endpart
:
\makeatletter
\newcommand{\imagepart}[1]{\def\@theimagepart{#1}\part}
\def\@endpart{%
\par\medskip
\hrule
\begin{center}
\includegraphics[width=\textwidth]{\@theimagepart}
\end{center}
\vfil\newpage
\if@twoside
\if@openright
\null
\thispagestyle{empty}%
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi}
\makeatother
Exemplo completo (a demo
opção é apenas para exemplo)
\documentclass{report}
\usepackage[demo]{graphicx}
\makeatletter
\newcommand{\imagepart}[1]{\def\@theimagepart{#1}\part}
\def\@endpart{%
\par\medskip
\hrule
\begin{center}
\includegraphics[width=\textwidth]{\@theimagepart}
\end{center}
\vfil\newpage
\if@twoside
\if@openright
\null
\thispagestyle{empty}%
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi}
\makeatother
\begin{document}
\imagepart{figures/part_1_title.pdf}{Part title}
\end{document}
Uma possível redefinição também de \@part
, com algumas pequenas modificações \@endpart
, para não haver quebras de linha no título.
\documentclass{report}
\usepackage[demo]{graphicx}
\makeatletter
\newcommand{\imagepart}[1]{\def\@theimagepart{#1}\part}
\def\@endpart{%
\par\vskip12pt\hrule\vskip12pt
{\centering
\includegraphics[width=\textwidth]{\@theimagepart}\par}
\vfil\newpage
\if@twoside
\if@openright
\null
\thispagestyle{empty}%
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi}
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
\markboth{}{}%
{\centering
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >-2\relax
\huge\bfseries \partname\nobreakspace\thepart:
\fi
#2\par}
\@endpart}
\makeatother
\begin{document}
\imagepart{figures/part_1_title.pdf}{Part title}
\end{document}
Se você quiser subir o título da parte, terá que alterar o \vfil
na definição de \part
; por exemplo, adicionando
\renewcommand\part{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi
\thispagestyle{plain}%
\if@twocolumn
\onecolumn
\@tempswatrue
\else
\@tempswafalse
\fi
\null\vspace{\stretch{1}}
\secdef\@part\@spart}
e alterando a \vfil
redefinição de \@endpart
para \vspace{\stretch{2}}
você terá o dobro de espaço na parte inferior do que na parte superior.
Versão final
À esquerda da imagem o resultado de \imagepart
, à direita o seu desejo.
\documentclass{report}
\usepackage[demo]{graphicx}
\makeatletter
\newcommand{\imagepart}[1]{\def\@theimagepart{#1}\part}
\def\@endpart{%
\par\vskip12pt\hrule\vskip12pt
{\centering
\includegraphics[width=\textwidth]{\@theimagepart}\par}
\vfil\newpage
\if@twoside
\if@openright
\null
\thispagestyle{empty}%
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi}
\renewcommand\part{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi
\thispagestyle{empty}%
\if@twocolumn
\onecolumn
\@tempswatrue
\else
\@tempswafalse
\fi
\null\vspace{-2\baselineskip}
\secdef\@part\@spart}
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
\markboth{}{}%
{\raggedright
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >-2\relax
\huge\bfseries \partname\nobreakspace\thepart:
\fi
#2\par}
\@endpart}
\makeatother
\begin{document}
\imagepart{figures/part_1_title.pdf}{Part title}
\clearpage
\newpage
{\pagestyle{empty} \enlargethispage{10\baselineskip}
{\huge\textbf{Part I: Lorem Ipsum}}\\
\noindent\rule{\textwidth}{0.4pt}
\begin{center}
\includegraphics[width=\textwidth]{figures/part_1_title.pdf}
\end{center}
\clearpage}
\newpage
\end{document}
Adição 2022
Como adicionar algum texto de descrição abaixo da imagem? Aqui está uma possibilidade.
\documentclass{report}
\usepackage{graphicx}
\makeatletter
\newcommand{\imagepart}[2]{%
\def\@theimagepart{#1}%
\def\@thecaptionpart{#2}%
\part
}
\def\@endpart{%
\par\medskip
\hrule
\begin{center}
\includegraphics[width=\textwidth]{\@theimagepart} \\
\@thecaptionpart
\end{center}
\vfil\newpage
\if@twoside
\if@openright
\null
\thispagestyle{empty}%
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi}
\makeatother
\begin{document}
\imagepart{example-image}{Description}{Part title}
\end{document}
Aplique a formatação desejada na chamada de \@thecptionpart
.
Responder2
Se você usar uma classe KOMA, poderá fazer isso \setpartpreamble
. O comando possui dois argumentos opcionais para especificar a posição e a largura.
\documentclass{scrreprt}
\usepackage{mwe}
\begin{document}
\setpartpreamble{%
\begin{center}
Here some text and a picture
\includegraphics[width=.48\linewidth]{example-image-a}
\end{center}
}
\part{foo}
\end{document}