KOMA 스크립트에서 문서 전체의 제목 대문자 사용을 어떻게 할 수 있나요?

KOMA 스크립트에서 문서 전체의 제목 대문자 사용을 어떻게 할 수 있나요?

KOMA-script-typeset 제목 페이지와 섹션 제목에 제목 케이스를 사용하고 싶습니다.

물론 할 수 있어요

\documentclass[version=last]{scrreprt} % it's 3.32
\usepackage{titlecaps}

\title{\titlecap{The Beginning of the document}}

\begin{document}
    \maketitle
    \tableofcontents
    \section{\titlecap{My title with caps}}
\end{document}          

그러나 나는 관용적인 말을하고 싶습니다.

\setkomafont{disposition}{\rmfamily\MakeTitleCase}

제목 대/소문자 구분을 자동화하려면 어떻게 해야 합니까?

답변1

\chapterlinesformat, \chapterlineswithprefixformat, 및 다음을 \sectionlinesformat패치 할 수 있습니다 .\sectioncatchphraseformat\minisec

\usepackage{titlecaps}
\usepackage{xpatch}

\newcommand*\MakeTitleCase[1]{\titlecap{#1}}

\xpatchcmd\chapterlinesformat{#3}{\MakeTitleCase{#3}}{}{\clfpatchfailed}
\xpatchcmd\chapterlineswithprefixformat{#3}{\MakeTitleCase{#3}}{}{\clwpfpatchfailed}
\xpatchcmd\sectionlinesformat{#4}{\MakeTitleCase{#4}}{}{\slfpatchfailed}
\xpatchcmd\sectioncatchphraseformat{#4}{\MakeTitleCase{#4}}{}{\scpfpatchfailed}
\xpatchcmd\minisec{#1}{\MakeTitleCase{#1}}{}{\mspatchfailed}

제목으로 사용할 수 있습니다.

\newcommand*\originaltitle{}
\let\originaltitle\title
\renewcommand\title[1]{\originaltitle{\MakeTitleCase{#1}}}

와 함께

\newcommand*\originaladdchaptertocentry{}
\let\originaladdchaptertocentry\addchaptertocentry
\renewcommand*\addchaptertocentry[2]{\originaladdchaptertocentry{#1}{\MakeTitleCase{#2}}}

\MakeTitleCaseTOC에서는 장 항목만 사용됩니다 .

TOC의 모든 항목이 다음을 사용해야 하는 경우 \MakeTitleCase:

\newcommand*\originaladdtocentrydefault{}
\let\originaladdtocentrydefault\addtocentrydefault
\renewcommand*\addtocentrydefault[3]{\originaladdtocentrydefault{#1}{#2}{\MakeTitleCase{#3}}}

예:

\documentclass[version=last]{scrreprt} % it's 3.32
\usepackage{titlecaps}
\usepackage{xpatch}

\newcommand*\MakeTitleCase[1]{\titlecap{#1}}

\xpatchcmd\chapterlinesformat{#3}{\MakeTitleCase{#3}}{}{\clfpatchfailed}
\xpatchcmd\chapterlineswithprefixformat{#3}{\MakeTitleCase{#3}}{}{\clwpfpatchfailed}
\xpatchcmd\sectionlinesformat{#4}{\MakeTitleCase{#4}}{}{\slfpatchfailed}
\xpatchcmd\sectioncatchphraseformat{#4}{\MakeTitleCase{#4}}{}{\scpfpatchfailed}
\xpatchcmd\minisec{#1}{\MakeTitleCase{#1}}{}{\mspatchfailed}

\newcommand*\originaltitle{}
\let\originaltitle\title
\renewcommand\title[1]{\originaltitle{\MakeTitleCase{#1}}}


\newcommand*\originaladdtocentrydefault{}
\let\originaladdtocentrydefault\addtocentrydefault
\renewcommand*\addtocentrydefault[3]{\originaladdtocentrydefault{#1}{#2}{\MakeTitleCase{#3}}}

\title{The Beginning of the document}
\author{Author}
\begin{document}
\maketitle
\tableofcontents
\chapter{A chapter with caps}
\section{A section with caps}
\minisec{A minisec with caps}
\paragraph{A paragraph with caps}
Example text ...
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보