Tikz, listings e “Argument of \@iiparbox has an extra }”

  • Creatore
    Topic
  • #98845
    Up
    0
    Down
    ::


    Salve ragazzi,

    oggi durante la stesura della mia tesi sono incappato in uno strano problema che non riesco a capire. Ero alle prese con con un capitolo in cui ci sono molti listati di programmi che avevo già inserito con successo nei giorni scorsi a mezzo del pacchetto listings ed in questo contesto dovevo inserire un diagramma da fare con Tikz. Bene, il diagramma l’ho scritto in un file a parte e non dà problemi, ma quando lo inserisco al suo posto (con il pacchetto standalone) il compilatore (XeLaTeX) mi dà l’errore in oggetto: Argument of \@iiparbox has an extra }. Pensando che il problema riguardasse standalone ho provato ad includere in maniera diretta il file contente il diagramma, compilando tutto contemporaneamente. Anche in questo caso però l’esito è lo stesso. La stessa cosa si verifica anche inserendo l’immagine pdf via includegraphics. A questo punto ho fatto un debug ed ho capito che il problema proviene da una riga del tipo

    `\lstinputlisting[firstline=1, lastline=58]{\myLstPath myFile} `

    che però, ribadisco, eliminando il diagramma non dà alcun tipo di problema. La cosa che mi suona più strana è che riducendo l’argomento di lastline il problema scompare (sia con standalone che senza). In particolare lo stesso problema si manifesta spostando l’ lstinputlisting incriminato in appendice e lasciando l’ includestandalone (o l’input al file .tex privato degli headers) nel corpo del documento.

    Premettendo che sto usando la classe Memoir avete idee riguardanti questo stano – almeno ai miei occhi – comportamento?

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #98846
      Up
      0
      Down
      ::


      Riesci a fornire un esempio minimo di codice? Intendo un documento con memoir, il codice della figura e un listato.

      Vedere il codice in genere aiuta moltissimo.

      Ciao
      Claudio

    • #98847
      Up
      0
      Down
      ::

      cfiandra” post=98374Riesci a fornire un esempio minimo di codice? Intendo un documento con memoir, il codice della figura e un listato.

      Vedere il codice in genere aiuta moltissimo.

      Ciao
      Claudio

      Hai ragione, ammetto che ci avevo rinunciato senza nemmeno tentare a causa della mole dell’opera attuale. Però l’ho fatto adesso, con poco successo, ahimè: creando un nuovo documento con memoir, listings, Tikz ed i soli pacchetti accessori per ottenere lo stile del listato e del diagramma tutto funziona a dovere.

      Comunque mi sono reso conto che il diagramma è legato a questo fenomeno solo in quanto “occupa spazio” a monte del codice: se lo rimuovo, il codice (ormai spostato in appendice perchè mi sono reso conto che è una locazione più consona) continua a dare lo stesso problema. In particolare l’errore si manifesta quando il codice in appendice deve estendersi su più di una pagina. D’altro canto però, se riposiziono il codice nel corpo testo, allora posso aggiungere righe al listato anche facendolo “sforare” su una seconda pagina, ma solo fintanto che il titolo della sottosezione successiva resta sulla medesima pagina. Inoltre nell’esempio minimo che avevo preparato (e che non pubblico per il semplice motivo che non riproduce il problema) il listato veniva mostrato correttamente in ogni circostanza, anche con molti elementi flottanti che “occupano spazio” a monte di esso.

      Per comprendere un po’ meglio la situazione pubblico due immagini:


      in entrambi i casi aggiungendo anche solo un’altra linea di codice (incrementando l’argomento di lastline di uno) si presenta l’errore.

    • #98848
      Up
      0
      Down
      ::

      DavideC” post=98383Hai ragione, ammetto che ci avevo rinunciato senza nemmeno tentare a causa della mole dell’opera attuale. Però l’ho fatto adesso, con poco successo, ahimè: creando un nuovo documento con memoir, listings, Tikz ed i soli pacchetti accessori per ottenere lo stile del listato e del diagramma tutto funziona a dovere.

      È un buon punto di partenza.

      DavideC” post=98383Comunque mi sono reso conto che il diagramma è legato a questo fenomeno solo in quanto “occupa spazio” a monte del codice: se lo rimuovo, il codice (ormai spostato in appendice perchè mi sono reso conto che è una locazione più consona) continua a dare lo stesso problema.

      Quindi il diagramma non c’entra niente.

      DavideC” post=98383In particolare l’errore si manifesta quando il codice in appendice deve estendersi su più di una pagina.

      Strano perché listings di suo spezza il codice su più pagine quando necessario senza generare errori.

      DavideC” post=98383D’altro canto però, se riposiziono il codice nel corpo testo, allora posso aggiungere righe al listato anche facendolo “sforare” su una seconda pagina, ma solo fintanto che il titolo della sottosezione successiva resta sulla medesima pagina.

      Non ho capito

      DavideC” post=98383Inoltre nell’esempio minimo che avevo preparato (e che non pubblico per il semplice motivo che non riproduce il problema) il listato veniva mostrato correttamente in ogni circostanza, anche con molti elementi flottanti che “occupano spazio” a monte di esso.

      Questo è il comportamento normale.

      DavideC” post=98383Per comprendere un po’ meglio la situazione pubblico due immagini:


      in entrambi i casi aggiungendo anche solo un’altra linea di codice (incrementando l’argomento di lastline di uno) si presenta l’errore.

      Purtroppo mi spiace, ma io non sono in grado di darti informazioni solo con la descrizione del problema e le figure.

      Ciao
      Claudio

Visualizzazione 2 filoni di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top