IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en forme Discussion :

Une phrase par page


Sujet :

Mise en forme

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2011
    Messages : 398
    Points : 193
    Points
    193
    Par défaut Une phrase par page
    Bonjour

    J'aimerais faire apparaître une seule phrase par page pour pouvoir illustrer à la main le papier. Autrement dit, je veux qu'il y ait un saut de page à chaque point.

    Y a-t-il une façon de le faire sans taper \newpage à chaque fin de phrase?

    Merci
    Celano

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 344
    Points : 561
    Points
    561
    Par défaut
    Bonjour,

    Oui c'est possible en écrivant un peut de TeX. Le code joue avec les catcodes, c'est dangereux, d'où les commande \start et \stop pour limiter le changement. Je ne peux hélas pas le commenter puisqu'il faudrait un cours de TeX mais si un point particulier t'interesse, j'essayerai de détailler.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    % !TEX encoding = UTF-8 Unicode
    % !TEX TS-program = pdflatex
     
    \documentclass[12pt, french, a4paper]{article}
     
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{geometry}
    \usepackage{babel}
     
    % ------------------- début code magique -------------------
    \makeatletter
     
    \begingroup
    \catcode`\.=13%
    \gdef\start{%
    	\begingroup%
    	\catcode`\.=13%
    	\def.{\newpage}
    }
    \global\let\stop\endgroup%
    \endgroup
     
    \makeatother
    % ------------------- fin code magique -------------------
     
    \begin{document}
     
    	Quelques mots. Ça ne fonctionne pas, normal.
     
    	\start
     
    	Bonjour. Et voici une phrase.
     
    	\stop
     
    	Et ici, ça ne fonctionne plus. Magique.
     
    \end{document}
    La FAQ apporte souvent la solution aux problèmes
    Avant de demander de l'aide, pensez à faire un ECM ! Un problème bien expliqué est un problème à moitié résolu .

  3. #3
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Points : 11 289
    Points
    11 289
    Billets dans le blog
    5
    Par défaut
    On peut rendre le caractère "." actif :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    \documentclass{minimal}
    \def\point{^^n}
    \catcode`\.\active
    \def.{\point\clearpage}
     
    \begin{document}
    Blablabla  blablabla.
     
    Blablabla  blablabla. bla.
     
    pp.
    \end{document}
    EDIT: Arf, devancé, d'une minute . Si dans ton document, il y a autre chose qu'une phrase par page la solution de Benoist sera plus satisfaisante car elle permet de revenir au comportement normal de "."

  4. #4
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Points : 11 289
    Points
    11 289
    Billets dans le blog
    5
    Par défaut
    En fait, la solution de benoist n'imprime pas le caractère "." ce que je trouve gênant. Un mix des deux solutions semble donc intéressant.
    Rajouter \def\p{.} et \def.{\p\newpage} et le tour est joué.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 344
    Points : 561
    Points
    561
    Par défaut
    Citation Envoyé par -Nikopol- Voir le message
    En fait, la solution de benoist n'imprime pas le caractère "." ce que je trouve gênant. Un mix des deux solutions semble donc intéressant.
    Rajouter \def\p{.} et \def.{\p\newpage} et le tour est joué.
    Effectivement, je viens de m'en rendre compte. Ça m'apprendra à répondre à des sujets pendant ma pause déjeuner Je ne connaissais pas la macro \active, c'est beaucoup plus clair que 13 Le mix des deux solutions sera parfait.
    La FAQ apporte souvent la solution aux problèmes
    Avant de demander de l'aide, pensez à faire un ECM ! Un problème bien expliqué est un problème à moitié résolu .

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2011
    Messages : 398
    Points : 193
    Points
    193
    Par défaut
    À l'aide... Vous vous comprenez, mais moi, je n'ai pas tout compris ;-)

    En fait, vu que vous avez écrit plusieurs messages, je sais plus ce que je dois garder ou pas...

    Mon ECM:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    \documentclass{article}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
     
    \usepackage[french]{babel}
     
    \makeatletter
    \def\p{.}
    \def.{\p\newpage}
    \makeatother
     
    \begin{document}
     
    \include{./data/pages/ch-02/contexte-serein.tex}
     
    \end{document}
    Voilà le message d'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ! Missing control sequence inserted.
    <inserted text> 
                    \inaccessible 
    l.9 \def.
             {\p\newpage}
    ?
    Qu'est-ce que j'ai raté??

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 344
    Points : 561
    Points
    561
    Par défaut
    Voici le mélange entre le code de -nikopol- et le mien. Il faut juste que tu prélèves la partie que j'ai encadré avec les commentaires. J'ai également laisser les macros \start et \stop pour minimiser les problèmes éventuels.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    % !TEX encoding = UTF-8 Unicode
    % !TEX TS-program = pdflatex
     
    \documentclass[12pt, french, a4paper]{article}
     
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{geometry}
    \usepackage{babel}
     
    % ------------------- début code magique -------------------
    \makeatletter
    \def\point{.}
    \begingroup
    \catcode`\.=\active%
    \gdef\start{%
    	\begingroup%
    	\catcode`\.=13%
    	\def.{\point\newpage}
    }
    \global\let\stop\endgroup%
    \endgroup
     
    \makeatother
    % ------------------- fin code magique -------------------
     
    \begin{document}
     
    	Quelques mots. Ça ne fonctionne pas, normal.
     
    	\start
     
    	Bonjour. Et voici une phrase.
     
    	\stop
     
    	Et ici, ça ne fonctionne plus. Magique.
     
    \end{document}
    Dans ton code, tu as une erreur logique, tu as oubliée la ligne la plus importante \catcode`\.=\active. C'est elle qui transforme le point en "macro"
    La FAQ apporte souvent la solution aux problèmes
    Avant de demander de l'aide, pensez à faire un ECM ! Un problème bien expliqué est un problème à moitié résolu .

  8. #8
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2011
    Messages : 398
    Points : 193
    Points
    193
    Par défaut
    Ça marche! Merci beaucoup.

    Deux questions quand même. Je ne comprends pas tout du code pour le moment, mais je vais creuser calmement.
    En revanche, j'ai rencontré un problème: \include{./data/pages/ch-02/contexte-serein} me pose des soucis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Package hyperref Warning: Rerun to get /PageLabels entry.
     
     
    latex: Not writing to . (openout_any = p).
    ! I can't write on file `.'.
    <to be read again> 
                       \par 
    l.20 \include{./data/pages/ch-02/contexte-serein}
     
    (Press Enter to retry, or Control-D to exit; default file extension is `.tex')
    Please type another output file name:
    Alors qu'en intégrant le contenu du fichier directement à la source, je n'ai pas ce problème. Est-ce lié au fait qu'il y a un point dans le chemin?

    Deuxième chose: quand il y a une \section, il intègre le titre avec une phrase. On peut compliquer un peu le code pour qu'il y ait une phrase OU un section par page, mais jamais les deux?

    Merci!
    C

  9. #9
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 344
    Points : 561
    Points
    561
    Par défaut
    Citation Envoyé par Celano Voir le message
    Est-ce lié au fait qu'il y a un point dans le chemin?
    En lisant l'erreur, je comprends que le point est interprété comme séparateur entre le nom du fichier et l'extension. LaTeX cherche donc un fichier sans nom. Après, est-ce qu'il y a un lien avec le code qu'on t'a donné, c'est impossible de le dire sans un ECM (voir ma signature).

    Citation Envoyé par Celano Voir le message
    Deuxième chose: quand il y a une \section, il intègre le titre avec une phrase. On peut compliquer un peu le code pour qu'il y ait une phrase OU un section par page, mais jamais les deux?
    Un petit exemple pour illustrer ce que tu souhaites obtenir ?
    La FAQ apporte souvent la solution aux problèmes
    Avant de demander de l'aide, pensez à faire un ECM ! Un problème bien expliqué est un problème à moitié résolu .

  10. #10
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Points : 11 289
    Points
    11 289
    Billets dans le blog
    5
    Par défaut
    Concernant l'erreur, le problème vient bien du point dans le nom du chemin.
    TeX n'est pas capable d'écrire des données dans le fichier <nom>. Il est probablement en écriture seule ou il n'y a pas de permission en écriture dans son répertoire. Sur certaines implémentations TeX (comme pour TeX Live), l'erreur peut être précédée d'une ligne telle que : TeX: Not writing to /TeXmf/TeX/LaTeX/base/LaTeX.ltx (openout_any = p). Ces installations TeX sont configurées par défaut pour être « paranoïaques » (d'où le « p ») en ce qui concerne l'écriture de fichiers. Elles ne permettent que l'écriture de fichiers situés sous le répertoire courant et interdisent l'écriture de fichiers spécifiés avec un chemin absolu ou dont le nom commence par un point. Ce comportement est modifiable en éditant le fichier TeXmf.cnf.
    J'en profite pour rappeler qu'il existe l'excellente (j'y ai passé des heures ) FAQ erreurs et avertissements où toutes les erreurs du noyau LaTeX (le message commence par LaTeX Error : ), pratiquement tous les messages d'erreur de TeX (c'est-à-dire ceux produits directement par le moteur sous-jacent) et les erreurs des extensions amsmath, babel, docstrip, calc, color, graphics, graphicx, inputenc, fontenc et textcomp.

  11. #11
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2011
    Messages : 398
    Points : 193
    Points
    193
    Par défaut
    Merci pour les infos.
    Finalement, j'ai utilisé input et j'ai enlevé le point. Ça fonctionne.

    Du coup, ceci pour faire une phrase par page. Autrement dit, on repère chaque point pour faire un saut de page.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    \makeatletter
    	\def\point{.}
    	\begingroup
    	\catcode`\.=\active%
    	\gdef\start{%
    		\begingroup%
    		\catcode`\.=13%
    		\def.{\point\newpage}
    	}
    	\global\let\stop\endgroup%
    	\endgroup
     
    \makeatother
    Comment puis-je repérer chaque paragraphe pour faire un saut de page? \n ?

    Merci
    C

  12. #12
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 344
    Points : 561
    Points
    561
    Par défaut
    Le but de ce code n'est pas de repérer les points, c'est de transformer le point en macro pour lui faire faire quelque chose.

    Un paragraphe se termine par la macro \par. C'est invisible dans le code source, c'est TeX qui le fait (remplacement des deux retours à la ligne). L'idée principale serait de patcher la macro pour qu'elle agisse comme \newpage mais là tout de suite je ne vois pas comment faire, ça me semble assez technique pour pas mal de risques.
    La FAQ apporte souvent la solution aux problèmes
    Avant de demander de l'aide, pensez à faire un ECM ! Un problème bien expliqué est un problème à moitié résolu .

  13. #13
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2011
    Messages : 398
    Points : 193
    Points
    193
    Par défaut
    Ok. Merci.
    C

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [E-03] Formuler une phrase par conténation depuis des combobox
    Par moilou2 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 28/11/2008, 14h38
  2. Réponses: 0
    Dernier message: 26/07/2007, 10h25
  3. afficher une personne par page
    Par robocop2776 dans le forum IHM
    Réponses: 5
    Dernier message: 04/06/2007, 16h57
  4. Sous-état : une valeur par page de l'état
    Par Aitone dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 17/01/2007, 18h19
  5. [VB.NET]Créer une instance par page
    Par Dnx dans le forum ASP.NET
    Réponses: 20
    Dernier message: 31/10/2005, 13h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo