virgolette non tipografiche

  • Creatore
    Topic
  • #91879
    samiel
    Partecipante
      Up
      0
      Down
      ::


      In un testo composto con xelatex devo inserire delle virgolette alte non tipografiche,
      ma il codice `\shorthandoff{“}” “\shorthandon{“}` non funziona,
      perché vengono prodotte in entrambi i casi virgolette all’inglese chiuse.
      Come posso risolvere e perché i comandi citati non funzionano?

      grazie
      m

    Visualizzazione 12 filoni di risposte
    • Autore
      Risposte
      • #91880
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Siccome non le uso mai, non sono sicuro, ma se scrivi \string” \string” al posto di ” “, forse ti escono le virgolette diritte.

          Per curiosità, a cosa ti servono?

        • #91881
          samiel
          Partecipante
            Up
            0
            Down
            ::


            Mi servono per un breve scritto che sarebbe decisamente eccessivo
            dire dedicato alla tipografia, una cosa scolastica. mi servono a titolo di esempio.
            in ogni caso la tua soluzione continua a produrre il medesimo risultato
            di shorthand… ovvero le virgolette inglesi chiuse

            m

          • #91882
            Up
            0
            Down
            ::


            Se ho capito bene la domanda, qui trovi varie risposte:
            http://tex.stackexchange.com/questions/7735/how-to-get-straight-quotation-marks

            Ma sbaglio o [tt]\shorthandoff[/tt] & [tt]\shorthandon[/tt] sono comandi di [tt]babel[/tt] che non dovrebbe essere usato con [tt]xelatex[/tt]?

          • #91883
            samiel
            Partecipante
              Up
              0
              Down
              ::


              Grazie della segnalazione. Seguendo uno di quegli esempi, ho provato mettendo
              `\setmainfont[Ligatures=Common,Numbers=OldStyle]{Garamond Premier Pro}`
              in luogo di Ligatures=Tex, ma così anche tutti gli apostrofi diventano non tipografici.
              Un’altra soluzione sarebbbe usare il primitivo \XeTeXglyph 3 …

              m

            • #91884
              Up
              0
              Down
              ::

              samiel” post=91439In un testo composto con xelatex devo inserire delle virgolette alte non tipografiche,
              ma il codice `\shorthandoff{“}” “\shorthandon{“}` non funziona,
              perché vengono prodotte in entrambi i casi virgolette all’inglese chiuse.
              Come posso risolvere e perché i comandi citati non funzionano?

              È un problema di uovo e gallina: se abiliti [tt]Ligatures=TeX[/tt] anche [tt]\textquotedbl[/tt] viene convertito a quelle curve. Soluzione:
              `\documentclass[a4paper]{article}
              \usepackage{fontspec}
              \setmainfont[Ligatures=TeX]{Linux Libertine O}
              \newfontfamily{\quotesfont}{Linux Libertine O}
              \newcommand{\straightquotes}{{\quotesfont\textquotedbl}}

              \begin{document}
              “virgolette'', \straightquotes virgolette\straightquotes
              \end{document}`
              Ciao
              Enrico

            • #91885
              samiel
              Partecipante
                Up
                0
                Down
                ::


                Sì, così naturalmente funziona, grazie. Non so se la soluzione che avevo adottato,
                ovvero inserire direttamente il glifo sia (stilisticamente e concettualmente) più “sporca”.

                Una curiosità. Per ottenere i glifi li ho stampato su pdf col seguente codice:
                `\documentclass[landscape]{article}
                \usepackage{geometry}
                \usepackage{fontspec}
                \setmainfont{Garamond Premier Pro}
                \usepackage{multicol}
                \setlength{\columnseprule}{0.4pt}
                \usepackage{multido}
                \setlength{\parindent}{0pt}
                \begin{document}

                \begin{multicols}{10}
                \multido{\i=0+1}{“10000}{% from U+0000 to U+FFFF
                \iffontchar\font\i
                \makebox[3em][l]{\i}%
                \symbol{\i}\endgraf
                \fi
                }
                \end{multicols}
                \end{document}`
                Ora, il primo glifo della stampata porta il numero 32, le virgolette non tipografiche il 34.
                Eppure per ottenerle devo usare \XeTeXglyph 3, e in effetti si tratta del terzo glifo stampato.
                FontForge poi mi dà il valore Unicode U+0022, ma lo colloca sempre alla 34esima posizione.
                Da cosa deriva che per Xelatex devo usare il numero 3?

                Per contro, un altro script per fare lo stesso lavoro trovato in rete
                `\documentclass

                {standalone}
                \usepackage{geometry}
                \usepackage{xunicode, xltxtra}
                \usepackage{fontspec}
                \usepackage{multicol}
                \setmainfont[Mapping=tex-text, Ligatures={Historical}, Alternate=0]{Linux Libertine O}
                \setlength{\columnsep}{0.3cm}
                \setlength{\columnseprule}{1pt}
                \begin{document}

                \begin{multicols}{10}
                \newcount\charcount
                \charcount=0
                \loop
                \number\charcount \hspace{1ex} \XeTeXglyph\charcount
                \par
                \ifnum\charcount<2500
                \advance\charcount1
                \repeat
                \end{multicols}

                \end{document}`
                mi dà errore
                `*geometry* driver: auto-detecting
                *geometry* detected driver: xetex

                ! LaTeX Error: Something's wrong–perhaps a missing \item.

                See the LaTeX manual or LaTeX Companion for explanation.
                Type H for immediate help.

                l.12 \newcount
                \charcount
                ? `

                m

              • #91886
                samiel
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Ho corretto così il secondo script e funziona
                  `\documentclass[landscape]{article}
                  \usepackage{geometry}
                  \usepackage{xunicode, xltxtra}
                  \usepackage{fontspec}
                  \usepackage{multicol}
                  \setmainfont[Mapping=tex-text, Ligatures={Historical}, Alternate=0]{Linux
                  Libertine O}
                  \setlength{\parindent}{0pt}
                  \setlength{\columnsep}{0.3cm}
                  \setlength{\columnseprule}{1pt}
                  \begin{document}

                  \begin{multicols}{10}
                  \newcount\charcount
                  \charcount=0
                  \loop
                  \number\charcount \hspace{1ex} \XeTeXglyph\charcount
                  \par
                  \ifnum\charcount<2500
                  \advance\charcount1
                  \repeat
                  \end{multicols}

                  \end{document}`
                  Ricevo il seguente messaggio:
                  `** WARNING ** Invalid CMap mapping entry. (ignored)`

                • #91887
                  Up
                  0
                  Down
                  ::

                  samiel” post=91454Sì, così naturalmente funziona, grazie. Non so se la soluzione che avevo adottato,
                  ovvero inserire direttamente il glifo sia (stilisticamente e concettualmente) più “sporca”.

                  Una curiosità. Per ottenere i glifi li ho stampato su pdf col seguente codice:
                  `\documentclass[landscape]{article}
                  \usepackage{geometry}
                  \usepackage{fontspec}
                  \setmainfont{Garamond Premier Pro}
                  \usepackage{multicol}
                  \setlength{\columnseprule}{0.4pt}
                  \usepackage{multido}
                  \setlength{\parindent}{0pt}
                  \begin{document}

                  \begin{multicols}{10}
                  \multido{\i=0+1}{“10000}{% from U+0000 to U+FFFF
                  \iffontchar\font\i
                  \makebox[3em][l]{\i}%
                  \symbol{\i}\endgraf
                  \fi
                  }
                  \end{multicols}
                  \end{document}`
                  Ora, il primo glifo della stampata porta il numero 32, le virgolette non tipografiche il 34.
                  Eppure per ottenerle devo usare \XeTeXglyph 3, e in effetti si tratta del terzo glifo stampato.
                  FontForge poi mi dà il valore Unicode U+0022, ma lo colloca sempre alla 34esima posizione.
                  Da cosa deriva che per Xelatex devo usare il numero 3?

                  Il comando [tt]\XeTeXglyph[/tt] si riferisce ai glifi presenti nel font; se per caso un font avesse glifi anche nelle posizioni 0–31, il numero corrispondente alle virgolette diritte non sarebbe più 3.

                  samielPer contro, un altro script per fare lo stesso lavoro trovato in rete
                  `\documentclass

                  {standalone}
                  \usepackage{geometry}
                  \usepackage{xunicode, xltxtra}
                  \usepackage{fontspec}
                  \usepackage{multicol}
                  \setmainfont[Mapping=tex-text, Ligatures={Historical}, Alternate=0]{Linux Libertine O}
                  \setlength{\columnsep}{0.3cm}
                  \setlength{\columnseprule}{1pt}
                  \begin{document}

                  \begin{multicols}{10}
                  \newcount\charcount
                  \charcount=0
                  \loop
                  \number\charcount \hspace{1ex} \XeTeXglyph\charcount
                  \par
                  \ifnum\charcount<2500
                  \advance\charcount1
                  \repeat
                  \end{multicols}

                  \end{document}`
                  mi dà errore
                  `*geometry* driver: auto-detecting
                  *geometry* detected driver: xetex

                  ! LaTeX Error: Something's wrong–perhaps a missing \item.

                  See the LaTeX manual or LaTeX Companion for explanation.
                  Type H for immediate help.

                  l.12 \newcount
                  \charcount
                  ? `

                  Semplice, non puoi usare [tt]multicols[/tt] con la classe standalone. Puoi anche sapere a che punto fermarti:

                  `
                  \documentclass

                  {article}
                  \usepackage{geometry}
                  \usepackage{multicol}
                  \usepackage{fontspec}
                  \setmainfont[Mapping=tex-text, Ligatures={Historical}, Alternate=0]{Linux Libertine O}
                  \setlength{\columnsep}{0.3cm}
                  \setlength{\columnseprule}{1pt}
                  \newcount\charcount
                  \begin{document}

                  \begin{multicols}{9}
                  \charcount=0
                  \chardef\lastglyph=\numexpr\XeTeXcountglyphs\font-1\relax
                  \loop
                  \number\charcount \hspace{1ex} \XeTeXglyph\charcount
                  \par
                  \ifnum\charcount<\lastglyph \advance\charcount1 \repeat \end{multicols} \end{document} ` Perché togliere 1? Bella domanda: se provi a stampare l'ultimo glifo hai un errore che rende il PDF non valido. :( Ciao Enrico

                • #91888
                  samiel
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Allora il secondo script oppure quello emendato sono in pratica i più utili
                    perché danno esattamente i glifi presenti e il numero che serve.

                    Sulla incompatibilità di multicols con standalone, mi chiedo
                    se quello che ha postato lo script abbia mai provato a compilarlo…

                    grazie
                    m

                  • #91889
                    Up
                    0
                    Down
                    ::

                    samiel” post=91489Allora il secondo script oppure quello emendato sono in pratica i più utili
                    perché danno esattamente i glifi presenti e il numero che serve.

                    Giusto.

                    samiel” post=91489Sulla incompatibilità di multicols con standalone, mi chiedo
                    se quello che ha postato lo script abbia mai provato a compilarlo…

                    Ah, non saprei proprio.

                    Piuttosto, scordati xunicode e xltxtra. Toglili di mezzo e non discutere. 😉

                    Ciao
                    Enrico

                  • #91890
                    samiel
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Come disse uno famoso, “obbedisco” !

                      In ogni caso xltxtra non dovrebbe migliorare la resa
                      se si usano \textsuperscript e \textsubscript ?
                      Io li uso assai poco, quasi esclusivamente per i numerini
                      in apice che indicano le edizioni dei libri dopo l’anno di pubblicazione….

                      m

                    • #91891
                      Up
                      0
                      Down
                      ::

                      samiel” post=91505Come disse uno famoso, “obbedisco” !

                      In ogni caso xltxtra non dovrebbe migliorare la resa
                      se si usano \textsuperscript e \textsubscript ?
                      Io li uso assai poco, quasi esclusivamente per i numerini
                      in apice che indicano le edizioni dei libri dopo l’anno di pubblicazione….

                      m

                      Nella mia esperienza, xltxtra crea più problemi di quanti ne risolva.

                      Ciao
                      Enrico

                    • #91892
                      samiel
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        mi fido, abolito 🙂

                        m

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

                    Go to top