Testo allineato al centro che non si centra.

  • Creatore
    Topic
  • #75570
    Up
    0
    Down
    ::


    Salve a tutti, innanzitutto chiedo scusa per il titolo, ma non ho trovato di meglio 😳
    venendo al dunque, sto scrivendo dei bigliettini, che poi andranno ritagliati. Il codice è il seguente:

    `\documentclass[a4paper,12pt]{letter}

    \usepackage{tikz}
    \usepackage{geometry}
    \geometry{a4paper,hmargin={0.6cm,0.6cm},vmargin={0.4cm,0.4cm}}
    \usepackage{tabularx}

    \usepackage{graphicx}
    \usepackage{xcolor}
    \usepackage{calligra}

    \newlength{\Larghezza}
    \setlength{\Larghezza}{13cm}

    \newlength{\Crocino}
    \setlength{\Crocino}{0.3cm}

    \newcommand{\Biglietto}{
    \begin{tikzpicture}
    \useasboundingbox (0,0) rectangle (\Larghezza,\Larghezza);
    \draw (-\Crocino,0) — (0,0) — (0,-\Crocino);
    \draw (-\Crocino,\Larghezza) — (0,\Larghezza) — (0,\Larghezza+\Crocino);
    \draw (\Larghezza+\Crocino,\Larghezza) — (\Larghezza,\Larghezza) — (\Larghezza,\Larghezza+\Crocino);
    \draw (\Larghezza,-\Crocino) — (\Larghezza,0) — (\Larghezza+\Crocino,0);
    \draw (0.7,\Larghezza-0.7cm) node [anchor=north,text=red,align=center,font=\Large\calligra,rotate=45,draw]
    {Riga\\e\\testo\\[6pt]solo tre parole};
    \end{tikzpicture}
    }

    \begin{document}
    \pagestyle{empty}
    \Biglietto

    \vspace{2.5\Crocino}

    \Biglietto

    \end{document}`
    Il problema è che le parole sulla prima, seconda e terza riga non sono allineate al centro, ma leggermente spostate a destra. E’ un problema del font utilizzato, o magari delle interruzioni di linea, o della congiuntura astrale sfavorevole? Se qualcuno ha qualche idea si garantirà la mia eterna gratitudine (non che serva a molto).

    Ciao,
    Roberto

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #75571
      Up
      0
      Down
      ::


      Ciao,
      direi che è colpa del font che, essendo molto inclinato, fa sembrare tutto spostato verso destra. Infatti il codice seguente dimostra che il testo è allineato al centro:
      `\documentclass[a4paper,12pt]{letter}

      \usepackage{tikz}
      \usepackage{geometry}
      \geometry{a4paper,hmargin={0.6cm,0.6cm},vmargin={0.4cm,0.4cm}}
      \usepackage{tabularx}

      \usepackage{graphicx}
      \usepackage{xcolor}
      %\usepackage{calligra}

      \newlength{\Larghezza}
      \setlength{\Larghezza}{13cm}

      \newlength{\Crocino}
      \setlength{\Crocino}{0.3cm}

      \newcommand{\Biglietto}{
      \begin{tikzpicture}
      \useasboundingbox (0,0) rectangle (\Larghezza,\Larghezza);
      \draw (-\Crocino,0) — (0,0) — (0,-\Crocino);
      \draw (-\Crocino,\Larghezza) — (0,\Larghezza) — (0,\Larghezza+\Crocino);
      \draw (\Larghezza+\Crocino,\Larghezza) — (\Larghezza,\Larghezza) — (\Larghezza,\Larghezza+\Crocino);
      \draw (\Larghezza,-\Crocino) — (\Larghezza,0) — (\Larghezza+\Crocino,0);
      \draw (0.7,\Larghezza-0.7cm) node [anchor=north,text=red,align=center,font=\Large,rotate=45,draw]
      {11111Riga11111\\e\\testo\\[6pt]solo tre parole};
      \end{tikzpicture}
      }

      \begin{document}
      \pagestyle{empty}
      \Biglietto

      \vspace{2.5\Crocino}

      \Biglietto

      \end{document}`
      Non saprei quale potrebbe essere una soluzione automatica. Aggiungendo uno spazio sottile alla fine delle righe ([tt]\,[/tt]) il risultato migliora, però è una soluzione abbastanza artigianale.

      Ciao
      Fra

    • #75572
      Up
      0
      Down
      ::

      Spike” post=74729Ciao,
      direi che è colpa del font che, essendo molto inclinato, fa sembrare tutto spostato verso destra. Infatti il codice seguente dimostra che il testo è allineato al centro:
      `\documentclass[a4paper,12pt]{letter}

      \usepackage{tikz}
      \usepackage{geometry}
      \geometry{a4paper,hmargin={0.6cm,0.6cm},vmargin={0.4cm,0.4cm}}
      \usepackage{tabularx}

      \usepackage{graphicx}
      \usepackage{xcolor}
      %\usepackage{calligra}

      \newlength{\Larghezza}
      \setlength{\Larghezza}{13cm}

      \newlength{\Crocino}
      \setlength{\Crocino}{0.3cm}

      \newcommand{\Biglietto}{
      \begin{tikzpicture}
      \useasboundingbox (0,0) rectangle (\Larghezza,\Larghezza);
      \draw (-\Crocino,0) — (0,0) — (0,-\Crocino);
      \draw (-\Crocino,\Larghezza) — (0,\Larghezza) — (0,\Larghezza+\Crocino);
      \draw (\Larghezza+\Crocino,\Larghezza) — (\Larghezza,\Larghezza) — (\Larghezza,\Larghezza+\Crocino);
      \draw (\Larghezza,-\Crocino) — (\Larghezza,0) — (\Larghezza+\Crocino,0);
      \draw (0.7,\Larghezza-0.7cm) node [anchor=north,text=red,align=center,font=\Large,rotate=45,draw]
      {11111Riga11111\\e\\testo\\[6pt]solo tre parole};
      \end{tikzpicture}
      }

      \begin{document}
      \pagestyle{empty}
      \Biglietto

      \vspace{2.5\Crocino}

      \Biglietto

      \end{document}`
      Non saprei quale potrebbe essere una soluzione automatica. Aggiungendo uno spazio sottile alla fine delle righe ([tt]\,[/tt]) il risultato migliora, però è una soluzione abbastanza artigianale.

      Ciao
      Fra

      Ciao, in verità ci avevo già pensato, tuttavia ho provato a stampare il testo su carta e a tracciare la diagonale del quadrato, e misurando la distanza tra gli estremi della riga a destra e a sinistra ho trovato una discrepanza di più o meno 1mm, cosa che però non avviene per l’ultima riga. Ad esempio se usi il codice
      `\newcommand{\Biglietto}{
      \begin{tikzpicture}
      \useasboundingbox (0,0) rectangle (\Larghezza,\Larghezza);
      \draw (-\Crocino,0) — (0,0) — (0,-\Crocino);
      \draw (-\Crocino,\Larghezza) — (0,\Larghezza) — (0,\Larghezza+\Crocino);
      \draw (\Larghezza+\Crocino,\Larghezza) — (\Larghezza,\Larghezza) — (\Larghezza,\Larghezza+\Crocino);
      \draw (\Larghezza,-\Crocino) — (\Larghezza,0) — (\Larghezza+\Crocino,0);
      \draw[dashed] (0,\Larghezza) — (\Larghezza,0);
      \draw (0.7,\Larghezza-0.7cm) node [anchor=north,text=red,align=center,font=\Large\calligra,rotate=45,draw]
      {Riga\\e\\testo\\[6pt]solo tre parole};
      \end{tikzpicture}
      }`
      ti rendi conto che solo l’ultima riga è ben centrata (c’è solo un po di effetto ottico dovuto alla “l” di parole che “sborda” un pelo, mentre le altre non solo ben allineate.

      Continuando a fare prove inoltre mi sono reso conto che inserendo solo la parola “Riga” all’interno del nodo, questa è comunque male allineata, come se ci fosse uno spazio prima della lettera iniziale, cosa che non avviene con altri font.

      Ciao, Roberto

    • #75573
      Up
      0
      Down
      ::


      Succede con tutte le maiuscole di calligra. Prova a scrivere una maiuscola in una [tt]\fbox[/tt] e vedrai.

      Ciao
      Enrico

    • #75574
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Secondo me è solo l’effetto ottico provocato dalla forte inclinazione del font corsivo. prova a mettere \/\strut alla fine di ogni riga; chissà che l’effetto ottico non sia mitigato. Io ho provato ma non vedo niente. Se metti \frame{Riga} al posto di Riga, vedi che la cornice tangente alla “parola” ha non poco spazio a sinistra, ed è questo, che rappresenta la spalla sinistra della R, quello che produce quell’effetto.

        Metti \frame anche a cavallo delle altre righe e vedrai che le scatole tangente sono tutte perfettamente centrate, ed è solo quella che contiene Riga che ha il suo contenuto fuori centro. Mettici davanti un [tt]\kern-2.2pt[/tt] e vedrai che la spalla viene recuperata completamente a anche Riga risulta al centro.

      • #75575
        Up
        0
        Down
        ::


        Ok, alla fine avevo anche pensato ad una soluzione del genere, farò qualche prova per vedere di quanto correggere, purtroppo si deve fare a occhio.
        Grazie a tutti, vi devo un caffé.
        Roberto

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

    Go to top