我試圖在報告的部分標題頁上包含一個圖像,使其看起來像這樣,但在目錄中正確顯示:
\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}