Condition `\if\@mainmatter` inactive ?
Dans l'exemple qui suit, la condition `\if\@mainmatter` est inactive et je ne comprends pas pourquoi ? Faut-il nécessairement activer `\pagestyle{fancy}` la main ?
\documentclass{book}
\usepackage{fancyhdr}
\usepackage{blindtext}
\makeatletter
\if@mainmatter
\pagestyle{fancy}
\renewcommand{\footrulewidth}{2pt}
\renewcommand{\headrulewidth}{5pt}
\fi
\makeatother
\begin{document}
\pagestyle{empty}
\frontmatter
\blinddocument
\mainmatter
%\pagestyle{fancy}
\blinddocument
\end{document}\end{document}
**Edit** Bon, pour résumer, ce que je cherchais est:
\documentclass{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
\makeatletter
\renewcommand{\headrulewidth}{\if@mainmatter 2pt \else 0pt \fi}
\makeatother
le reste étant identique. Je pose donc une question que je crois être claire: quelle est la fondamentale différence entre le petit morceau de code ci-dessus et celui-ci:
\documentclass{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
\makeatletter
\if@mainmatter
\renewcommand{\headrulewidth}{2pt}
\else
\renewcommand{\headrulewidth}{0pt}
\fi
\makeatother
@touhami y a répondu en partie dans un autre fil.