Conflitto tra yfonts e sidebyside (e codice)

  • Creatore
    Topic
  • #29860
    lorenzo.pantieri
    Partecipante
      Up
      0
      Down
      ::


      Ciao a tutti. Nei miei lavori uso estesamente gli ambienti personalizzati sidebyside e codice (vedi sotto), costruiti sulle fondamenta del pacchetto listings. Hanno sempre funzionato alla grande. Però con il pacchetto yfonts, che permette di scrivere in gotico, non funzionano: a sinistra di sidebyside (e nell’ambiente codice), non c’è il sorente, come dovrebbe, ma comprare il testo compilato. Esempio minimo:
      `\documentclass{scrreprt}

      \usepackage[applemac]{inputenc}
      \usepackage[T1]{fontenc}
      \usepackage[german,italian]{babel}
      \usepackage[writefile]{listings}
      \usepackage{yfonts}

      \makeatletter
      \lstset{extendedchars}
      \lstnewenvironment{sidebyside}{%
      \global\let\lst@intname\@empty
      \setbox\z@=\hbox\bgroup
      \setkeys{lst}{columns=fullflexible,%
      linewidth=0.45\linewidth,keepspaces=true,%
      breaklines=true,%
      breakindent=0pt,%
      boxpos=t,%
      basicstyle=\small\ttfamily
      }%
      \lst@BeginAlsoWriteFile{\jobname.tmp}%
      }{%
      \lst@EndWriteFile\egroup
      \begin{center}%
      \begin{minipage}{0.45\linewidth}%
      \hbox to\linewidth{\box\z@\hss}
      \end{minipage}%
      \qquad
      \begin{minipage}{0.45\linewidth}%
      \setkeys{lst}{frame=none}%
      \leavevmode \catcode`\^^M=5\relax
      \small\input{\jobname.tmp}%
      \end{minipage}%
      \end{center}%
      }
      \makeatother

      \lstnewenvironment{codice}%
      {\setkeys{lst}{columns=fullflexible,keepspaces=true}%
      \lstset{basicstyle=\small\ttfamily,escapeinside={£*}{*£}}%
      }%
      {}

      \begin{document}

      Prova.

      \begin{sidebyside}
      Questo ambiente funziona benissimo. Per esempio: \LaTeX.
      \end{sidebyside}

      \begin{codice}
      Anche questo ambiente funziona benissimo. Per esempio: \LaTeX.
      \end{codice}

      \selectlanguage{german}
      \frakfamily\Large\fraklines
      \yinipar{D}ie \textswab{Orgel}, der \textswab{Fl*ugel}, das: \textswab{Fortepiano} und das: \textswab{Clavicord} sind die gebr*auchlichsten Clavierinstrumente zum Accompagnement. Es: ist Schade, da”s die sch*one Erfindung des: \textswab{Holfeldischen Bogenclaviers:} noch nicht gemeinn*utzig geworden ist; man kann dahero dessen besondere Vorz*uge hierinnen noch nicht genau bestimmen. Es: ist gewi”s zu glauben, da”s es: sich auch bey der Begleitung gut aus:nehmen werde.

      \begin{sidebyside}
      \frakfamily\Large\fraklines
      \yinipar{D}ie \textswab{Orgel}, der \textswab{Fl*ugel}, das: \textswab{Fortepiano} und das: \textswab{Clavicord} sind die gebr*auchlichsten Clavierinstrumente zum Accompagnement. Es: ist Schade, da”s die sch*one Erfindung des: \textswab{Holfeldischen Bogenclaviers:} noch nicht gemeinn*utzig geworden ist; man kann dahero dessen besondere Vorz*uge hierinnen noch nicht genau bestimmen. Es: ist gewi”s zu glauben, da”s es: sich auch bey der Begleitung gut aus:nehmen werde.
      \end{sidebyside}

      \begin{codice}
      \frakfamily\Large\fraklines
      \yinipar{D}ie \textswab{Orgel}, der \textswab{Fl*ugel}, das: \textswab{Fortepiano} und das: \textswab{Clavicord} sind die gebr*auchlichsten Clavierinstrumente zum Accompagnement. Es: ist Schade, da”s die sch*one Erfindung des: \textswab{Holfeldischen Bogenclaviers:} noch nicht gemeinn*utzig geworden ist; man kann dahero dessen besondere Vorz*uge hierinnen noch nicht genau bestimmen. Es: ist gewi”s zu glauben, da”s es: sich auch bey der Begleitung gut aus:nehmen werde.
      \end{codice}

      \selectlanguage{italian}

      Prova. Che succede?

      \end{document}`
      Come correggere gli ambienti sidebyside e codice affinché facciano il loro dovere?

      Grazie mille,
      L.

    Visualizzazione 7 filoni di risposte
    • Autore
      Risposte
      • #29861
        Up
        0
        Down
        ::

        Ciao a tutti. Nei miei lavori uso estesamente gli ambienti personalizzati sidebyside e codice (vedi sotto), costruiti sulle fondamenta del pacchetto listings. Hanno sempre funzionato alla grande. Però con il pacchetto yfonts, che permette di scrivere in gotico, non funzionano: a sinistra di sidebyside (e nell’ambiente codice), non c’è il sorente, come dovrebbe, ma comprare il testo compilato. Esempio minimo:

        Come correggere gli ambienti sidebyside e codice affinché facciano il loro dovere?

        Gli ambienti non hanno bisogno di alcuna correzione. Se dai come dichiarazione globale \frakfamily (riga dopo \selectlanguage{german}) devi certo aspettarti qualcosa di non proprio normalissimo.

        Non mi pare proprio un esempio minimo, che dici? E poi, perché dopo tutte le discussioni fatte ti ostini a usare la codifica applemac?

        Ciao
        Enrico

      • #29862
        lorenzo.pantieri
        Partecipante
          Up
          0
          Down
          ::

          Gli ambienti non hanno bisogno di alcuna correzione. Se dai come dichiarazione globale \frakfamily (riga dopo \selectlanguage{german}) devi certo aspettarti qualcosa di non proprio normalissimo.

          Ops! “Naturalmente”, \frakfamily va messo al’interno di un gruppo…

          E poi, perché dopo tutte le discussioni fatte ti ostini a usare la codifica applemac?

          Inerzia, purtroppo. 😳 Ho cominciato a scrivere i miei documenti usando la codifica applemac anni fa, e ancora non ho trovato il tempo di convertirli tutti a latin1. Si tratta di una delle cose che mi ripropongo per questo 2009… 😉

          Ciao,
          L.

        • #29863
          Up
          0
          Down
          ::

          Gli ambienti non hanno bisogno di alcuna correzione. Se dai come dichiarazione globale \frakfamily (riga dopo \selectlanguage{german}) devi certo aspettarti qualcosa di non proprio normalissimo.

          Ops! “Naturalmente”, \frakfamily va messo al’interno di un gruppo…

          E poi, perché dopo tutte le discussioni fatte ti ostini a usare la codifica applemac?

          Inerzia, purtroppo. 😳 Ho cominciato a scrivere i miei documenti usando la codifica applemac anni fa, e ancora non ho trovato il tempo di convertirli tutti a latin1. Si tratta di una delle cose che mi ripropongo per questo 2009… 😉

          Posso capire per i vecchi documenti; ma non è così difficile scrivere i nuovi con latin1, no?

          A parte questo, ti segnalo il pacchetto showexpl, che ha le funzioni che tanto faticosamente definisci con l’ambiente sidebyside.

          Ciao
          Enrico

        • #29864
          lorenzo.pantieri
          Partecipante
            Up
            0
            Down
            ::

            Posso capire per i vecchi documenti; ma non è così difficile scrivere i nuovi con latin1, no?

            Il fatto è che (almeno credo) se si cambia codifica di input bisogna anche modificare le preferenze dell’editor. Si tratta di paio di clic, è vero, ma visto che mi capita frequentemente di aprire documenti vecchi e nuovi (magari copiando pezzi dagli uni agli altri), ripetere quei clic sarebbe oltremodo fastidioso.

            Natualmente, potrei convertire tutto in latin1, scegliere una volta per tutte quella codifica nelle preferenze di TeX Shop e non pensarci più (almeno fino a quando non dovrò ritrasformare tutto in Unicode… :wink:). Finora ha vinto la pigrizia… 😳

            A parte questo, ti segnalo il pacchetto showexpl, che ha le funzioni che tanto faticosamente definisci con l’ambiente sidebyside.

            Ci do subito un’occhiata!

            Grazie mille,
            L.

          • #29865
            Up
            0
            Down
            ::

            Natualmente, potrei convertire tutto in latin1, scegliere una volta per tutte quella codifica nelle preferenze di TeX Shop e non pensarci più (almeno fino a quando non dovrò ritrasformare tutto in Unicode… :wink:). Finora ha vinto la pigrizia… 😳

            [OT]
            Già, non sarebbe piu’ ragionevole convertire tutto in utf-8 direttamente e senza passare dal via?
            È vero, come dice wikipedia, che non è piu’ un formato mantenuto?
            Ha dei vantaggi rispetto a Unicode?
            [/OT]

            LuCa

          • #29866
            lorenzo.pantieri
            Partecipante
              Up
              0
              Down
              ::

              Già, non sarebbe piu’ ragionevole convertire tutto in utf-8 direttamente e senza passare dal via?
              È vero, come dice wikipedia, che non è piu’ un formato mantenuto?
              Ha dei vantaggi rispetto a Unicode?

              http://www.guit.sssup.it/phpbb/viewtopic.php?t=4621&highlight=pendola

              A sentimento, direi che anche la codifca latin1 è obsoleta (o lo diventerà presto). Il punto è sapere
              1. se la codifca Unicode sia già da ora sufficientemente “matura”;
              2. se gli editor più diffusi (mi riferisco a TeXShop; Kile; WinEdt, TeXnicCenter, TeXmaker e LEd) supportino tutti Unicode. Se è così, nessun dubbio: tanto vale aggiornare tutto a Unicode.

              Se qualche autorevole fonte conferma i due punti precedenti, nella prossima versione dell’Arte consiglierò senz’altro Unicode (mentre ora vengono consigliati sia latin1 sia utf8).

              Ciao,
              L.

            • #29867
              Up
              0
              Down
              ::

              Natualmente, potrei convertire tutto in latin1, scegliere una volta per tutte quella codifica nelle preferenze di TeX Shop e non pensarci più (almeno fino a quando non dovrò ritrasformare tutto in Unicode… :wink:). Finora ha vinto la pigrizia… 😳

              [OT]
              Già, non sarebbe piu’ ragionevole convertire tutto in utf-8 direttamente e senza passare dal via?
              È vero, come dice wikipedia, che non è piu’ un formato mantenuto?
              Ha dei vantaggi rispetto a Unicode?
              [/OT]

              TeX accetta solo input a 8 bit; il pacchetto inputenc con l’opzione utf8 rende certi caratteri attivi; funziona, per funzionare, ma ha notevoli limitazioni. Diverso è il caso di XeTeX e di luaTeX, che invece accettano input direttamente in Unicode, trasformando in fase di lettura i multibyte in entità “uniche”. L’uso di latin1 è, per ora, un buon compromesso.

              Ciao
              Enrico

            • #29868
              lorenzo.pantieri
              Partecipante
                Up
                0
                Down
                ::

                TeX accetta solo input a 8 bit; il pacchetto inputenc con l’opzione utf8 rende certi caratteri attivi; funziona, per funzionare, ma ha notevoli limitazioni. Diverso è il caso di XeTeX e di luaTeX, che invece accettano input direttamente in Unicode, trasformando in fase di lettura i multibyte in entità “uniche”. L’uso di latin1 è, per ora, un buon compromesso.

                Chiarissimo, come sempre.

                Del “nuovo LaTeX” spero che cambino nome: quel “LuaTeX” mi riesce davvero astruso… 👿

                Ciao,
                L.

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

            Go to top