Re: Scritte in sovrimpressione

#85000
Up
0
Down
::

Marco87″ post=84421Ciao Enrico,

grazie per la risposta. 🙂 Chiedo scusa, nello scrivere l’esempio da riportare qui ho dimenticato quella definizione:
`\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture,baseline=0.5ex] \node (#1) {};}`
Tuttavia, come mi hai fatto notare, il pacchetto [tt]ocgx[/tt] non funziona con XeLaTeX, e quindi non funziona lo stesso. Perciò mi chiedo: non c’è possibilità di ottenere lo stesso risultato con XeLaTeX?

Il problema è che quel codice (quello fornito da Claudio) non funziona nemmeno con pdfLaTeX se uso [tt]\usepackage[utf8]{inputenc}:[/tt]
`\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{xparse}
\usepackage{tikz}
\usetikzlibrary{shapes.callouts,ocgx}

\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture,baseline=0.5ex] \node (#1) {};}

% \spiegaparola: #1= idenficatore del bottone e della posizione nel testo , #2 testo da spiegare
\NewDocumentCommand{\spiegaparola}{r[] m}{
\switchocg{#1}{#2}\tikzmark{#1}
}

\tikzset{my callout style/.style={
draw,rectangle callout,anchor=pointer,callout relative pointer={(230:1cm)},
rounded corners,align=center,text width=5cm,fill=cyan!20,
}
}

% \riquadro: #1 opacità, #2 posizione nel testo, #3= testo di spiegazione
\NewDocumentCommand{\riquadro}{O{opacity=0.8,text opacity=1} m m}{%
\begin{tikzpicture}[remember picture, overlay]
\begin{scope}[ocg={ref=#2,status=invisible,name={#3}}]
\node[my callout style,#1]at (#2) {#3};
\end{scope}
\end{tikzpicture}
}

\begin{document}
In una terra lontana, dietro le \spiegaparola[montagna]{montagne} Parole, lontani dalle terre di Vocalia e Consonantia, vivono i testi casuali.
Vivono isolati nella cittadina di Lettere, sulle coste del Semantico, un immenso oceano linguistico. Un piccolo \spiegaparola[rusc]{ruscello} chiamato Devoto Oli
attraversa quei luoghi, rifornendoli di tutte le regolalie di cui hanno bisogno. È una terra paradismatica, un paese della \spiegaparola[cuc]{cuccagna} in cui golose
porzioni di proposizioni arrostite volano in bocca a chi le desideri. Non una volta i testi casuali sono stati dominati dall’onnipotente Interpunzione,
una vita davvero non ortografica.
\riquadro{montagna}{Una montagna è un rilievo della superficie terrestre che si estende sopra il terreno circostante in un'area limitata.}
% sovrascrivere le impostazioni precedenti
\tikzset{my callout style/.append style={fill=orange!20,,callout relative pointer={(250:0.75cm)}}}
\riquadro{rusc}{In idrografia viene chiamato ruscello o rio un piccolo corso d'acqua e che confluisce in un corso d'acqua maggiore come dimensione e quantità d'acqua trasportata.}
\riquadro[opacity=1]{cuc}{Il paese di Cuccagna è un luogo ideale, ricordato in molti testi di ogni epoca, nel quale il benessere, l'abbondanza e il piacere è a portata di tutti.}
\end{document}`
Al codice di Claudio, in realtà, ho aggiunto sia [tt]\usepackage[utf8]{inputenc}[/tt] che [tt]\usepackage[T1]{fontenc},[/tt] ma che dà problemi è soltanto il primo. Come mai?

Ciao e grazie ancora,
Marco.

Per motivi alquanto misteriosi, ocg-p scrive nel file .aux usando Latin-1. Aggiungi questo incantesimo:
`\usetikzlibrary{shapes.callouts,ocgx}

\usepackage{xpatch}
\makeatletter
\xpatchcmd{\ocg}
{\@ocgp@newocg{#2}}
{\@ocgp@newocg{\unexpanded\expandafter{#2}}}
{}{}
\makeatother`
(la prima riga è solo per vedere dove). L’incantesimo funziona solo se togli di mezzo il file .aux creato precedentemente. Basta la prima volta, è l’equivalente di un rito propiziatorio. 🙂

Ciao
Enrico

Go to top