
半年前、次のコード
\documentclass[ fontsize=12pt,
% monochrome,
a4paper,
parskip=half,
ngerman,
headinclude=true,
footinclude=false,
captions=tableheading,
numbers=noenddot,
headings=big]
%chapterprefix=true] %
{scrreprt}
\usepackage[english,ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{color}
\usepackage{blindtext}
\usepackage{etoolbox}
% Define own Chapter style
% Pretty chapter pages
%------------------------------------------
\definecolor{nicered}{rgb}{.647,.129,.149}
\usepackage{soul}
\usepackage{pdfpages}
\makeatletter
\newsavebox{\feline@chapter}
\newcommand\feline@chapter@marker[1][4cm]{%
\sbox\feline@chapter{%
\resizebox{!}{#1}{\fboxsep=1pt%
\colorbox{nicered}{\color{white}\bfseries\sffamily\thechapter}%
}}%
\rotatebox{90}{%
\resizebox{%
\heightof{\usebox{\feline@chapter}}+\depthof{\usebox{\feline@chapter}}}%
{!}{\scshape\so\@chapapp}}\quad%
\raisebox{\depthof{\usebox{\feline@chapter}}}{\usebox{\feline@chapter}}%
}
\newcommand\feline@chm[1][4cm]{%
\sbox\feline@chapter{\feline@chapter@marker[#1]}%
\makebox[0pt][l]{% aka \rlap
\makebox[1cm][r]{\usebox\feline@chapter}%
}}
\renewcommand*{\chapterformat}{%
\hspace{\leftmargin} \feline@chm[2.5cm] % Height of the colored box
\hspace{2cm}
}
\patchcmd{\@@makechapterhead}
{\size@chapter{#1}}
{\size@chapter{\parbox[b]{\dimexpr\textwidth-4cm\relax}{\raggedright#1}}}
{}
{}
\makeatother
%------------------------------------------
\begin{document}
\chapter{Lorem ipsum dolor sit amet, consectetuer adipiscing elit}
\blindtext[2]
\end{document}
このドキュメントを作成しましたが、もう機能しないようです (PC をフォーマットし、Miktex と Texstudio を再インストールしました)。現在はこの画像のようになっています。
古い出力を元に戻すにはどうすればよいですか?
答え1
おすすめ
を使用する場合\patchcmd
、動作が停止したときのためにマーカーを入れることが非常に重要です。
\patchcmd{\@@makechapterhead}
{\size@chapter{#1}}
{\size@chapter{\parbox[b]{\dimexpr\textwidth-4cm\relax}{\raggedright#1}}}
{\typeout{great}}
{\typeout{too bad}}
出力を調べると、パッチが成功していないことがわかります。(もちろん、通常は上記よりも詳しい情報を使用して、何が間違っているかを把握する必要がありますが、これはデモンストレーション目的のみです。)
したがって、明らかに、パッチを適用しているコマンドが変更されたため、パッチが適用されなくなりました。
説明
このコマンドの現在の定義は次のとおりです。
\newcommand*{\@@makechapterhead}[1]{%
\@tempskipa=\glueexpr \scr@chapter@sectionbeforeskip\relax
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\chapterheadstartvskip
{%
\setlength{\parindent}{\z@}\setlength{\parfillskip}{\fill}%
\normalfont\sectfont\nobreak\nobreak\usekomafont{chapter}{}%
\def\IfUseNumber{\ifnumbered{chapter}}%
\if@chapterprefix
\raggedchapter
\let\IfUsePrefixLine\@firstoftwo
\let\@tempa\@firstofone
\else
\let\IfUsePrefixLine\@secondoftwo
\let\@tempa\@hangfrom
\fi
\@tempa{%
\IfUseNumber{%
\usekomafont{chapter}{%
\IfUsePrefixLine{%
{\usekomafont{chapterprefix}{%
\chapterformat\chapterheadmidvskip
}}%
}{%
\chapterformat
}%
}%
}{}%
}%
{%
\IfUsePrefixLine{}{\raggedchapter}%
\interlinepenalty \@M
\usekomafont{chapter}{#1}\par
}%
}%
\nobreak\par\nobreak
\@tempskipa=\glueexpr \scr@chapter@sectionafterskip\relax
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\chapterheadendvskip
}
そのため、\size@chapter{#1}
もう使用されておらず、etoolbox
パッチを当てるものも見つかりません。
パッチ
おそらく、次のようなものがほしいでしょう:
\patchcmd{\@@makechapterhead}
{\usekomafont{chapter}{#1}}
{\parbox[b]{\dimexpr\textwidth-4cm\relax}{\raggedright\usekomafont{chapter}{#1}}}
{\typeout{great}}
{\typeout{too bad}}
\makeatother