Je mets en page un bouquin de vingt chapitres. Chaque chapitre fait l'objet d'un fichier numéroté Je n'ai aucune expérience en matière de programmation. Néanmoins, je me dis que mon code serait plus élégant (car plus court) si j'appelais les chapitres et les illustrations par leur numéro. Quelque chose comme ceci (le pseudo-code est entre les balises [BOUCLE]) : Ouvrir dans l'éditeur Overleaf
\documentclass[12pt, a5paper, french]{scrartcl} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage[fulloldstyle,largesmallcaps, light]{kpfonts} \usepackage{graphicx} \usepackage{babel} \begin{document} Titre \begin{center} \includegraphics[keepaspectratio = true, width = .5\textwidth]{0.jpg} \end{center} [BOUCLE]Pour ‹variable› de 1 à 20, faire : \newpage \begin{center} \includegraphics[keepaspectratio = true, width = .5\textwidth]{‹variable›.jpg} \end{center} \input{c‹variable›} [/BOUCLE] \end{document} C'est facile à imaginer, et sans doute très simple à réaliser, mais pas pour moi. D'où le présent message — quelle que soit la question, jamais je n'hésite à la poser sur texnique.fr ! Posée 16 Déc '16, 14:40 Pathe ♦♦ |
Voici quelques idées. Avec l'extension pgffor on peut utiliser la commande Ouvrir dans l'éditeur
\documentclass[12pt, a5paper, french]{scrartcl} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage[fulloldstyle,largesmallcaps, light]{kpfonts} \usepackage{tikz} \usepackage{babel} \begin{document} Titre \begin{center} \includegraphics[keepaspectratio = true, width = .5\textwidth]{0.jpg} \end{center} \foreach \n in{1,...,20} { \newpage \begin{center} \includegraphics[keepaspectratio = true, width = .5\textwidth]{\n.jpg} \end{center} \input{c\n} } \end{document} Remarque l'extension tikz charge à la fois graphicx et pgffor. Avec des commandes LaTeX (niveau bas) Ouvrir dans l'éditeur
\documentclass[12pt, a5paper, french]{scrartcl} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage[fulloldstyle,largesmallcaps, light]{kpfonts} \usepackage{graphicx} \usepackage{babel} \newcounter{mt} \begin{document} Titre \begin{center} \includegraphics[keepaspectratio = true, width = .5\textwidth]{0.jpg} \end{center} \makeatletter \@whilenum\value{mt}<20\do{% \stepcounter{mt} \newpage \begin{center} \includegraphics[keepaspectratio = true, width = .5\textwidth]{\themt.jpg} \end{center} \input{c\themt} } \makeatother \end{document} Remarque Il ne faut pas oublier de définir le compteur Ou avec TeX (plus bas) Ouvrir dans l'éditeur
\documentclass[12pt, a5paper, french]{scrartcl} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage[fulloldstyle,largesmallcaps, light]{kpfonts} \usepackage{graphicx} \usepackage{babel} \newcounter{mt} \begin{document} Titre \begin{center} \includegraphics[keepaspectratio = true, width = .5\textwidth]{0.jpg} \end{center} \loop \stepcounter{mt} \newpage \begin{center} \includegraphics[keepaspectratio = true, width = .5\textwidth]{\themt.jpg} \end{center} \input{c\themt} \ifnum\value{mt}<20\repeat \end{document} Il y a aussi l'extension multido. Publiée 16 Déc '16, 15:20 touhami 1
La solution dite en TeX n'en est pas une puisque les macros Une vraie solution TeX aurait été d'écrire une macro récursive toute simple du type
(17 Déc '16, 00:51)
unbonpetit ♦♦
@touhami : dans le préambule de votre première solution, vous avez oublié
(18 Déc '16, 01:23)
Pathe ♦♦
@touhami : mais oui, suis-je bête ! Et vive Till Tantau !
(18 Déc '16, 13:38)
Pathe ♦♦
Dans la cas présent, je déconseille fortement l'usage de
(01 Fév '17, 09:46)
Paul Gaborit
|
Voici une solution avec le paquetage Ouvrir dans l'éditeur Overleaf
\documentclass[12pt, a5paper, french]{scrartcl} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage[fulloldstyle,largesmallcaps, light]{kpfonts} \usepackage{graphicx} \usepackage{babel} \usepackage{multido} \begin{document} Titre \begin{center} \includegraphics[keepaspectratio = true, width = .5\textwidth]{0.jpg} \end{center} \multido{\i=1+1}{20}{% \newpage \begin{center} \includegraphics[keepaspectratio = true, width = .5\textwidth]{\i.jpg} \end{center} \input{c\i}} \end{document} Voir la doc de multido : à noter que la première lettre de la variable ( Publiée 30 Jan '17, 22:25 vincentb1 |
En utilisant la première solution de touhami et en m'inspirant de la réponse de Denis à ma question sur la « traduction » de chiffres en lettres,
je propose le code suivant, qui utilise la variable Ouvrir dans l'éditeur
\documentclass[12pt, a5paper, french]{scrartcl} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage[fulloldstyle,largesmallcaps, light]{kpfonts} \usepackage{graphicx} \usepackage{pgffor} \usepackage{fmtcount} \usepackage{babel} \frenchbsetup{og=«, fg=»} \begin{document} \foreach \n in{1,...,20} { \newpage \begin{center} {\large \Ordinalstringnum{\n} chapitre}\\ \includegraphics[keepaspectratio = true, width = .5\textwidth]{\n.jpg} \end{center} \input{c\n} } \end{document} En effet, le paramètre LaTeX, c'est chouette : un code aussi compact pour générer un long document, ça me réjouit. Publiée 18 Déc '16, 01:22 Pathe ♦♦ Désolé, mais cette réponse ne se compile pas dans overleaf. Le package pgffor semble non disponible, de même sur ctan.org où il ne figure pas.
(18 Déc '16, 07:05)
pzorba75
1
@pzorba75 le code ne compile pas à cause des fichier manquants (chapitres et images). Le module pgffor fait partie de l'extension pgf (tikz).
(18 Déc '16, 10:14)
touhami
1
En fait le ctan connaît pgffor, mais pour le trouver il faut faire une recherche approfondie dans les noms de fichiers.
(18 Déc '16, 16:06)
Pathe ♦♦
|
Pour ajouter à l'embarras de richesses :) avec LaTeX + ifthen Ouvrir dans l'éditeur
\documentclass[12pt, a5paper, french]{scrartcl} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage[fulloldstyle,largesmallcaps, light]{kpfonts} \usepackage{graphicx} \usepackage{babel} \usepackage{ifthen} \newcounter{mt} \begin{document} Titre \whiledo{\value{mt}<21}{% \newpage \begin{center} \includegraphics[keepaspectratio = true, width = .5\textwidth]{\arabic{mt}.jpg} \end{center} \input{c\arabic{mt}} \stepcounter{mt} } \end{document} Publiée 17 Déc '16, 11:26 Le TeXnicien de surface 2
On peut aller vers une grande simplicité, vierge de tout package avec cette macro (non longue)
(17 Déc '16, 12:28)
unbonpetit ♦♦
|