Indentazione in un listato di pseudocodice

  • Creatore
    Topic
  • #16361
    Up
    0
    Down
    ::


    Ciao a tutti,
    sto scrivendo la mia tesi in latex, ma ho un problema:
    voglio scrivere un listato di pseudocodice opportunamente indentato (ad esempio nel corpo degli if o delle funzioni) affiancato a sinistra dai numeri di riga.
    Ho pensato allora di creare una tabella a due colonne con il comando \begin{tabular} .
    Il problema è che l’indentazione col comando \indent non appare nel pdf compilato.
    Come posso fare? Qualcuno saprebbe darmi una mano?

    Segue il codice latex che vorrei far funzionare
    Codice:
    `\begin{tabular}{r l}
    1 & if($L_{-\lfloor\vert L\vert/2\rfloor} \le D \le L_{\lfloor\vert L\vert/2\rfloor}$)\{ \\
    2 & \indent // $D$ è dentro l'intervallo del leaf set \\
    3 & \indent * inoltra ad $L_i$ tale che $\vert D-L_i \vert$ è minimo; \\
    4 & \} else \{ \\
    5 & \indent // utilizzo della tabella di routing \\
    6 & \indent $l$ = shl($D,A$); \\
    7 & \indent if($R_l^{D_l} \neq null$) \{ \\
    8 & \indent \indent * inoltra a $R_l^{D_l}$;\\
    9 & \indent \} \\
    10 & \indent else \{ \\
    11 & \indent\indent// caso raso \\
    12 & \indent\indent * inoltra a $T \in L \cup R \cup M$ tale che \\
    13 & \indent\indent\indent shl($T, D) \ge l$ and $\vert T – D \vert < \vert A-D \vert $ \\ 14 & \}\\ 15 & \}\\ \end{tabular}` __________________

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #16362
      Up
      0
      Down
      ::


      Grazie per la risposta ma ho risolto in un altro modo.
      A seconda del livello di indentazione, ho inserito un certo numero di caratteri “\ ” (backslash + spazio) in modo da forzare la comparsa di uno spazio.
      Il mio codice è diventato quindi il seguente:

      `\begin{tabular}{r l}
      1 & if($L_{-\lfloor\vert L\vert/2\rfloor} \le D \le L_{\lfloor\vert L\vert/2\rfloor}$)\{ \\
      2 & \ \ \ // $D$ è dentro l'intervallo del leaf set \\
      3 & \ \ \ * inoltra ad $L_i$ tale che $\vert D-L_i \vert$ è minimo; \\
      4 & \} else \{ \\
      5 & \ \ \ // utilizzo della tabella di routing \\
      6 & \ \ \ $l$ = shl($D,A$); \\
      7 & \ \ \ if($R_l^{D_l} \neq null$) \{ \\
      8 & \ \ \ \ \ \ * inoltra a $R_l^{D_l}$;\\
      9 & \ \ \ \} \\
      10 & \ \ \ else \{ \\
      11 & \ \ \ \ \ \ // caso raso \\
      12 & \ \ \ \ \ \ * inoltra a $T \in L \cup R \cup M$ tale che \\
      13 & \ \ \ \ \ \ \ \ \ ($T, D) \ge l$ and $\vert T – D \vert < \vert A-D \vert $ \\ 14 & \ \ \ \}\\ 15 & \}\\ \end{tabular} `

    • #16363
      Up
      0
      Down
      ::


      Per completezza, credo che il pacchetto algorithm2e o simili potrebbero interessarti.

      Ciao

      Daniele

Visualizzazione 1 filone di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top