最终版本

最终版本

我试图在报告的部分标题页上包含一个图像,以使其看起来像这样,但在目录中正确显示:

\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

有人问过类似的问题这里,但对我来说\printparttitle会产生错误。

有人知道怎么做吗?

在另一个论坛上提出了另一个类似的问题:这里

\part我尝试修改文件中的定义,report.cls以使零件的标题看起来有所不同,但没有成功。(我需要图片的空间)。

它是什么样子的:
第一部分
Lorem Ipsum

我希望它看起来像什么
第一部分:Lorem Ipsum 这是通过以下代码获得的:

{\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}

有人有想法吗?

答案1

将图像排版添加到命令中\@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

完整示例(该demo选项仅供示例)

\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}

在此处输入图片描述

还可能对 进行重新定义\@part,并对其进行一些细微的修改\@endpart,以避免标题中出现换行符。

\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}

在此处输入图片描述

如果要上移部分标题,则必须更改\vfil定义中的\part;例如,添加

\renewcommand\part{%
  \if@openright
    \cleardoublepage
  \else
    \clearpage
  \fi
  \thispagestyle{plain}%
  \if@twocolumn
    \onecolumn
    \@tempswatrue
  \else
    \@tempswafalse
  \fi
  \null\vspace{\stretch{1}}
  \secdef\@part\@spart}

\vfil并将的重新定义更改为,\@endpart底部\vspace{\stretch{2}}的空间将是顶部的两倍。


最终版本

左边的图片是的结果\imagepart,右边的是你的愿望。

\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}

在此处输入图片描述

2022 年新增

如何在图片下方添加一些描述文字?这是一种可能性。

\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}

在 调用 周围应用所需的格式\@thecptionpart

在此处输入图片描述

答案2

如果您使用 KOMA 类,您可以通过 来执行此操作\setpartpreamble。该命令有两个可选参数来指定位置和宽度。

\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}

在此处输入图片描述

相关内容