Problemi con pgf-tikz decoration.text

  • Creatore
    Topic
  • #122182
    benedetto batta
    Partecipante
      Up
      0
      Down
      ::


      Salve a tutti.
      Ho un altro problema di cui non capisco la ragione.
      Si tratta di un piccolo progetto grafico che, similmente, ho già prodotto in un altro libro.
      Lì, si compila senza problemi, qu mi dà l’errore “Package pgfkeys Error: I do not know the key ‘/pgf/decoration/\pgfkeyscurrentspelled it. text={|\bfseries|negli occhi calcinati}}]

      Questo è il codice (è minimo e compilabile, ma appunto si compila malamente e mi dà l’errore suddetto).
      `
      \documentclass[12pt,a4paper]{book}
      \usepackage[T1]{fontenc} % codifica dei font
      \usepackage[utf8]{inputenc} % lettere accentate da tastiera
      \usepackage[italian]{babel} % imposta Italiano come lingua del progetto
      \usepackage[head=30pt,foot=10pt, height=165mm, top=2.3cm, bottom=1.8cm, nomarginpar]{geometry}

      \usepackage{amsmath}
      \usepackage{amsfonts}
      \usepackage{amssymb}
      \usepackage{graphicx}

      % pacchetto di grafica, impostazioni e contatori
      \usepackage{tikz}
      \usetikzlibrary{decorations, decorations.text}
      \usetikzlibrary{arrows,decorations.markings}
      \usetikzlibrary{decorations.text}
      \usepackage{shapepar}

      % Impostazioni per la poesia REVERTIGINE
      \usepackage[absolute]{textpos}

      \setlength{\TPHorizModule}{30mm}
      \setlength{\TPVertModule}{\TPHorizModule}
      \textblockorigin{10mm}{10mm} % start everything near the top-left corner
      \setlength{\parindent}{0pt}

      \usepackage{rotating}

      \begin{document}
      %\author{Benedetto Battaglia}
      %\title{OPUS GIULIANAE}
      %\clearpage\maketitle
      \pagestyle{empty}

      % freccia
      \begin{textblock}{3}(2,1.6)
      \begin{tikzpicture}
      \draw[->,line width=8pt] (0, 0) .. controls(.5,.5) .. (.5, -1.5);
      \end{tikzpicture}
      \end{textblock}

      % ventaglio ———–
      \begin{textblock}{3}(0.3,0.8)
      \begin{tikzpicture}
      \draw[decorate,decoration={text along path,
      text path start scale=2.4,
      text path end scale=0.4,
      text={|\bfseries|negli occhi calcinati}}] (0,2.5) .. controls(3.5,3.8) .. (5.5,0.8);
      \end{tikzpicture}
      \end{textblock}
      \begin{textblock}{3}(0.1,0.88)
      \begin{turn}{20}
      \begin{tikzpicture}
      \draw[decorate,decoration={text along path,
      text path start scale=2.4,
      text path end scale=0.4,
      text={|\bfseries|nelle mani screpolate}}] (0,2.5) .. controls(3.5,3.8) .. (5.5,0.8);
      \end{tikzpicture}
      \end{turn}
      \end{textblock}

      \begin{textblock}{3}(0.15,1.07)
      \begin{turn}{32}
      \begin{tikzpicture}
      \draw[decorate,decoration={text along path,
      text path start scale=2.4,
      text path end scale=0.4,
      text={|\bfseries|sulla bocca inebetita}}] (0,2.5) .. controls(3.5,3.8) .. (5.5,0.8);
      \end{tikzpicture}
      \end{turn}
      \end{textblock}

      \begin{textblock}{3}(0.33,1.37)
      \begin{turn}{60}
      \begin{tikzpicture}
      \draw[decorate,decoration={text along path,
      text path start scale=2.4,
      text path end scale=0.4,
      text={|\bfseries|nelle orecchie assordate}}] (0,2.5) .. controls(3.5,3.8) .. (5.5,0.8);
      \end{tikzpicture}
      \end{turn}
      \end{textblock}

      \begin{textblock}{3}(.85,1.70)
      \begin{turn}{80}
      \begin{tikzpicture}
      \draw[decorate,decoration={text along path,
      text path start scale=2.4,
      text path end scale=0.4,
      text={|\bfseries|nel cervello sgominato}}] (0,2.5) .. controls(3.5,3.8) .. (5.5,0.8);
      \end{tikzpicture}
      \end{turn}
      \end{textblock}
      % ————————–

      \begin{textblock}{.5}(2.15,2.45)
      %{\fontfamily{pag}\fontsize{55}{60}\selectfont L'assoluto}

      {\huge\bfseries\itshape {\fontfamily{pag}\fontsize{25}{28}\selectfont
      \begin{minipage}{\linewidth}
      L\par
      '\par
      a\par
      s\par
      s\par
      o\par
      l\par
      u\par
      t\par
      o
      \end{minipage}
      }
      }
      \end{textblock}

      \end{document}
      `
      Sembra dia errore sull’inserimento del test non riconoscendo decoration, ma la dichiarazione della libreria c’è nel preambolo.
      Qualcuno sa sa spiegarmi il motivo?

    Visualizzazione 0 filoni di risposte
    • Autore
      Risposte
      • #122183
        benedetto batta
        Partecipante
          Up
          0
          Down
          ::


          Ho trovato la soluzione al problema. Mi scuso ancora per aver aperto una discussione per poi chiuderla da solo dopo appena una giornata.
          Ogni tanto, mi rendo conto, basterebbe avere un po’ di pazienza. In ogni modo, magari la soluzione al problema potrebbe venire utile a qualcuno, non so.

          Allora: i comandi text path start e text path end non esistono in TIKZ. Li ho uilizzati per un libro circa 8 anni fa, un libro era parecchio “intricato”, quindi ieri non ho avuto la costanza di controllare bene il preambolo dove, in effetti, i comandi vengono dichiarati, tramite il seguente codice:
          `
          \makeatletter
          \let\pgf@lib@dec@text@dobox@original=\pgf@lib@dec@text@dobox%
          \def\pgf@lib@dec@text@dobox{%
          \pgf@lib@dec@text@dobox@original%
          \ifpgfdecorationtextalongpathscaletext%
          \pgfmathparse{\pgf@lib@dec@text@endscale+(\pgf@lib@dec@text@startscale-\pgf@lib@dec@text@endscale)*\pgfdecoratedremainingdistance/\pgfdecoratedpathlength}%
          \setbox\pgf@lib@dec@text@box=\hbox{\scalebox{\pgfmathresult}{\box\pgf@lib@dec@text@box}}%
          \fi%
          }
          \newif\ifpgfdecorationtextalongpathscaletext
          \def\pgf@lib@dec@text@startscale{1}
          \def\pgf@lib@dec@text@endscale{1}

          \pgfkeys{/pgf/decoration/.cd,
          text path start scale/.code={%
          \pgfdecorationtextalongpathscaletexttrue%
          \def\pgf@lib@dec@text@startscale{#1}%
          },
          text path end scale/.code={%
          \pgfdecorationtextalongpathscaletexttrue%
          \def\pgf@lib@dec@text@endscale{#1}%
          }
          }
          \makeatother
          `

          Non è farina del mio sacco: tutti i crediti vanno a Jon, in questo sito, dove è pure definito il modo di scalare il testo per formarne una spirale.
          Spero, appunto, che questo possa essere almeno utile a qualcuno.

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

      Go to top