- Questo topic ha 16 risposte, 6 partecipanti ed è stato aggiornato l'ultima volta 12 anni, 10 mesi fa da
Paolo Mascetti.
-
CreatoreTopic
-
1 Novembre 2013 alle 18:08 #90081::
Spero che sia questo il posto giusto per chiedere la soluzione al mio problema.Ho la necessità di inserire una scritta in una corona circolare ma non sono riuscito a trovare le informazioni relative.
Ho cercato nella documentazione di Tikz ma non ho trovato nulla: qualcuno mi può indicare dove sono le informazioni?
Grazie e saluti.
PM
-
CreatoreTopic
-
AutoreRisposte
-
-
1 Novembre 2013 alle 19:11 #90082::
Le soluzioni suggerite qui http://tex.stackexchange.com/questions/103892/how-to-fine-tune-rotation-of-text-along-circular-path aiutano?
-
3 Novembre 2013 alle 5:52 #90083
-
4 Novembre 2013 alle 7:13 #90084::
Con il codice che riporto sotto ho ottenuto ciò che volevo ma ho due problemi:
– non riesco a collocare il disegno nella posizione voluta anche se modifico le coordinate (l’unico comando al quale la figura è sensibile è quello della centratura);
– l’unico modo per visualizzare i caratteri ebraici è quello indicato ma li scrive al contrario.
La pagine in cui devo inserire questa figura ne contiene anche altre realizzate con tikz che gestisco senza problemi quindi penso che abbia fatto un errore di architettura e non di codice.
Spero che ci sia qualcuno che mi possa dare un suggerimento. Grazie e saluti
PM\begin{figure} %% PRIMO %%
\begin{centering}
\begin{tikzpicture}
\draw (0,0) circle (25pt);
\draw (0,0) circle (40pt);
\newfontfamily\hebrewfont[Scale=1.5,Script=Hebrew]{Adobe Hebrew}
\path
[
postaction={
decorate,
decoration={
raise=-7pt,
text along path,
text align/fit to path stretching spaces=false,
reverse path=true,
text align/align=right,
text align/left indent={40pt},
text align/right indent={45pt},
text={|\hebrewfont | א ב ג ד }
}
}
] (0,0) circle (36pt);
\newfontfamily\hebrewfont[Scale=.8,Script=Hebrew]{Adobe Hebrew}
\path
[
postaction={
decorate,
decoration={
raise=-7pt,
text along path,
text align/fit to path stretching spaces=false,
reverse path=true,
text align/align=right,
text align/left indent={0pt},
text align/right indent={0pt},
text={|\hebrewfont | ה ו ז ח ט י}
}
}
] (0,0) circle (22pt);
\end{tikzpicture}
\end{centering}
\end{figure}
-
4 Novembre 2013 alle 8:56 #90085::
piemme” post=89614Con il codice che riporto sotto ho ottenuto ciò che volevo ma ho due problemi:
– non riesco a collocare il disegno nella posizione voluta anche se modifico le coordinate (l’unico comando al quale la figura è sensibile è quello della centratura);
– l’unico modo per visualizzare i caratteri ebraici è quello indicato ma li scrive al contrario.
La pagine in cui devo inserire questa figura ne contiene anche altre realizzate con tikz che gestisco senza problemi quindi penso che abbia fatto un errore di architettura e non di codice.
Spero che ci sia qualcuno che mi possa dare un suggerimento. Grazie e saluti
PM\begin{figure} %% PRIMO %%
\begin{centering}
\begin{tikzpicture}
\draw (0,0) circle (25pt);
\draw (0,0) circle (40pt);
\newfontfamily\hebrewfont[Scale=1.5,Script=Hebrew]{Adobe Hebrew}
\path
[
postaction={
decorate,
decoration={
raise=-7pt,
text along path,
text align/fit to path stretching spaces=false,
reverse path=true,
text align/align=right,
text align/left indent={40pt},
text align/right indent={45pt},
text={|\hebrewfont | א ב ג ד }
}
}
] (0,0) circle (36pt);
\newfontfamily\hebrewfont[Scale=.8,Script=Hebrew]{Adobe Hebrew}
\path
[
postaction={
decorate,
decoration={
raise=-7pt,
text along path,
text align/fit to path stretching spaces=false,
reverse path=true,
text align/align=right,
text align/left indent={0pt},
text align/right indent={0pt},
text={|\hebrewfont | ה ו ז ח ט י}
}
}
] (0,0) circle (22pt);
\end{tikzpicture}
\end{centering}
\end{figure}Puoi completare il codice con ilo preambolo e con l’informazioni di quale motore di composizione usi?
XeLaTeX?
Insomma, servirebbe un esempio minimo compilabile.
Prova anche a togliere “reverse path = true”.
Aggiungo che all’interno dell’ambiente figure o table, per centrare l’oggetto basta dare il \centering che non inserisce spazi verticali come fa l’ambiente center.R.
Ps. metti il codice tra tag code grazie.
-
4 Novembre 2013 alle 9:22 #90086::
piemme” post=89614
La pagine in cui devo inserire questa figura ne contiene anche altre realizzate con tikz che gestisco senza problemi quindi penso che abbia fatto un errore di architettura e non di codice.Mi spieghi cosa intendi con errore di architettura e non di codice?
piemme” post=89614Con il codice che riporto sotto ho ottenuto ciò che volevo ma ho due problemi:
– non riesco a collocare il disegno nella posizione voluta anche se modifico le coordinate (l’unico comando al quale la figura è sensibile è quello della centratura);Beh, scusa, ma se il tuo obbiettivo è di realizzare delle corone circolari con lo stesso punto centrale mi sembra abbastanza ovvio che cambiando il punto centrale non succeda nulla. Questo perché TikZ si ricalcola la bounding box: due disegni identici che differiscano per uno shift (orizzontale o verticale o entrambi) avranno due bounding box con dimensioni identiche.
piemme” post=89614
– l’unico modo per visualizzare i caratteri ebraici è quello indicato ma li scrive al contrario.Probabilmente il consiglio di Roberto dovrebbe aiutare. Purtroppo non dispongo del font che hai usato tu perciò non posso provare il codice.
Ciao
Claudio\begin{figure} %% PRIMO %%
\begin{centering}
\begin{tikzpicture}
\draw (0,0) circle (25pt);
\draw (0,0) circle (40pt);
\newfontfamily\hebrewfont[Scale=1.5,Script=Hebrew]{Adobe Hebrew}
\path
[
postaction={
decorate,
decoration={
raise=-7pt,
text along path,
text align/fit to path stretching spaces=false,
reverse path=true,
text align/align=right,
text align/left indent={40pt},
text align/right indent={45pt},
text={|\hebrewfont | א ב ג ד }
}
}
] (0,0) circle (36pt);
\newfontfamily\hebrewfont[Scale=.8,Script=Hebrew]{Adobe Hebrew}
\path
[
postaction={
decorate,
decoration={
raise=-7pt,
text along path,
text align/fit to path stretching spaces=false,
reverse path=true,
text align/align=right,
text align/left indent={0pt},
text align/right indent={0pt},
text={|\hebrewfont | ה ו ז ח ט י}
}
}
] (0,0) circle (22pt);
\end{tikzpicture}
\end{centering}
\end{figure}[/quote]
-
4 Novembre 2013 alle 11:45 #90087::
% !TEX encoding = UTF-8
% !TEX TS-program = xelatex\documentclass[10pt,a4paper,twoside,titlepage,openright]{memoir}
\usepackage{geometry}
\usepackage{tikz, pgf}
\usetikzlibrary {shapes}
\usetikzlibrary{decorations.text}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{rotating}
\usepackage{marginnote}
\usepackage{enumitem}
\usepackage{xltxtra}
\usepackage{url}
\usepackage{polyglossia}
\usepackage{booktabs}
\usepackage[italian]{varioref}
\usepackage{xcolor}
\usepackage[retainmissing]{MnSymbol}
\usepackage{titling}
\usepackage{longtable}
\usepackage{url}
\usepackage{epigraph}
\usepackage{bidi}
\usepackage{pifont}
\usepackage{stmaryrd}
\usepackage{bbding}
\usepackage{wasysym}
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\setdefaultlanguage{italian}
\setotherlanguage{hebrew}
\setotherlanguage{greek}
\setmainfont[Ligatures=TeX,Numbers=OldStyle,Scale=.85]{TeX Gyre Bonum}
%\newfontfamily\hebrewfont[Scale=1.8,Script=Hebrew]{Adobe Hebrew}
%\newfontfamily\hebrewfont[Scale=1.8,Script=Hebrew]{SBL Hebrew}
\newfontfamily\hebrewfont[Scale=1.8,Script=Hebrew]{New Peninim MT}
\renewcommand{\baselinestretch}{1}
\date{}
\let\oldmarginpar\marginpar \renewcommand\marginpar[1] {\-\oldmarginpar[\footnotesize\ \textrm{#1} ] {\footnotesize \textrm{#1}}}
\pagestyle{empty}
\begin{document}\begin{figure} %% PRIMO %%
\begin{centering}
\begin{tikzpicture}
\draw (0,0) circle (25pt);
\draw (0,0) circle (40pt);
\newfontfamily\hebrewfont[Scale=1.5,Script=Hebrew]{New Peninim MT}
\path
[
postaction={
decorate,
decoration={
raise=-7pt,
text along path,
text align/fit to path stretching spaces=false,
reverse path=true,
text align/align=right,
text align/left indent={40pt},
text align/right indent={45pt},
text={|\hebrewfont | ר ת כ }
}
}
] (0,0) circle (36pt);
\newfontfamily\hebrewfont[Scale=.8,Script=Hebrew]{New Peninim MT}
\path
[
postaction={
decorate,
decoration={
raise=-7pt,
text along path,
text align/fit to path stretching spaces=false,
reverse path=true,
text align/align=right,
text align/left indent={0pt},
text align/right indent={0pt},
text={|\hebrewfont | ו כ ו ת ב~~~ק י ת ע ד~~~ד ס ח }
}
}
] (0,0) circle (22pt);
\end{tikzpicture}
\end{centering}
\end{figure}\begin{figure} %% SECONDO %%
%\begin{centering}
\begin{tikzpicture}
\draw (0mm,0mm) circle (25pt);
\draw (0mm,0mm) circle (40pt);
\newfontfamily\hebrewfont[Scale=1.5,Script=Hebrew]{New Peninim MT}
\path
[
postaction={
decorate,
decoration={
raise=-7pt,
text along path,
text align/fit to path stretching spaces=false,
reverse path=true,
text align/align=right,
text align/left indent={40pt},
text align/right indent={38pt},
text={|\hebrewfont | ה מ כ ח }
}
}
] (0mm,0mm) circle (36pt);
\newfontfamily\hebrewfont[Scale=.8,Script=Hebrew]{New Peninim MT}
\path
[
postaction={
decorate,
decoration={
raise=-7pt,
text along path,
text align/fit to path stretching spaces=false,
reverse path=true,
text align/align=right,
text align/left indent={0pt},
text align/right indent={0pt},
text={|\hebrewfont | ו כ ו ת ב~~~ק י ת ע ד~~~ד ס ח }
}
}
] (0mm,0mm) circle (22pt);
\end{tikzpicture}
%\end{centering}
\end{figure}\end{document}
Questo è il codice per ottenere due delle varie corone circolari che mi servono e che dovrei posizionare in punti precisi della pagina. Invece, se modifico le quattro coordinate di ogni corona circolare le posizioni non cambiano.
Uso XeLaTex in ambiente OS X 10.6.8
Per errore di architettura intendo l’utilizzo improprio di pacchetti tra loro incompatibili o usati in modo inadeguato.
Se elimino reverse path non ottengo ciò che mi serve.
Per i caratteri ebraici devo precisare che la prima lettera a sinistra viene posta come prima lettera a destra nel file composto. In tutto il documento la prima lettera a destra viene posta come prima lettera a destra.
In allegato si trova il file compilato.
PM
Attachments:
You must be logged in to view attached files. -
4 Novembre 2013 alle 12:00 #90088::
`% !TEX encoding = UTF-8
% !TEX TS-program = xelatex\documentclass[10pt,a4paper,twoside,titlepage,openright]{memoir}
\usepackage{geometry}
\usepackage{tikz, pgf}
\usetikzlibrary {shapes}
\usetikzlibrary{decorations.text}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{rotating}
\usepackage{marginnote}
\usepackage{enumitem}
\usepackage{xltxtra}
\usepackage{url}
\usepackage{polyglossia}
\usepackage{booktabs}
\usepackage[italian]{varioref}
\usepackage{xcolor}
\usepackage[retainmissing]{MnSymbol}
\usepackage{titling}
\usepackage{longtable}
\usepackage{url}
\usepackage{epigraph}
\usepackage{bidi}
\usepackage{pifont}
\usepackage{stmaryrd}
\usepackage{bbding}
\usepackage{wasysym}
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\setdefaultlanguage{italian}
\setotherlanguage{hebrew}
\setotherlanguage{greek}
\setmainfont[Ligatures=TeX,Numbers=OldStyle,Scale=.85]{TeX Gyre Bonum}
%\newfontfamily\hebrewfont[Scale=1.8,Script=Hebrew]{Adobe Hebrew}
%\newfontfamily\hebrewfont[Scale=1.8,Script=Hebrew]{SBL Hebrew}
\newfontfamily\hebrewfont[Scale=1.8,Script=Hebrew]{New Peninim MT}
\renewcommand{\baselinestretch}{1}
\date{}
\let\oldmarginpar\marginpar \renewcommand\marginpar[1] {\-\oldmarginpar[\footnotesize\ \textrm{#1} ] {\footnotesize \textrm{#1}}}
\pagestyle{empty}
\begin{document}\begin{figure} %% PRIMO %%
\begin{centering}
\begin{tikzpicture}
\draw (0,0) circle (25pt);
\draw (0,0) circle (40pt);
\newfontfamily\hebrewfont[Scale=1.5,Script=Hebrew]{New Peninim MT}
\path
[
postaction={
decorate,
decoration={
raise=-7pt,
text along path,
text align/fit to path stretching spaces=false,
reverse path=true,
text align/align=right,
text align/left indent={40pt},
text align/right indent={45pt},
text={|\hebrewfont | ר ת כ }
}
}
] (0,0) circle (36pt);
\newfontfamily\hebrewfont[Scale=.8,Script=Hebrew]{New Peninim MT}
\path
[
postaction={
decorate,
decoration={
raise=-7pt,
text along path,
text align/fit to path stretching spaces=false,
reverse path=true,
text align/align=right,
text align/left indent={0pt},
text align/right indent={0pt},
text={|\hebrewfont | ו כ ו ת ב~~~ק י ת ע ד~~~ד ס ח }
}
}
] (0,0) circle (22pt);
\end{tikzpicture}
\end{centering}
\end{figure}\begin{figure} %% SECONDO %%
%\begin{centering}
\begin{tikzpicture}
\draw (0mm,0mm) circle (25pt);
\draw (0mm,0mm) circle (40pt);
\newfontfamily\hebrewfont[Scale=1.5,Script=Hebrew]{New Peninim MT}
\path
[
postaction={
decorate,
decoration={
raise=-7pt,
text along path,
text align/fit to path stretching spaces=false,
reverse path=true,
text align/align=right,
text align/left indent={40pt},
text align/right indent={38pt},
text={|\hebrewfont | ה מ כ ח }
}
}
] (0mm,0mm) circle (36pt);
\newfontfamily\hebrewfont[Scale=.8,Script=Hebrew]{New Peninim MT}
\path
[
postaction={
decorate,
decoration={
raise=-7pt,
text along path,
text align/fit to path stretching spaces=false,
reverse path=true,
text align/align=right,
text align/left indent={0pt},
text align/right indent={0pt},
text={|\hebrewfont | ו כ ו ת ב~~~ק י ת ע ד~~~ד ס ח }
}
}
] (0mm,0mm) circle (22pt);
\end{tikzpicture}
%\end{centering}
\end{figure}\end{document}
`– Uso XeLatex con OS X 10.6.8.
– Per errore di architettura intendo un uso improprio di uno o più pacchetti.
– In allegato si trova un file pdf che è il risultato del codice allegato. Vorrei poter collocare le corone circolari in un qualsiasi punto della pagina modificando le quattro coordinate di ciascuna corona circolare.
– Eliminare il reverse path non aiuta. Ho provato a modificare i vari parametri senza successo.
– Se notate i caratteri ebraici sono posti in ordine inverso rispetto a quelli stampati.PM
Attachments:
You must be logged in to view attached files. -
4 Novembre 2013 alle 14:06 #90089::
Non conosco l’ebraico (sebbene un mezzo secolo fa il mio compagno di banco mi avesse insegnato a leggerlo ; non ne capivo una parola, ma lo leggevo quasi correttamente– ma da allora non h fatto più pratica e oggi riesco appena ad accorgermi che si tratta di ebraico), ma mi pare che ci vorrebbe un poco più di ordine nell’invocare pacchetti di vario grnere; in particolare fontspec e polyglossia andrebbero definiti per primi; subito dopo i font per la lingua principale; dopo aver specificato l’ebraico, si può specificare il font per l’ebraico con quel nome; Il pacchetto bidi va caricato epr ultimo. Infine per scrivere in ebraico usando il suo font specifico, bisognerebbe scrivere, per esempio:
`
text={|\begin{hebrew} | ר ת כ\end{hebrew} }
`
L’ambiente hebrew seleziona la lingua e il modo di scrivere sinistrorso e lo specifico font da usare per questa lingua; per lo meno così sembra di capire dalla documentazione di polyglossia. Tenuto conto che l’interprete xetex scandisce il file sorgente da sinistra a destra, non escluderei che per avere i caratteri ebraici nel verso giusto sia necessario scriverli inizialmente da sinistra a destra, nonostante l’uso del pacchetto bidi; Purtroppo i pochi esperimenti che ho fatto in passato per riprodurre del testo ebraico li ho fatti tanto tempo fa e non mi ricordo più che cosa feci; certo mi ricordo che avendo scelto di usare il visualizzatore della tastiera (ebraica nel caso specifico dei miei esperimenti) scoprii che anche i movimenti prodotti dai tasti della tastiera risultavano rovesciati; inizialmente mi trorvai molto a disagio con il tasto per cancellare che mi cancellava a destra del cursore, invece che a sinistra,
-
4 Novembre 2013 alle 14:31 #90090
-
4 Novembre 2013 alle 14:46 #90091
-
4 Novembre 2013 alle 15:12 #90092
-
4 Novembre 2013 alle 16:25 #90093
-
4 Novembre 2013 alle 16:26 #90094::
piemme” post=89627Vorrei poter collocare le corone circolari in un qualsiasi punto della pagina modificando le quattro coordinate di ciascuna corona circolare.
Come ti ha detto l’autorevole @cfiandra, TikZ ritaglia la figura intorno al tuo disegno in modo da contenerlo tutto, senza tenere conto della sua posizione nel sistema di riferimento. Questo vuol dire che dovunque piazzi il cerchio, il bordo della figura sarà sempre un quadrato intorno ad esso e quindi non puoi usare le coordinate per collocare il disegno rispetto alla pagina, semplicemente perché TiKZ non sa niente della pagina, ma conosce solo i suoi disegni, a meno che tu non indichi a TikZ la dimensione della pagina che vorresti fosse riservata alla figura, cioè imposti manualmente il [tt]bounding box[/tt]. Per esempio, se il tuo problema è di pilotare la posizione solo in orizzontale, puoi aggiungere al codice qualcosa tipo:
`\path (-0.5\textwidth,0) — (0.5\textwidth,0);`
In questo modo l’origine si troverà sull’asse verticale della gabbia del testo e potrai spostare orizzontalmente i cerchi utilizzando le coordinate.Ciao
-
5 Novembre 2013 alle 7:32 #90095::
Innanzitutto, ho modificato la tua domanda su TeX.SX: com’era scritta all’inizio non andava bene.Dunque, il problema di fondo che vedo è che è estremamente difficile darti una mano senza poter provare il codice. @OldClaudio ti ha spiegato come funziona l’ebraico; io posso dirti che il meccanismo con cui TikZ tratta il testo nelle decorazioni è molto particolare. Quando to inserisci `
text={testo}
` TikZ processa ogni singola lettera di “testo”. Attraverso i delimitatori | | puoi inserire comandi per cambiare l’aspetto del testo, ma non credo si possa un ambiente per quanto detto prima. Però, secondo me, la prima cosa da fare (e solo tu puoi farla) è prendere il codice di Mark della risposta suggerita da Elrond e sostituire la sua famiglia di font con la tua. Giusto per verificare se anche in quel caso si ottiene lo stesso comportamento.piemme” post=89627Vorrei poter collocare le corone circolari in un qualsiasi punto della pagina modificando le quattro coordinate di ciascuna corona circolare.
Non funziona così. Il motivo l’ho spiegato ieri e @Liverpool lo ha ribadito. Almeno, non puoi collocare le corone circolari modificando le quattro coordinate di ciascuna corona circolare perché quello su cui tu agisci sono i raggi delle corone circolari: `
\draw (0,0) circle (25pt);
disegna[in nero] nel centro di coordinate 0,0 un cerchio di raggio 25pt
\draw (0,0) circle (40pt);
disegna[in nero] nel centro di coordinate 0,0 un cerchio di raggio 40pt
` Per inserire una figura in qualsiasi punto della pagina hai diverse possibilità:
1. usare l’opzione [tt]overlay[/tt] all’ambiente tikzpicture (cerca sul manuale come si deve fare)
2. usare pacchetti appositi: [tt]backgrounds[/tt] o tutta la famiglia dei watermarks
3. farlo in modo manuale, definendo appositi comandi.L’argomento ha una certa correlazione con quanto trattato nel concorso su come inserire le filigrane.
Ciao
Claudio
-
5 Novembre 2013 alle 7:59 #90096::
In realtà non capisco bene il fatto di voler spostare due figure dentro lo stesso ambente per metterle in punti diversi della pagina.Basta fare due ambienti distinti tikspicture, ognuno contente una sola corona circolare, e collocare ciascuna figura per suo conto dove si vuole.
Si pososno usare anche due file pdf, ottenuti ciascuno con il suo disegno di corona circolate marcata in ebraico, e composti con la classe standalone (che produce, per ciascuno dei due file, un file pdf contenente solo una corona circolare, perfettamente scontornata) in modo che con dei distinti \includegraphics si possono collocare i due disegni dove si vuole.
Per esempio, nell’ultima versione del pacchetto di toptesi ho creato una semplice macro che prende un numero “arbitrario” di loghi di università e li colloca equi distanziati in una riga larga quanto la giustezza del frontespizio; un solo logo, va al centro, due loghi vanno al centro ma distanziati fra di loro da uno spazio configurabile, tre loghi risultano spaziati con lo spazio configurabile e il tutto posto al centro; e così via; se la striscia di loghi eccede la giustezza della pagina, l’intera striscia viene scalata in modo da riportarla dentro la giustezza.
Come vedi la questione non è quella di inserire i loghi o le corone circolari dove si vuole; la questione è di NON farlo dentro una sola figura/ambiente TiKZ.
-
5 Novembre 2013 alle 18:14 #90097
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.