Tout ce qui concerne le langage TeX/LaTeX et ses variantes.
Ce langage est utilisable sur le forum via les balises tex .
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de
soigner la rédaction de vos messages et de consulter
ce sujet avant de poster. Pensez également à utiliser la fonction
recherche du forum.
BenLar
Utilisateur confirmé
Messages : 69 Inscription : mercredi 29 avril 2020, 14:56
Statut actuel : Enseignant
Message non lu
par BenLar » mardi 02 juillet 2024, 16:02
Bonjour,
J'essaye de mettre le titre de chapitre et le titre de section sur une même ligne, le tout dans une joli boite. Il me reste 2 problèmes à résoudre :
- qu'ils soient sur la même ligne
- retrouver la numérotation
Voilà ou j'en suis (et je stagne).
Code : Tout sélectionner
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
\usepackage[a4paper,margin=2cm]{geometry} %réglage des marges
\usepackage{lipsum}
\usepackage{titlesec}
\usepackage{tcolorbox}
\usepackage{fancyhdr}
\titleformat{\chapter}[hang]{\raggedright\bf\large}{}{0pt}{}
\titlespacing{\chapter}{0pt}{0pt}{0pt}
\titleformat{\section}[hang]{\raggedleft\bf\large}{}{0pt}{}
\titlespacing{\section}{0pt}{0pt}{0pt}
\newtcolorbox{mybox2}{colback=yellow!5!white,colframe=yellow!75!black}
\newcommand{\titre}[2]{
\begin{mybox2}
#1 #2
\end{mybox2}
}
\pagestyle{empty}
\begin{document}
\titre{\chapter{Les nombres entiers}}{\section{Introduction}}
\lipsum
\newpage
\titre{\chapter{Les nombres entiers}}{\section{Lecture et écriture}}
\lipsum
\newpage
\titre{\chapter{Arithmétique}}{\section{Généralités - 6e}}
\lipsum
\newpage
\titre{\chapter{Arithmétique}}{\section{Nombres premiers - 5e}}
\lipsum
\end{document}
Pourriez-vous m'aider ?
Merci d'avance,
Benoit
BenLar
Utilisateur confirmé
Messages : 69 Inscription : mercredi 29 avril 2020, 14:56
Statut actuel : Enseignant
Message non lu
par BenLar » mardi 02 juillet 2024, 17:40
Je progresse légèrement. Je ne suis pas convaincu que ce soit super élégant. Peut-être peut-on faire mieux mais ça ressemble à ce que je voudrais. Il reste juste 1 ou 2 lignes vides sur le résultat final provenant du \cache avant les cadres. Malheureusement, je ne comprends pas ce que fait le
Code : Tout sélectionner
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
\usepackage[a4paper,margin=2cm]{geometry} %réglage des marges
\usepackage{lipsum}
\usepackage{titlesec}
\usepackage{tcolorbox}
\usepackage{nameref}
\def\cache{\def\?##1{}}
\titleformat{\chapter}[hang]{}{}{0pt}{}
\titlespacing{\chapter}{0pt}{0pt}{0pt}
\titleformat{\section}[hang]{}{}{0pt}{}
\titlespacing{\section}{0pt}{0pt}{0pt}
\newtcolorbox{mybox2}{colback=yellow!5!white,colframe=yellow!75!black}
\newcommand{\titre}[2]{
\begin{mybox2}
\bf\large#1 \hfill \bf\large#2
\end{mybox2}
}
\begin{document}
\cache\chapter[Les nombres entiers]{\?{Les nombres entiers}}\label{C1}
\cache\section[Introduction]{\?{Introduction}}\label{C1S1}
\titre{\thechapter . \nameref{C1}}{\thesection . \nameref{C1S1}}
\lipsum
\newpage
\cache\section[Lecture et écriture]{\?{Lecture et écriture}}\label{C1S2}
\titre{\thechapter . \nameref{C1}}{\thesection . \nameref{C1S2}}
\lipsum
\newpage
\cache\chapter[Arithmétique]{\?{Arithmétique}}\label{C2}
\cache\section[Généralités - 6e]{\?{Généralités - 6e}}\label{C2S1}
\titre{\thechapter . \nameref{C2}}{\thesection . \nameref{C2S1}}
\lipsum
\newpage
\cache\section[Nombres premiers - 5e]{\?{Nombres premiers - 5e}}\label{C2S2}
\titre{\thechapter . \nameref{C2}}{\thesection . \nameref{C2S2}}
\lipsum
\end{document}
projetmbc
Utilisateur chevronné
Messages : 2292 Inscription : samedi 29 décembre 2007, 00:58
Message non lu
par projetmbc » mardi 02 juillet 2024, 19:18
Bonjour.
Il faudrait à mon humble avis tenter de passer via des macros qui gèrent la valeur cache pour la gestion des titres.
BenLar
Utilisateur confirmé
Messages : 69 Inscription : mercredi 29 avril 2020, 14:56
Statut actuel : Enseignant
Message non lu
par BenLar » mercredi 03 juillet 2024, 11:47
Merci de ton retour mais j'avoue ne pas comprendre ce que tu proposes. Cela dépasse (de loin) mes connaissances.
touhami
Utilisateur éprouvé
Messages : 492 Inscription : dimanche 11 février 2007, 11:45
Message non lu
par touhami » jeudi 04 juillet 2024, 21:11
Pour ne pas changer votre code il suffit de modifier
Code : Tout sélectionner
\titleformat{\chapter}[hang]{}{}{0pt}{}[\vspace*{-2.64\baselineskip}]
\titlespacing{\chapter}{0pt}{0pt}{0pt}
\titleformat{\section}[leftmargin]{}{}{0pt}{}
\titlespacing{\section}{0pt}{0pt}{0pt}
Une autre solution, que je recommande car respect la séparation fond/forme
Code : Tout sélectionner
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[a4paper,margin=2cm]{geometry} %réglage des marges
\usepackage{lipsum}
\usepackage{titlesec}
\usepackage{tcolorbox}
\newcommand{\cachechap}[1]{\gdef\lechapitre{\thechapter.\ #1}}
\newcommand{\cachesec}[1]{\gdef\lasection{\thesection.\ #1}}
\titleformat{\chapter}{}{}{0pt}{\cachechap}[\vspace*{-.75\baselineskip}]
\titlespacing{\chapter}{0pt}{0pt}{0pt}
\titleformat{\section}{\ifnum\value{section}>1\newpage\fi\vspace*{-2.5\baselineskip}}{}{0pt}{\cachesec}[\titre]
\titlespacing{\section}{0pt}{0pt}{0pt}
\newtcolorbox{mybox2}{height=1cm,valign=center,colback=yellow!5!white,colframe=yellow!75!black}
\newcommand{\titre}{%
\begin{mybox2}
\bfseries\large\lechapitre\hfill\lasection
\end{mybox2}
}
\begin{document}
\chapter{Les nombres entiers}
\section{Introduction}
\lipsum[1]
\section{Lecture et écriture}
\lipsum
\chapter{Arithmétique}
\section{Généralités - 6e}
\lipsum
\section{Nombres premiers - 5e}
\lipsum
\end{document}
Par passage je vous propose de fixer la hauteur de la boite
Code : Tout sélectionner
\newtcolorbox{mybox2}{height=1cm,valign=center,colback=yellow!5!white,colframe=yellow!75!black}
BenLar
Utilisateur confirmé
Messages : 69 Inscription : mercredi 29 avril 2020, 14:56
Statut actuel : Enseignant
Message non lu
par BenLar » dimanche 07 juillet 2024, 16:34
Ça correspond à ce que je souhaite.
Merci beaucoup, je vais pouvoir avancer.
Il faudra juste que je prenne le temps de comprendre ce qu'apporte ces modifications.