Virgolette e apici come delimitatori stringhe Java

  • Creatore
    Topic
  • #71514
    Up
    0
    Down
    ::


    Salve a tutti. Piccolo problemino con l’utilizzo di lstlisting: quando scrivo del codice java vorrei che le stringhe fossero di un colore specifico. Il punto è che stringhe e caratteri singoli in java si indicano in modi diversi: le stringhe con “stringa” e i caratteri con ‘carattere’. Per entrambi vorrei la stessa colorazione così ho inserito:
    morestring={“}{”},
    morestring={`}{‘}

    Il punto è che ovviamente se scrivo “ciao” l’ultimo apice non lo evidenzia perchè evidentemente inizia a processare il primo dei due apici iniziali come stringa ma a partire dal secondo entra nel secondo caso. Almeno credo sia così, non so se mi sono spiegato.

    Come potrei risolvere?

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #71515
      GKT
      Partecipante
        Up
        0
        Down
        ::

        TheLOTR” post=70669Salve a tutti. Piccolo problemino con l’utilizzo di lstlisting: quando scrivo del codice java vorrei che le stringhe fossero di un colore specifico. Il punto è che stringhe e caratteri singoli in java si indicano in modi diversi: le stringhe con “stringa” e i caratteri con ‘carattere’. Per entrambi vorrei la stessa colorazione così ho inserito:
        morestring={“}{”},
        morestring={`}{‘}

        Il punto è che ovviamente se scrivo “ciao” l’ultimo apice non lo evidenzia perchè evidentemente inizia a processare il primo dei due apici iniziali come stringa ma a partire dal secondo entra nel secondo caso. Almeno credo sia così, non so se mi sono spiegato.

        Come potrei risolvere?

        Questo esempio minimo
        `\documentclass{article}

        \usepackage{listings}
        \usepackage{xcolor}

        \lstset{%
        language=Java,%
        stringstyle=\color{red},%
        morestring={“}{''},%
        morestring={`}{'}%
        }

        \begin{document}
        \begin{lstlisting}
        “ciao''
        `a'
        void
        \end{lstlisting}
        \end{document}`
        per me funziona correttamente. Riproduco il comportamento da te descritto solo scrivendo`string={“}{''},%
        morestring={`}{'}%`
        Lorenzo

      • #71516
        Up
        0
        Down
        ::


        Grazie l’ho sistemato. Funzionava ma ho preferito comunque scegliere di usare le virgolette classiche (“) all’interno del codice solo che ogni volta che mi trovo a doverle scrivere devo fare un copia e incolla altrimenti Latex me le interpreta come (“ ”) non so perché. Non è un vero e proprio problema ma comunque preferirei poterle inserire più facilmente.

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

    Go to top