Titre de chapitre et de section sur une même ligne

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é
Utilisateur confirmé
Messages : 69
Inscription : mercredi 29 avril 2020, 14:56
Statut actuel : Enseignant

[Résolu] Titre de chapitre et de section sur une même ligne

Message non lu par BenLar »

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é
Utilisateur confirmé
Messages : 69
Inscription : mercredi 29 avril 2020, 14:56
Statut actuel : Enseignant

Re: Titre de chapitre et de section sur une même ligne

Message non lu par BenLar »

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

\def\cache{\def\?##1{}}

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é
Utilisateur chevronné
Messages : 2292
Inscription : samedi 29 décembre 2007, 00:58

Re: Titre de chapitre et de section sur une même ligne

Message non lu par projetmbc »

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é
Utilisateur confirmé
Messages : 69
Inscription : mercredi 29 avril 2020, 14:56
Statut actuel : Enseignant

Re: Titre de chapitre et de section sur une même ligne

Message non lu par BenLar »

Merci de ton retour mais j'avoue ne pas comprendre ce que tu proposes. Cela dépasse (de loin) mes connaissances.
touhami
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 492
Inscription : dimanche 11 février 2007, 11:45

Re: Titre de chapitre et de section sur une même ligne

Message non lu par touhami »

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é
Utilisateur confirmé
Messages : 69
Inscription : mercredi 29 avril 2020, 14:56
Statut actuel : Enseignant

Re: Titre de chapitre et de section sur une même ligne

Message non lu par BenLar »

Ç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.