scrreprt 썸 인덱스와 scrlayer-scrpage: 모든 모양을 챕터썸으로 사용

scrreprt 썸 인덱스와 scrlayer-scrpage: 모든 모양을 챕터썸으로 사용

장엄지 기호로 직사각형이 아닌 다른 모양, 즉 둥근 모서리가 있는 원이나 다이아몬드를 사용하고 싶습니다. scrlayer-scrpage와 양면 scrprt 설정을 사용하면 이것이 가능합니까? Tikz를 사용하여 LaTeX에서 도형을 그릴 수 있다는 것을 알았습니다. 제가 가지고 있는 설정으로 이를 어떻게 구현할 수 있습니까?

MWE:

\documentclass[11pt, twoside, openright, BCOR=1cm, headsepline]{scrreprt}
\usepackage[paperheight=24cm, paperwidth=17cm, inner=2.3cm, outer=1.6cm, top=2.5cm, bottom=1.9cm,footskip=1cm]{geometry}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}


\usepackage{graphicx}
\usepackage{xcolor}

%%%---header/footer
\usepackage[manualmark]{scrlayer-scrpage}

%%--"Chapter #" in lehead (only for numbered chapters), chapter name in rohead
\renewcommand*\chaptermark[1]{%
    \markboth{\ifnumbered{chapter}{\chaptermarkformat}{}}{#1}%
}

\AfterTOCHead[toc]{\markboth{}{\contentsname}}

\ofoot[\pagemark]{\pagemark}

\renewcommand\chapterpagestyle{empty} %% no header or page numbers on chapter title pages


%%%---thumb indices using chapterthumb

% the following bases on an example in the KOMA-Script book:
\newcommand*{\firstchapterthumbskip}{.1\paperheight}
\newcommand*{\lastchapterthumbskip}{\firstchapterthumbskip}
\newcommand*{\chapterthumbheight}{2em}
\newcommand*{\chapterthumbwidth}{.1\paperheight}
\newcommand*{\chapterthumbskip}{.1\paperheight}
\newcommand*{\chapterthumbboxcolor}{gray!30}
\newcommand*{\chapterthumbcolor}{white}
\newcommand*{\chapterthumbformat}{\thechapter}
\newkomafont{chapterthumb}{\normalfont\Large\color{\chapterthumbcolor}}

\makeatletter
\newcommand*\chapterthumb@box{%
    \parbox[c][\chapterthumbheight][c]{\chapterthumbwidth}{%
        \centering\usekomafont{chapterthumb}{\chapterthumbformat}%
    }%
}
\newcommand*{\chapterthumbbox}{%
    \if@mainmatter
    \ifnum\value{chapter}>\z@
    \ifnum \value{chapterthumb}<\z@
    \else
    \begingroup
    \protected@edef\reserved@a{\chapterthumbformat}%
    \ifx\reserved@a\lastchapterthumbformat\else
    \stepcounter{chapterthumb}%
    \global\let\lastchapterthumbformat\reserved@a
    \fi
    \@tempcnta=\numexpr 
    \dimexpr 
    \paperheight
    -\firstchapterthumbskip
    -\chapterthumbwidth
    -\lastchapterthumbskip
    \relax / \dimexpr 
    \chapterthumbskip 
    \relax
    +1
    \relax
    \ifnum \value{chapterthumb}<\@tempcnta
    \else
    \setcounter{chapterthumb}{0}%
    \fi
    \vspace*{%
        \dimexpr 
        \firstchapterthumbskip
        + ( \chapterthumbskip )
        * \value{chapterthumb}%
        - \baselineskip
        \relax
    }\par
    \setlength{\fboxsep}{0pt}%
    \ifodd\value{page}
    \hfill
    \makebox[0pt][r]{%
        \rotatebox[origin=tr]{90}{%
            \colorbox{\chapterthumbboxcolor}{%
                \parbox[t][\chapterthumbheight]{\chapterthumbwidth}{%
                    \chapterthumb@box
                    \vskip3mm
    }}}}%
    \else
    \hspace*{-3mm}%
    \makebox[0pt][l]{%
        \rotatebox[origin=tr]{90}{%
            \colorbox{\chapterthumbboxcolor}{%
                \parbox{\chapterthumbwidth}{%
                    \vskip3mm
                    \chapterthumb@box
    }}}}%
    \fi
    \endgroup
    \fi
    \fi
    \fi
}
\makeatother

\newcounter{chapterthumb}
\setcounter{chapterthumb}{10000}
\newcommand*{\lastchapterthumbformat}{\relax}

\DeclareNewLayer[%
background,%
outermargin,%
contents=\chapterthumbbox
]{chapterthumb}

\newcommand*\EnableChapterthumb{%
    \IfLayerAtPageStyle{scrheadings}{chapterthumb}{}
    {\AddLayersToPageStyle{@everystyle@}{chapterthumb}}%
}
\newcommand*\DisableChapterthumb{%
    \RemoveLayersFromPageStyle{@everystyle@}{chapterthumb}%
}

\EnableChapterthumb

\usepackage{lipsum}


\begin{document}

\chapter{First}

\lipsum[1-6]

\chapter{Second}

\lipsum[7-12]

\end{document}

답변1

그것나타날 것이다가능합니다.

\documentclass[11pt, twoside, openright, BCOR=1cm, headsepline]{scrreprt}
\usepackage[paperheight=24cm, paperwidth=17cm, inner=2.3cm, outer=1.6cm, top=2.5cm, bottom=1.9cm,footskip=1cm]{geometry}
\usepackage{tikz}

%%%---header/footer
\usepackage[manualmark]{scrlayer-scrpage}

%%--"Chapter #" in lehead (only for numbered chapters), chapter name in rohead
\renewcommand*\chaptermark[1]{%
    \markboth{\ifnumbered{chapter}{\chaptermarkformat}{}}{#1}%
}

\AfterTOCHead[toc]{\markboth{}{\contentsname}}

\ofoot[\pagemark]{\pagemark}

\renewcommand\chapterpagestyle{empty} %% no header or page numbers on chapter title pages


%%%---thumb indices using chapterthumb

% the following bases on an example in the KOMA-Script book:
\newcommand*{\firstchapterthumbskip}{.1\paperheight}
\newcommand*{\lastchapterthumbskip}{\firstchapterthumbskip}
\newcommand*{\chapterthumbheight}{3em}
\newcommand*{\chapterthumbwidth}{.1\paperheight}
\newcommand*{\chapterthumbskip}{.1\paperheight}
\colorlet{chapterthumbboxcolor}{gray!30}
\newcommand*{\chapterthumbcolor}{white}
\newcommand*{\chapterthumbformat}{\thechapter}
\newkomafont{chapterthumb}{\normalfont\Large\color{\chapterthumbcolor}}

\makeatletter
\newcommand*\chapterthumb@box{%
  \usekomafont{chapterthumb}%
    \parbox[c][\chapterthumbheight][c]{\chapterthumbwidth}{%
      \centering
      \begin{tikzpicture}
        \node[circle, inner sep=1.3ex, fill=chapterthumbboxcolor]
          {\chapterthumbformat};
      \end{tikzpicture}%
    }%
}
\newcommand*{\chapterthumbbox}{%
    \if@mainmatter
    \ifnum\value{chapter}>\z@
    \ifnum \value{chapterthumb}<\z@
    \else
    \begingroup
    \protected@edef\reserved@a{\chapterthumbformat}%
    \ifx\reserved@a\lastchapterthumbformat\else
    \stepcounter{chapterthumb}%
    \global\let\lastchapterthumbformat\reserved@a
    \fi
    \@tempcnta=\numexpr
    \dimexpr
    \paperheight
    -\firstchapterthumbskip
    -\chapterthumbwidth
    -\lastchapterthumbskip
    \relax / \dimexpr
    \chapterthumbskip
    \relax
    +1
    \relax
    \ifnum \value{chapterthumb}<\@tempcnta
    \else
    \setcounter{chapterthumb}{0}%
    \fi
    \vspace*{%
        \dimexpr
        \firstchapterthumbskip
        + ( \chapterthumbskip )
        * \value{chapterthumb}%
        - \baselineskip
        \relax
    }\par
    \setlength{\fboxsep}{0pt}%
    \ifodd\value{page}
    \hfill
    \makebox[0pt][r]{%
        \rotatebox[origin=c]{90}{\chapterthumb@box}}%
    \else
    \makebox[0pt][l]{%
        \rotatebox[origin=c]{90}{\chapterthumb@box}}%
    \fi
    \endgroup
    \fi
    \fi
    \fi
}
\makeatother

\newcounter{chapterthumb}
\setcounter{chapterthumb}{10000}
\newcommand*{\lastchapterthumbformat}{\relax}

\DeclareNewLayer[%
background,%
outermargin,%
contents=\chapterthumbbox
]{chapterthumb}

\newcommand*\EnableChapterthumb{%
    \IfLayerAtPageStyle{scrheadings}{chapterthumb}{}
    {\AddLayersToPageStyle{@everystyle@}{chapterthumb}}%
}
\newcommand*\DisableChapterthumb{%
    \RemoveLayersFromPageStyle{@everystyle@}{chapterthumb}%
}

\EnableChapterthumb

\usepackage{lipsum}

\begin{document}

\chapter{First}

\lipsum[1-6]

\chapter{Second}

\lipsum[7-12]

\end{document}

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

모서리가 둥근 다이아몬드를 원하면 \usetikzlibrary{backgrounds}뒤에 추가하고 부품을 다음과 같이 \usepackage{tikz}교체하세요 .\begin{tikzpicture} ... \end{tikzpicture}%

\begin{tikzpicture}
  \node[inner sep=2.5ex] (n) {\chapterthumbformat};
  \begin{scope}[on background layer]
    \path[fill=chapterthumbboxcolor, rounded corners=2pt]
      (n.north) -- (n.west) -- (n.south) -- (n.east) -- cycle;
  \end{scope}
\end{tikzpicture}%

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

관련 정보