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 :

algorithm package commencer avec n°line >1


Sujet :

Mise en forme

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Par défaut algorithm package commencer avec n°line >1
    Je voudrais commencer un algorithm

    \begin{algorithmic}[1] ..

    mais avec la première ligne numéroté 7, car je veux juste montrer la différence avec l'algo précedent

    est-ce qu'il y aurait quelquechose du genre
    \algstartlinenumbe{7}
    ou
    \begin{algorithmic}[1,linestartnumber]

    j'ai regardé la doc sans y trouver de solutions

    ce genre de chose est possible pour les enumartion (commencer à autre que 1)

    merci de toute aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Sans ECM, pas d'idée.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Par défaut
    Citation Envoyé par unbonpetit Voir le message
    Sans ECM, pas d'idée.
    ECM?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Oui, Exemple Complet Minimal, un code qui compile et qui soit minimum.

    Je ne dois pas être doué, mais il m'a été impossible d'utiliser le package. Donc, nécessité de poster un ECM.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Par défaut
    Citation Envoyé par unbonpetit Voir le message
    Oui, Exemple Complet Minimal, un code qui compile et qui soit minimum.

    Je ne dois pas être doué, mais il m'a été impossible d'utiliser le package. Donc, nécessité de poster un ECM.
    il faut le package algorithm ou algorithmicx

    ensuite ce que j'ai dit c'est par exemple:

    \begin{algorithm}
    \caption{Pseudocode 123}
    \begin{algorithmic}[1]
    \State 1
    \State 2
    \State et 3
    \end{algorithmic}
    \end{algorithm}

    ça affiche 3 lines numéroté

    ensuite je voudrais:

    \begin{algorithm}
    \caption{Pseudocode 124}
    \begin{algorithmic}[1]
    \State et 4
    \EndProcedure
    \end{algorithmic}
    \end{algorithm}

    avec le n°de ligne 3 au lieu de 1 sur cette ligne unique pour montrer la diff avec l'autre

    comment faire commencer à un numero de ligne >1

    ce genre de chose est possible pour les enumerate

  6. #6
    Invité
    Invité(e)
    Par défaut
    Tu ne postes pas un ECM, juste un bout de code. Le"C" veut dire complet, c'est le code en entier que je peux compiler tel quel.

    Moi, je n'arrive pas à compiler ceci donc je vais avoir du mal à t'aider...
    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
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{algorithm}
    \begin{document}
     
     
    \begin{algorithm}
    \caption{Pseudocode 123}
    \begin{algorithmic}[1]
    \State 1
    \State 2
    \State et 3
    \end{algorithmic}
    \end{algorithm}
     
    \end{document}

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Par défaut
    exact il faut

    \usepackage{algpseudocode}
    \usepackage{algorithm}
    désolé

  8. #8
    Invité
    Invité(e)
    Par défaut
    Réponse p25 de la doc d'algorthmicx !!!!

    Il faut donc poster des ecm et lire les docs !! J'te jure...

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Par défaut
    oui c'est vrai, le store restore mais le 2e algo montre une ligne de différence avec l'algo 1 et cette ligne n'est pas forcément la dernière de l'algo 1, hors il faut forcément fermer l'algorithm après un \algstore donc je ne peux avoir:

    j'espère que tu vois ce que je veux dire, c'est jsute prévu pour passer les coupures de page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    algo1
    1: if (test)
    2:     zeghzio
    3:     hello
    4: endif
     
    algo2: 
    3:     bonjour
    \begin{algorithm}
    \caption{alg 1}
    \begin{algorithmic}[1]
    \If {test}
    \State zeghzio
    \State hello
    \algstore{bkbreak}
    \Endif
    \end{algorithmic}
    \end{algorithm}

    \begin{algorithm}
    \caption{alg 2}
    \begin{algorithmic}[1]
    \algrestore{bkbreak}
    \State bonjour
    \end{algorithmic}
    \end{algorithm}


    Pour l'instant j'ai mis le 2e algo sans lignes de code, en disant dans le caption que c'est la ligne 7, mais j'aimerais pouvoir insérer ce chiffre 7, il semble qu'il y a pas de macro prévu pour changer ce chiffre

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ____22 Voir le message
    j'espère que tu vois ce que je veux dire
    Mais justement, je ne vois pas du tout. Pourtant, il me semble que j'ai fait des efforts !!!

    Je suis désolé de te dire que je ne comprends pas ce que tu veux, c'est une question de formulation en français. De plus, tu refuses obstinément de poster des ECM, ça ne facilite pas les choses.

    Moi, je compile le code ci-dessous, et ça ne marche pas. Je ne sais pas ce que tu attends . Il me semble que dans la doc, ils expliquent comment interrompre l'algo en cours et reprendre ensuite et que le numéro de ligne s'incrémente de 1. Qu'est ce qui ne va pas dans cette fonctionnalité ?

    Voici le code qui ne compile pas (je te fais remarquer que je donne encore un 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
    17
    18
    19
    20
    21
    22
    23
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{algpseudocode}
    \usepackage{algorithm}
    \begin{document}
    \begin{algorithm}
    \caption{alg 1}
    \begin{algorithmic}[1]
    \If {test}
    \State zeghzio
    \State hello
    \Endif
    \end{algorithmic}
    \end{algorithm}
     
    \begin{algorithm}
    \caption{alg 2}
    \begin{algorithmic}[1]
    \State bonjour
    \end{algorithmic}
    \end{algorithm}
    \end{document}
    Si quelqu'un a plus de patience que moi et comprend mieux ce que cherche "22", qu'il réponde. Merci.

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Par défaut
    je chercher à faire ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    algo1
    1: if (test)
    2:     zeghzio
    3:     hello
    4: endif
     
    algo2: 
    3:     bonjour

    qui aurait pu se faire avec ça:
    mais le algstyore s'attend à un end algorithl juste après,
    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
     
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{algpseudocode}
    \usepackage{algorithm}
    \begin{document}
    \begin{algorithm}
    \caption{alg 1}
    \begin{algorithmic}[1]
    \If{test}
    \State zeghzio
    \State hello
    \algstore{bkbreak}
    \EndIf
    \end{algorithmic}
    \end{algorithm}
     
    \begin{algorithm}
    \caption{alg 2}
    \begin{algorithmic}[1]
    \algrestore{bkbreak}
    \State bonjour
    \end{algorithmic}
    \end{algorithm}
    \end{document}
    il faut quelquechose comme:
    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
     
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{algpseudocode}
    \usepackage{algorithm}
    \begin{document}
    \begin{algorithm}
    \caption{alg 1}
    \begin{algorithmic}[1]
    \If{test}
    \State zeghzio
    \State hello
    \EndIf
    \end{algorithmic}
    \end{algorithm}
     
    \begin{algorithm}
    \caption{alg 2}
    \begin{algorithmic}[1]
    %   ----->  \setlinenumber{3}
    \State bonjour
    \end{algorithmic}
    \end{algorithm}
    \end{document}

  12. #12
    Membre Expert Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Par défaut
    Avant qu'unbonpetit ne te tape sur les doigts, je te rappelle pour la n-ième fois que nous souhaitons un ECM !!!
    Nous sommes patients mais cette patience a des limites. Tant que tu ne fourniras pas ce que nous demandons, nous ne jetterons même pas un œil à ton code.
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  13. #13
    Invité
    Invité(e)
    Par défaut
    J'ai rapidement bidouillé une macro \startalgoline qui modifie le numéro de départ du prochain algorithme. Je n'ai même pas cherché les effets de bords que cela va occasionner :
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{algpseudocode}
    \usepackage{algorithm}
    \makeatletter
    \newcommand\startalgoline[1]{\xdef\start@algoline{\number\numexpr#1-\@ne}}
    \startalgoline{0}
     
    \renewenvironment{algorithmic}[1][0]%
       {%
       \edef\ALG@numberfreq{#1}%
       \def\@currentlabel{\theALG@line}%
       %
       \setcounter{ALG@line}{\start@algoline}%
       \setcounter{ALG@rem}{0}%
       %
       \let\\\algbreak%
       %
       \expandafter\edef\csname ALG@currentblock@\theALG@nested\endcsname{0}%
       \expandafter\let\csname ALG@currentlifetime@\theALG@nested\endcsname\relax%
       %
       \begin{list}%
          {\ALG@step}%
          {%
          \rightmargin\z@%
          \itemsep\z@ \itemindent\z@ \listparindent2em%
          \partopsep\z@ \parskip\z@ \parsep\z@%
          \labelsep 0.5em \topsep 0.2em%\skip 1.2em
          \ifthenelse{\equal{#1}{0}}%
             {\labelwidth 0.5em}%
             {\labelwidth 1.2em}%
          \leftmargin\labelwidth \addtolength{\leftmargin}{\labelsep}% Ok. the perfect leftmargin :-))
          \ALG@tlm\z@%
          }%
       \setcounter{ALG@nested}{0}%
       \ALG@beginalgorithmic%
       }%
       {% end{algorithmic}
       % check if all blocks are closed
       \ALG@closeloops%
       \expandafter\ifnum\csname ALG@currentblock@\theALG@nested\endcsname=0\relax%
       \else%
          \PackageError{algorithmicx}{Some blocks are not closed!!!}{}%
       \fi%
       \ALG@endalgorithmic%
       \end{list}%
       \startalgoline{0}%
       }%
    \makeatother
     
    \begin{document}
     
    \begin{algorithm}
    \caption{alg 1}
    \begin{algorithmic}[1]
    \If{test}
    \State zeghzio
    \State hello
    \EndIf
    \end{algorithmic}
    \end{algorithm}
     
    \startalgoline{3}
    \begin{algorithm}
    \caption{alg 2}
    \begin{algorithmic}[1]
    \State bonjour
    \end{algorithmic}
    \end{algorithm}
    \end{document}
    Le mieux serait d'envoyer un email à l'auteur pour qu'il rajoute cette fonctionnalité proprement.

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Par défaut
    Citation Envoyé par unbonpetit Voir le message
    J'ai rapidement bidouillé une macro \startalgoline qui modifie le numéro de départ du prochain algorithme. Je n'ai même pas cherché les effets de bords que cela va occasionner :
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{algpseudocode}
    \usepackage{algorithm}
    \makeatletter
    \newcommand\startalgoline[1]{\xdef\start@algoline{\number\numexpr#1-\@ne}}
    \startalgoline{0}
     
    \renewenvironment{algorithmic}[1][0]%
       {%
       \edef\ALG@numberfreq{#1}%
       \def\@currentlabel{\theALG@line}%
       %
       \setcounter{ALG@line}{\start@algoline}%
       \setcounter{ALG@rem}{0}%
       %
       \let\\\algbreak%
       %
       \expandafter\edef\csname ALG@currentblock@\theALG@nested\endcsname{0}%
       \expandafter\let\csname ALG@currentlifetime@\theALG@nested\endcsname\relax%
       %
       \begin{list}%
          {\ALG@step}%
          {%
          \rightmargin\z@%
          \itemsep\z@ \itemindent\z@ \listparindent2em%
          \partopsep\z@ \parskip\z@ \parsep\z@%
          \labelsep 0.5em \topsep 0.2em%\skip 1.2em
          \ifthenelse{\equal{#1}{0}}%
             {\labelwidth 0.5em}%
             {\labelwidth 1.2em}%
          \leftmargin\labelwidth \addtolength{\leftmargin}{\labelsep}% Ok. the perfect leftmargin :-))
          \ALG@tlm\z@%
          }%
       \setcounter{ALG@nested}{0}%
       \ALG@beginalgorithmic%
       }%
       {% end{algorithmic}
       % check if all blocks are closed
       \ALG@closeloops%
       \expandafter\ifnum\csname ALG@currentblock@\theALG@nested\endcsname=0\relax%
       \else%
          \PackageError{algorithmicx}{Some blocks are not closed!!!}{}%
       \fi%
       \ALG@endalgorithmic%
       \end{list}%
       \startalgoline{0}%
       }%
    \makeatother
     
    \begin{document}
     
    \begin{algorithm}
    \caption{alg 1}
    \begin{algorithmic}[1]
    \If{test}
    \State zeghzio
    \State hello
    \EndIf
    \end{algorithmic}
    \end{algorithm}
     
    \startalgoline{3}
    \begin{algorithm}
    \caption{alg 2}
    \begin{algorithmic}[1]
    \State bonjour
    \end{algorithmic}
    \end{algorithm}
    \end{document}
    Le mieux serait d'envoyer un email à l'auteur pour qu'il rajoute cette fonctionnalité proprement.
    bravo c'est top

    j'avais au depart demandr la même chose à l'auteur szaszjanos@users.sourceforge.net mais l'email n'existe plus apparemment

    petit détail que je ne sais resoudre
    je voudrais dans alg2
    au lieu de
    pour avoir la même indentation, mais \indent met un indent un peu trop grand

    EDIT:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \State \hspace{1.2em}bonjour
    semble bon, est-ce que c'est la bonne valeur pour l'indentation?

  15. #15
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ____22 Voir le message
    pour avoir la même indentation, mais \indent met un indent un peu trop grand
    Essaie avec \hspace{<dimension>} où tu cherches en tâtonnant la dimension qui te convient.

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

Discussions similaires

  1. Comment commencer avec Informix ?
    Par ferradji dans le forum Informix
    Réponses: 3
    Dernier message: 16/06/2014, 17h33
  2. Le package coreutils avec plus d'"utils" de que "core"
    Par Celelibi dans le forum Debian
    Réponses: 5
    Dernier message: 21/11/2006, 23h10
  3. [debutant] Comment commencer avec Perl?
    Par Murieyaya dans le forum Langage
    Réponses: 3
    Dernier message: 20/12/2005, 16h58
  4. [Débutant]Commencer avec les BDD
    Par Pill_S dans le forum Débuter
    Réponses: 6
    Dernier message: 29/06/2004, 15h02

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