- Questo topic ha 8 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 11 anni fa da
Enrico Maria.
-
CreatoreTopic
-
2 Agosto 2015 alle 10:24 #102688::
Premetto che ho già risolto il problema in altro modo, ricorrendo a tikz. Tutto sommato non è un gran problema, finché non devo creare altri simboli, però comunque mi interesserebbe la risposta al quesito più generale che scrivo in fondo generaleVorrei creare un cerchietto che abbia la stessa dimensione di $\times$, dato che $\circ$ è troppo piccolo e $\bigcirc$ troppo grande (non so se $\ocircle$ andrebbe bene, ma con il pacchetto wasysym ho problemi che non capisco – dei warning a proposito di forme non definite, mi pare – ). Con “della stessa dimensione” intendo due possibilità:
- lunghezza(diametro) = lunghezza(tratto di \times)
- lunghezza(diametro) = larghezza(\times)
Poi deciderei quale mi piace di più, perché i risultato che voglio è che x-symbol e o-symbol siano in armonia in quanto a dimensioni e posizionamento dei due simboli.
Insomma, vorrei capire come modificare o “estrarre” le dimensioni di un simbolo matematico o non matematico (ad es. so che la larghezza della M è \quad, che tra l’altro non saprei come usare come unità di misura! per modificare un altro simbolo). Diciamo che in generale voglio ingrandire un \times fino a dargli una larghezza pari a \quad, oppure rimpicciolire una M del testo fino alla larghezza di \bullet. Queste due spiegazioni dovrebbero permettermi di fare ciò che voglio.
-
CreatoreTopic
-
AutoreRisposte
-
-
2 Agosto 2015 alle 13:52 #102689::
Be’, ci sono comandi come \settoheight e \settowidth che permettono di salvare in un registro di tipo length l’altezza o la larghezza di un carattere o di una stringa di caratteri o di una scatola, o di uel che si vuole. poi ci sarebbe il comando \fontsize al quale, se si usano font vettoriali, si può specificare la misura conservata nel registro di tippo length. ci sono poi i comandi \scalebox e \resizebox che mettono l’argomento che si passa loro in una scatola e poi lo scalano come specificato con gli altri argomenti dei due comandi.
Poi c’è il fatto che non si possono usare quei comandi mentre si è in modo matematico, specialmente \fontsize, ma anche per gli altri due bisogna comunque rimettersi in modo matematico dopo aver scalato il font o per scalare la scatola. Bisogna eventualmente usare il comndo \mathchoice…Per i fattori di scala poi o vai per tentativi oppure usi le espressioni dimensionali e alcuni comandi del nucleo di LaTeX per far determinare il fattore di scala direttamente al motore di composizione.
Insomma è un vero pasticcio se vuoi coinvolgere la matematica; si può fare ma bisogna creare macro che comportano molte righe di codice molto delicato.
Sorge una domanda: perché vuoi cambiare dimensione a \circ o a \bigcirc; di solito non è una buona idea; i font matematici sono molto delicati e sono stati disegnati con grande cura da matematici espertissimi; se non hanno disegnato un cerchio delle dimensioni che vorresti, credo che ci si un buon motivo. Non so quale, ma credo che sia una pessima idea di voler creare un simbolo matematico che potrebbe essere confuso con altri perché non ha le dimensioni giuste.
Hai preso in considerazione anche le due polizze msa e msb della American Mathematical Society; forniscono altri circa 300 glifi in più rispetto a quelli normali della composizione matematica di LaTeX standard. vi accedi con il pacchetto amssymb; se vuoi avere l’elenco completo dei simboli di queste due polizze, si trovano nella guida GuIT, scaricabile dalla sezione Documentazione di questo sito; ovviamente sono elencati anche nel file che probabilmente hai consultato per rivolgerti a wasysym.
-
2 Agosto 2015 alle 21:16 #102690::
Mi sembra che si stia parlando di uno dei problemi ai quali è espressamente rivolto il pacchetto scalerel. Si tratta di un pacchetto che sostanzialmente utilizza le tecniche di base già menzionate da OldClaudio per fornire dei comandi di facile utilizzo, pensati per il modo matematico, che fanno proprio quel che qui si chiede, e altro ancora. Esso è basato sul pacchetto graphicx e non richiede tutta la – invero assai ingente – potenza di TikZ. Come sempre, se ne può visualizzare il manuale scrivendo`texdoc scalerel`al prompt del terminale.Mi permetto anche di citare questa risposta apparsa su TeX.SX, che mi sembra in qualche modo correlata e molto istruttiva; non per nulla ne è autore uno dei massimi esperti mondiali di TeX e argomenti collegati. Si noti la semplicità dei mezzi impiegati: la soluzione è basata soltanto sull’uso dell’ambiente [tt]picture[/tt], ovviamente nella versione “due epsilon” messa a disposizione dal pacchetto pict2e – niente TikZ. 😛
Aggiunta: Dimenticavo di ribadire il solito ammonimento: ascolta quel che ti dice OldClaudio, che di esperienza con la composizione tipografica (anche) della matematica ne ha davvero tanta, e pensa bene se hai veramente bisogno di alterare le proporzioni dei caratteri.
Ciao.
—
Gustavo
-
3 Agosto 2015 alle 5:11 #102691::
No, infatti ho risolto senza toccare nulla, ho creato un cerchietto con tikz (inizialmente con un \times dentro per confronto) e ne ho cambiata la dimensione fino a che mi è piaciuta. Cioè, allo stato attuale, ho un file mycirc.tikz dal contenuto`\tikz \draw (0,0) circle (2.8pt);`
Che richiamo nel testo con \includegraphics per avere la scritta o-symbol che si sposi bene con quella x-symbol.
Naturalmente, dato che ho una figura più grande, scalata per fatti suoi, con molti di questi due simboli, in essa uso lo stesso comando, ma con raggio diverso`\begin{tikzpicture}
…
\draw (0,0) circle (10pt);
…
\end{tikzpicture}`perché draw scala con l’immagine, mentre \times no.. E quyesto significa che se decido di cambiare la width della figura, devo mettermi a cambiare (trial and error) la dimensione dei cerchietti affinche vengano come quelli nel testo.
So che sto facendo una gran porcata, il che mi ha condotto a porre la domanda, ma sono poco esperto per fare di meglio.E pensare che alla fine volevo solo un cerchietto con le stesse baseline e dimensione di \times ! 😥
L’immagine che produco, per ora, è questa
[attachment=1375]matCdetail.pdf[/attachment]
e mi va bene. Semplicemente, come ho scritto, richiamo quel simbolo anche nel testo, il che mi impone di matchare le dimensioni a occhio.
Attachments:
You must be logged in to view attached files. -
3 Agosto 2015 alle 5:30 #102692::
Aster1989″ post=102592No, infatti ho risolto senza toccare nulla, ho creato un cerchietto con tikz (inizialmente con un \times dentro per confronto) e ne ho cambiata la dimensione fino a che mi è piaciuta. Cioè, allo stato attuale, ho un file mycirc.tikz dal contenuto
`\tikz \draw (0,0) circle (2.8pt);`
Che richiamo nel testo con \includegraphics per avere la scritta o-symbol che si sposi bene con quella x-symbol.
Naturalmente, dato che ho una figura più grande, scalata per fatti suoi, con molti di questi due simboli, in essa uso lo stesso comando, ma con raggio diverso`\begin{tikzpicture}
…
\draw (0,0) circle (10pt);
…
\end{tikzpicture}`perché draw scala con l’immagine, mentre \times no.. E quyesto significa che se decido di cambiare la width della figura, devo mettermi a cambiare (trial and error) la dimensione dei cerchietti affinche vengano come quelli nel testo.
So che sto facendo una gran porcata, il che mi ha condotto a porre la domanda, ma sono poco esperto per fare di meglio.E pensare che alla fine volevo solo un cerchietto con le stesse baseline e dimensione di \times ! 😥
Io non farei così. Ti è stato spiegato come fare per non usare TikZ. Se invece lo vuoi usare, quella soluzione non ha assolutamente senso.
Non si vede l’intero codice, ma suppongo che tu abbia introdotto il simbolo times con un nodo. A quel punto se vuoi scalare la figura e usi soltanto l’opzione scale non ottieni nulla perché quell’opzione agisce sulle coordinate del disegno (per farla breve qualsiasi cosa introduci con draw e simili) e non sui nodi. Per scalare anche i nodi devi aggiungere l’opzione [tt]transform shape[/tt].
Se hai quel codice a parte e lo includi come pdf nel tuo documento tramite includegraphics, credo tu ti dia la zappa sui piedi. Ci sono diversi metodi migliori: il primo attraverso i pics, il secondo con il vecchio [tt]append after command[/tt]. Per esempio: `\documentclass[varwidth,border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,calc,positioning}
\begin{document}%http://tex.stackexchange.com/a/75838/13304:
\tikzset{XOR/.style={draw,circle,append after command={
[shorten >=\pgflinewidth, shorten <=\pgflinewidth,] (\tikzlastnode.north) edge (\tikzlastnode.south) (\tikzlastnode.east) edge (\tikzlastnode.west) }, } } \tikzset{line/.style={draw, -latex',shorten <=1bp,shorten >=1bp}}% http://tex.stackexchange.com/a/59660/13304:
\newcommand{\myxor}[1][1.2]{\tikz[baseline=-\the\dimexpr\fontdimen22\textfont2\relax]\node[XOR,scale=#1]{};}\begin{tikzpicture}[auto]
\node (XOR-aa)[XOR,scale=2] {};
\node [above of=XOR-aa,node distance=1.5cm,text width=1.5cm,anchor=south,align=center] (bla) {Bla};
\node
(Blob) {Blob};
\node
(blubb) {Blubb};
\path[line] (XOR-aa) edge (Blob)
(bla) edge (XOR-aa)
(blubb) edge (XOR-aa);
\end{tikzpicture}$y \myxor[.7] y$
$y \myxor[1] y$
$y \myxor[1.3] y$
$y \myxor[2] y$
\end{document}`Per avere il simbolo times basta cambiare la definizione del simbolo XOR aggiornando le coordinate.
Ciao
Claudio
-
3 Agosto 2015 alle 7:01 #102693::
cfiandra” post=102593Ti è stato spiegato come fare per non usare TikZ.
Ci ho provato, ma in quella risposta indicatami non ci ho capito molto, risultandomi i comandi (non so nemmeno se sono comandi o che altro, pensa) totalmente sconosciuti. Penso che dovrei spenderci molto tempo per cavarne qualcosa.
Non si vede l’intero codice, ma suppongo che tu abbia introdotto il simbolo times con un nodo.
E questa è l’unica cosa buona che mi riesce, perché così il \times non scala con l’immagine che introduco.
Forse posso spiegare meglio la situazione. L’immagine che voglio è quella che ho aggiunto al mio commento precedente ed è introdotta nel testo così:
`
\begin{figure}
\centering
\tikznextfilename{pattern}
\includegraphics[width=.5\textwidth]{pattern.tikz}
\caption{Here $\times$-symbols mean bla bla bla, whereas \tikznextfilename{mycirc}\includegraphics{mycirc.tikz}\,-symbols mean bla bla bla.\label{fig:pattern}}
\end{figure}
`Il file pattern.tikz è tipo il seguente
`
\begin{tikzpicture}
\node at (x,y) {$\times$};
\draw (xx,yy) circle (10pt);
…
\end{tikzpicture}
`
Come dicevi i \times sono introdotti con \node (e questo è bene) e i tondini con \draw (e questo è male) specificando il raggio (10pt).Nella didascalia, e magari anche nel testo, richiamo i due simboli: per il \times non ci sono problemi, per l’altro sì. Naturalmente ho dovuto creare anche un file mycirc.tikz contenente semplicemente
`
\tikz \draw (0,0) circle (2.8pt);
`
dove stavolta il raggio è diverso.Se adesso decido di cambiare la dimensione della figura nel testo poassando da [width=.5\textwidth] a [width=.8\textwidth], allora i \times restano coerenti col testo (che è quello che voglio, mentre i pallini si ingrandiscono, e allora devo risettare il raggio nel file pattern.tikz.
Non credo proprio che cambierò la dimensione della figura, quindi non è che mi importi molto. Ma per un utilità futura..
-
4 Agosto 2015 alle 7:11 #102694::
Se ho ben capito cosa vuoi ottenere, dovrebbe essere sufficiente disegnare il cerchio direttamente come bordo del nodo.
`
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=2]
\node[draw, circle,minimum size=10pt]{$\times$}
\end{tikzpicture}\begin{tikzpicture}[scale=.5]
\node[draw, circle,minimum size=10pt]{$\times$}
\end{tikzpicture}\begin{tikzpicture}[scale=.5]
\node[draw, circle,minimum size=10pt]{$\times$}
\end{tikzpicture}
\end{document}
`
-
5 Agosto 2015 alle 12:36 #102695::
skevin93″ post=102607Se ho ben capito cosa vuoi ottenere, dovrebbe essere sufficiente disegnare il cerchio direttamente come bordo del nodo.
`
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=2]
\node[draw, circle,minimum size=10pt]{$\times$}
\end{tikzpicture}\begin{tikzpicture}[scale=.5]
\node[draw, circle,minimum size=10pt]{$\times$}
\end{tikzpicture}\begin{tikzpicture}[scale=.5]
\node[draw, circle,minimum size=10pt]{$\times$}
\end{tikzpicture}
\end{document}
`Così mi escono tre cerchi “grandi” con dentro un \times ciascuno (piccolo).Tutti e 3 uguali, tra l’altro.
Ma comunque non mi serve un times nel cerchio, quando l’ho scritto ho specificato che lo facevo solo per confronto al fine di dire “ok, va bene questa dimensione”. E’ per questo che ho allegato, al mio secondo commento, anche un immagine con ciò che ottengo (con le porc**e che uso) e che vorrei ottenere (in maniera clean).
-
18 Agosto 2015 alle 6:49 #102696::
Salve,
riscrivo in questo post solo per dire che stupidamente non pensavo alla soluzione più ovvia e meno invasiva possibile. Ripeto che il motivo del mio post è, in sostanza, che $\circ$ mi appare troppo piccolo rispetto a $\times$ (credo perché sia vuoto, dato che \bullet pur avendo la stessa esatta dimensione, mi sembra più grande). Ebbene ho risolto semplicemente così:
`{\Large $\circ$}`
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.