我正拼命尝试改变 minitoc 中规则的颜色。
我尝试了不同的事情:
尝试 1:使用以下方法更改所有 hrule 颜色
\makeatletter
\let\old@rule\@rule
\def\@rule[#1]#2#3{\textcolor{blue}{\old@rule[#1]{#2}{#3}}}
\makeatother
结果:只更改了 minitoc 的结束规则。可能第一个不是 hrule。
编辑 : 尝试 2:禁用规则并自行绘制
结果:它有效,但规则处理得很糟糕,垂直间距是随机的......我设法做到了这一点:
\documentclass[12pt,a4paper,twoside,openright]{book}
\usepackage{xcolor}
\usepackage{minitoc}
\begin{document}
\pagestyle{empty}
\mtcsettitle{minitoc}{}
\mtcsetrules{minitoc}{off}
\mtcsetfeature{minitoc}{after}{\vspace{-25pt}}
\mtcsetfeature{minitoc}{before}{\vspace{-35pt}}
\dominitoc
%\tableofcontents
\chapter{My Chapter}
{\large \bfseries \textcolor{red}{Sommaire}}
\noindent \textcolor{red}{\rule{\textwidth}{0.4pt}}
\minitoc
\noindent \textcolor{red}{\rule{\textwidth}{0.4pt}}
\section{Section 1}
\subsection{Subsection 1}
\subsection{Subsection 2}
\subsection{Subsection 3}
\section{Section 2}
\subsection{Subsection 2.1}
\end{document}
我想删除“Sommaire”行和第一条规则之间的空格。你知道怎么做吗?
谢谢 !
答案1
由于缺少必要的包和命令,我无法编译您的 MWE。
两条线的设置不同。顶部的线可以使用 来着色\arrayrulecolor{red}
,底部的线可以调整清晰度。
\documentclass{book}
\usepackage{minitoc}
\usepackage{xcolor}
\usepackage{colortbl}
\makeatletter
\def\mtc@bottom@rule{%
\ifx\mtc@rule\relax\relax\else
\vskip -2.5ex
\color{red}\rule[2.4\p@]{\columnwidth}{.4\p@}\vspace*{2.6\p@}\fi}
\makeatother
\begin{document}
\faketableofcontents
\dominitoc
\chapter{Chapter}
\arrayrulecolor{red}
\minitoc
\section{Section}
\end{document}