Je cherche à créer une classe basée sur la classe « article » où la page de titre uniquement (la première page pour résumer) aurait deux colonnes, de haut en bas (moins l'entête et le pied de page), celle de gauche étant fine et celle de droite, large. Je ne sais pas trop comment commencer. J'hésite entre utiliser l'extension marginpar sur une page où la marge de gauche est élargie avec l'extension geometry ou alors partir sur un environnement twocolumns. Auriez-vous des idées ? Je n'ai pas d'ECM. Les pages suivantes seraient « normales ». Voici l'idée graphique :
Il est à noter que le texte contenu dans la colonne à droite doit continuer automatiquement sur les pages suivantes. Posée 10 Avr '20, 19:50 pluton
Affichage de 5 parmi 14
Afficher 9 commentaire(s) en plus
|
Une solution avec tcolorbox: Avantage ou inconvénient: la hauteur de la tcolorbox s'ajuste au texte. L'option height permet d'ajuster cette hauteur manuellement. La question des footnote peut aussi se poser. Ouvrir dans l'éditeur Overleaf
\documentclass[french,a4paper]{scrartcl} \usepackage[utf8]{inputenc} % accents dans le source \usepackage[T1]{fontenc} % accents dans le pdf \usepackage{tcolorbox} \usepackage{lipsum} \usepackage[french]{babel} % titres et typo en français % % % % % % % % % % % % % % % % % % % % % % % % % \begin{document} \tcbset{sidebyside,boxrule=-0.1mm,lower separated=false, colback=white} % En haut: \lipsum[2]\footnote{Une note} % 2 colonnes: \begin{tcolorbox}[fontupper=\small,lefthand width=0.3\textwidth,sidebyside align=top] \section{une section} \lipsum[1] \ldots du texte\footnote{Une note}. \tcblower % séparation des 2 colonnes \section{Une section} \lipsum[4] \ldots du texte\footnote{Une note}. \section{Une section} \lipsum[4] \end{tcolorbox} % en bas: \ldots Encore du texte\footnote{Une note}. \end{document} Ici j'ai supprimé le cadre, la séparation, les couleurs de fond et aligner les textes des 2 colonne en haut. Publiée 11 Avr '20, 17:36 joseph-tux Merci. Le schéma illustreant la disposition des colonnes ne suppose pas l'existance de boîtes à la manière tcolobox, c'est juste pour montrer la disposition générale.
(11 Avr '20, 18:27)
pluton
|
Je propose une solution très personnalisable avec ce code : Ouvrir dans l'éditeur Overleaf
\documentclass[french]{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage[ a4paper, margin=2cm, %showframe, ]{geometry} \usepackage{lipsum} \usepackage{babel} \newcommand{\frontpage}[4]{ \begin{titlepage} \noindent \fbox{\begin{minipage}[][0.2\textheight][c]{0.987\linewidth} #1 \end{minipage}} \vspace{\stretch{1}} \noindent \fbox{\begin{minipage}[t][0.65\textheight]{0.2\linewidth} #2 \end{minipage}} \hfill \fbox{\begin{minipage}[t][0.65\textheight]{0.75\linewidth} #3 \end{minipage}} \vspace{\stretch{1}} \noindent \fbox{\begin{minipage}[][0.1\textheight][c]{0.987\linewidth} #4 \end{minipage}} \end{titlepage} } \begin{document} \frontpage{Du texte en haut}{Du texte au milieu mais à gauche}{Du texte au milieu mais à droite}{Du texte en bas} \end{document} Et voici le rendu : Tout est modifiable :
Publiée 13 Avr '20, 07:27 Hugues Merci mais le texte "Du texte au milieu mais à droite" doit passer automatiquement à la page 2 quand cette boîte est pleine, ce qui n'est pas le cas dans votre solution: il faut couper "à la main", ce qui n'est pas idéal.
(13 Avr '20, 09:32)
pluton
@pluton : vous avez parlé de page de titre et une page de titre ne dépasse pas une page. C'est pourquoi je n'ai pas prévu cette éventualité.
(13 Avr '20, 10:44)
Hugues
|
@pluton. Je ne vois pas bien comment les éléments se présenteraient. Serait-il possible de faire un croquis, quelque chose comme cela ?
Tout dépend de ce que vous voulez faire, il y a vwcol et paracol.
Sinon, les classes tufte-book ? Elles fonctionnent vraiment bien et donnent des documents d'une lisibilité parfaite.
@Pathe oui j'y ai pensé. Mais il faudrait désactiver le fonctionnement de la classe pour les pages qui suivent la première page...
@touhami mais il faut couper le texte à la main... c'est assez embêtant.
@touhami Ca serait peut-être jouable à coup de \parshape si la colonne fine était à droite non?
Oui, mais ça n' a rien à voir avec la position de texte principale, si j'ai bien compris. Bon, ici il suffit d'utiliser
\hangindent
et\hangafter
.@touhami mais le passage de la page 1 à la page 2 n'est toujours pas automatique...
On peut automatiser les choses avec
\hangafter
sauf qu'il faut compiler deux fois. Je vais essayer de poster une piste basée sur l'extension lineno.Après réflexion et plusieurs essais, je trouve que c'est compliqué. pour couvrir les différents cas, il faut écrire une extension.
@touhami bon, je vais abandonner l'idée alors si c'est trop compliqué. Sinon, une double compilation est acceptable aussi!
Sans double compilation ce n'est pas possible.
Il y a un exemple ici apparemment: https://fr.overleaf.com/latex/templates/proceedings-of-the-royal-society-a-latex-template/zskbvgrsmmcv
mais le passage de la page 1 à la page 2 se fait à la main ;(