[RISOLTO] Problema: font non uguali tra grafico in TikZ e corpo del testo

  • Creatore
    Topic
  • #119046
    Andrea
    Partecipante
      Up
      0
      Down
      ::


      Buonasera, volevo chiedervi se c’è un modo per uniformare l’aspetto dei font dato che nel testo mi compare in un modo (vd.“Nel testo.png”) mentre sul grafico mi compare in un altro (vd.“Sul grafico.png”).

      Vi riporto il codice:

      `%** Main.tex**

      \documentclass{article}
      \usepackage[italian]{babel}
      \usepackage{amsmath,amssymb,amsthm}
      \usepackage{bm}
      \usepackage{mathrsfs}
      \usepackage{bbm}
      \usepackage{hyperref}
      \usepackage{graphicx}
      \usepackage{xcolor}
      \usepackage{pgfplots}
      \usepackage{standalone}
      \usepackage{tikz}
      \usetikzlibrary{arrows.meta,spy,positioning,patterns}
      \usepackage{anyfontsize}

      \begin{document}

      Si consideri il vettore $\bm{\hat{x}}$ della seguente figura

      \begin{figure}[h!]
      \begin{tikzpicture}[spy using outlines={circle, magnification=8, size=5.75cm, connect spies}]

      \draw [line width=.005pt,-{Latex[width=.25pt, length=.55pt]}] (9.83,6.67) — ++(.22,.015)
      node[pos=0.7,inner
      sep=.25pt,above]{\fontsize{.75}{20}\selectfont{$\bm{\hat{x}}$}}; %X

      \spy [red] on (10.095,6.725) in node at (15,2.7);

      \end{tikzpicture}
      \caption{Il vettore $\bm{\hat{x}}$.}%of the \emph{dual superconductivity} model.}
      \label{fig:vectx}
      \end{figure}

      \end{document}
      `

      Grazie anticipatamente.

      Attachments:
      You must be logged in to view attached files.
    Visualizzazione 18 filoni di risposte
    • Autore
      Risposte
      • #119047
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Effettivamente sono diversi per minimi dettagli, ma sono diversi; Non ho idea di quali font TikZ usi er la sua matematica, tuttavia impostando come font i LatinModern e il corpo dell’etichetta TikZ al valore 1.3, a me vengon identici di forma e di corpo.`\documentclass{article}
          \usepackage[italian]{babel}
          \usepackage{lmodern}
          \usepackage{amsmath,amssymb,amsthm}
          \usepackage{bm}
          \usepackage{mathrsfs}
          \usepackage{bbm}
          \usepackage{hyperref}
          \usepackage{graphicx}
          \usepackage{xcolor}
          \usepackage{pgfplots}
          % \usepackage{standalone}% <--- ?? in questo esempio non serve! \usepackage{tikz} \usetikzlibrary{arrows.meta,spy,positioning,patterns} \usepackage{anyfontsize} \begin{document} Si consideri il vettore $\bm{\hat{x}}$ della seguente figura \begin{figure} \begin{tikzpicture}[spy using outlines={circle, magnification=8, size=5.75cm, connect spies}] \draw [line width=.005pt,-{Latex[width=.25pt, length=.55pt]}] (9.83,6.67) -- ++(.22,.015) node[pos=0.7,inner sep=.25pt,above]{\fontsize{1.3}{20}\selectfont$\bm{\hat{x}}$ }; %X \spy [red] on (10.095,6.725) in node at (15,2.7); \end{tikzpicture} \caption{Il vettore $\bm{\hat{x}}$.}%of the \emph{dual superconductivity} model.} \label{fig:vectx} \end{figure} \end{document}`Non è la mancanza delle graffe dopo \selectfont che fa la differenza; quelle graffe non hanno nessuna influenza perché \selectfont non è un comando, ma una dichiarazione; Neanche il coefficiente di posizione della figura [tt][h!][/tt] ha nessun senso, perché h da solo non va usato MAI da solo, altrimenti la figura se non ci sta "proprio lì", resta in coda e blocca la coda.; meno che mai in un esempio minimo compilabile dove non c'è testo che porti via spazio alla figura. Sei sicuro che il pacchetto standalone sia usato in modo sensato? Certamente non lo è in questo piccolo esempio. Infine, scusa se insisto con questi dettagli; il circonflesso sopra un vettore, secondo le norme ISO per la fisica e la tecnologia,indica il valore massimo di un fasore, cioè di una rappresentazione con numeri complessi di una grandezza elettrica sinusoidale; era quello che volevi indicare? Dalla didascalia sembra che la figura abbia a che vedere con un fenomeno fisico che ha poco a che vedere con il regime sinusoidale, ma, con la figura fuori del suo contesto, questa mia osservazione potrebbe essere fuori tema.
          Se hai bisogno di schiarirti le idee sulle norme ISO, usa il tuo browser per cercare la penultima versione (non ho il link sottomano) che puoi scaricare liberamente ,mentre l’ultima versione costa un sacco di quattrini.

        • #119048
          Andrea
          Partecipante
            Up
            0
            Down
            ::


            Grazie per la risposta e per le precisazioni. In effetti non ho molta consapevolezza sull’uso del linguaggio LaTex. Sono più un “ pratico nocchiero senza scienza” citando la sua frase di Leonardo 🙂 .
            Tuttavia per [font=courier][h!][/font] sapevo cosa volesse dire (o almeno credo :?). Ecco perché avevo scritto la “seguente figura” (in effetti sarebbe bastato [font=courier][h][/font]).
            Ammetto però che, per l’esempio minimo in questione, potevo evitarlo. Così come potevo avere maggior cura nel ripulire il file sorgente originario da altre cose superflue tipo il pacchetto standalone e la scritta “[font=courier]of the \emph{dual superconductivity} model[/font]” che non c’entra con [font=courier]\bm{\hat{x}}[/font].
            Ho compilato il codice ma mi rimane lo stesso problema (vd.“Main2p.jpeg”). In allegato anche il “Main2 console”.
            Per quanto riguarda il “circonflesso sopra un vettore”, nel mio caso indica un campo vettoriale su una varietà. Avrei potuto usare la notazione [font=courier]\bm{x}[/font] ma il circonflesso mi serve per indicare la natura operatoriale di [font=courier]\bm{x}[/font]. Questo s’inquadra più in generale in una proposta che sto portando avanti sull’uso di [font=courier]\bm{\hat{x}}[/font] in geometria non-commutativa (vd. arXiv:1804.10677 [hep-th]).

            Grazie ancora della disponibilità.

            P.S.
            Colgo l’occasione per ringraziare Lorenzo Pantieri, non solo per aver condiviso un modello di sorgente LaTeX di un articolo scientifico (il suddetto articolo di arXiv si basa su un suo modello) ma anche per la guida scritta con Tommaso Gordini sull’uso di TikZ.

            Attachments:
            You must be logged in to view attached files.
          • #119049
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::



              @Elzeviro
              , guardando il tuo file .log vedo che stai usandola versione di TeX Live del 2015; L’inizio del mio file .log è invece il seguente:`This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex 2020.11.6) 20 NOV 2020 09:24
              entering extended mode
              restricted \write18 enabled.
              file:line:error style messages enabled.
              %&-line parsing enabled.
              **FontDiversoInTikZ.tex
              (./FontDiversoInTikZ.tex
              LaTeX2e <2020-10-01> patch level 2
              L3 programming layer <2020-10-27> xparse <2020-03-03>
              (/usr/local/texlive/2020/texmf-dist/tex/latex/base/article.cls
              Document Class: article 2020/04/10 v1.4m Standard LaTeX document class
              (/usr/local/texlive/2020/texmf-dist/tex/latex/base/size10.clo
              File: size10.clo 2020/04/10 v1.4m Standard LaTeX file (size option)
              )`Sono passati 5 anni fra la tua e la mia installazione; in questi 5 anni i pacchetti che hai usato sono stati aggiornati almeno 5 volte ciascuno. Ance se siamo a novembre ti suggerisco caldamente di installarti la versione 2020 di TeX Live a di aggiornala subito perché il disco di cui puoi scaricarti da CTAN contiene la “fotografia” del sistema TeX eseguita a fine marzo del 2020; il prossimo aggiornamento di TeX Live avrà luogo verso fine marzo-inizio aprile 2021. Una volta installata la versione del 2020, e poi successivamente quando aggiornrai l’installazione, ricordati di usare l’apposita funzione per eseguire gli aggiornamenti settimanali o ogni 10 giorni; ongi volta ci roverai alcune decine di pacchetti aggiornati e una mezza dozzina di pacchetti nuovi. Non importa se non scriverai nulla in mongolo, ma esegui sempre l’installazione completa.
              Visto che hai letto L’Arte di scrivere con LaTeX (che per la verità Pantieri non aggiorna abbastanza spesso, secondo la mia opinione personale) trovi anche informazioni anche sull’installazione e gli aggiornamenti.
              Per qualcosa di più aggiornato, dopo che avrai installato la 2020 e l’avrai aggiornata, troverai la recentissima guida del 2020 di Una mica tanto breve introduzione a LaTeX; la versione precedente era del 2010 o giù di lì ed era ormai obsoleta. Certo la nuova versioe non è così bella come L’Arte, ma mostra davvero quello che si può fare con il LaTeX di base disponibile oggi. Forse hai notato che nel mio inzio di file .log si indica [tt]L3 programming layer <2020-10-27> xparse <2020-03-03>[/tt]. Il linguaggio L3 (abbreviazione di LaTeX3, menre tutti usiamo ancora LaTeX2e) fa già parte del nucleo di LaTeX e questo implica funzionalità nuove e una minor fragilità dei comandi che vengono usti di solito. Io ne faccio già un uso modesto nei miei pacchetti su CTAN, ma via via ne userò di più. Non sto dicendo che devi studiarti L3; come utente finale qullo che trovi nelle guide come L’Arte, va benissimo. Solo saltuariamente scopri che delle cose che prima non potevi fare o era laboriosissimo fare, ora si possono fare fare.

            • #119050
              Andrea
              Partecipante
                Up
                0
                Down
                ::


                In effetti sono un pò allergico agli aggiornamenti 😐 … non per partito preso, anzi! Ma da quando, aggiornando, mi si rallentava il sistema, software non più utilizzabili (e quindi anch’essi da aggiornare), etc…
                In particolare, con LaTeX, sorgenti non più compilabili e, se pure ancora compilabili, figure con dimensioni differenti, posizionamento del corpo del testo modificato, etc…
                Così a lungo andare mi è passata la voglia di “aggiornare”… A questo si è aggiunto anche il problema della differente codifica dei font tra sorgente ed editor che mi dava seri problemi di compilazione e che, nella mia ignoranza imputavo all’”aggiornamento” quando poi ho capito, informandomi meglio, che in realtà non c’entrava nulla…intanto però diminuiva la mia fiducia nell’”aggiornamento” 😐 . Ecco come mai mi ritrovo ancora ad usare la TeX Live 2015.
                Ad ogni modo, ho aggiornato alla 2020 inclusi gli ulteriori upload ma il problema mi rimane sempre (vd. “Main2 2020.jpeg” e “Main2 console 2020”).

                Grazie ancora per la disponibilità!

                Attachments:
                You must be logged in to view attached files.
              • #119051
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Vedo.
                  Ho ingrandito la mia figure in modo da averla grande come la tua e ho misurato la x con circonflesso sia in altezza (e sonouguali) sia in larghezza (e sono diverse come da te). Il simbolo è più largo nel disegno rispetto a quello che si trova nella didascalia.
                  Dal file .log mio e tuo non riesco a vedere quale diverso font TikZ usi al posto di quello che pdfLaTeX usa nel testo.
                  Entrambe quelle x sono composte in modo matematico. Eppure i font sono diversi. Voglio provare qualche altro test, se non altro per verificare perché \fontsize produca risultati diversi sotto TikZ rispetto a quello che fa normalmente; vorrei verificare, perché l’unica cosa che distingue le due composizioni discenda dall’uso di \fontsize.

                • #119052
                  OldClaudio
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Ho trovato la causa del tip problema: l’oggetto spy di TikZ; in particolare la sua opzione magnification=8, il che giustifica perché defi specificare un fontsize di 1.3; a rigore per comporre a 10pt, si dovrebbe usare 1.25. Ma è un dettaglio insignificante. A riprova la piccola x col circonflesso di corpo 1,3pt dentro il cerchio piccolo che riesci a vedere solo se ingrandisci l’immagine nella schermata di TeXShop al valore 500.

                    Soluzione: non usare spy e disegna cerchi e frecce con i soliti comandi e non usare il pacchetto anyfontsize, che, come dice la sua documentazione, non serve altro che per l’uso dei font CM testuali, non per quelli matematici, ameno che tu non voglia usare il pacchetti libertinus + libertinust2math che sono gli unici font matematici usabili con pdfLaTeX scalabili con continuità.

                    Nel manuale di TikZ il comando \fontsize è usato in modo normale, e funziona in modo normale, ma solo quando non si usamagnification.

                  • #119053
                    Andrea
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Il problema è che l’ingrandimento mi serve per far vedere al contempo la collocazione locale e globale dell’azione di [font=courier]\bm{\hat{x}}[/font] (per comodità di compilazione nel suddetto esempio minimo ho omesso la varietà interessata).
                      In ogni caso, commentando spy e anyfontsize il problema della diversità dei font rimane se ad esempio si pone 5 come fontsize, mentre si risolve da 10 in su (vd. “Main2 5.jpeg” e “Main2 10.jpeg”). E’ come se il rapporto tra base e altezza di un ipotetico rettangolo che contorna il font si alterasse al diminuire del valore del fontsize per cui, grossolanamente parlando, si passa da un rettangolo ad un quadrato.
                      Ho provato anche con libertinus ma il problema mi rimane 😐

                      Grazie ancora ma mi sa che devo accontentarmi di questa diversità… mi sembra proprio un bug di TikZ.

                      Attachments:
                      You must be logged in to view attached files.
                    • #119054
                      OldClaudio
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        Senza il file sorgente l’immagine jpg della schermata mi dice poco o niente, anche perché quell’immagine risulta mal definita e si legge a stento quello che compare nella finestra di editing; in ogni caso è impossibile farci delle prove.

                      • #119055
                        Andrea
                        Partecipante
                          Up
                          0
                          Down
                          ::


                          Purtroppo ho dovuto ridurre le dimensioni dei file jpeg a scapito della loro definizione perché il software del forum non permette di allegare file oltre una certa dimensione.
                          Questo comunque è il codice per “Main2 5.jpeg”

                          `%** Main2.tex**

                          \documentclass{article}
                          \usepackage[italian]{babel}
                          \usepackage{lmodern}
                          \usepackage{amsmath,amssymb,amsthm}
                          \usepackage{bm}
                          \usepackage{mathrsfs}
                          \usepackage{bbm}
                          \usepackage{hyperref}
                          \usepackage{graphicx}
                          \usepackage{xcolor}
                          \usepackage{pgfplots}
                          % \usepackage{standalone}% <--- ?? in questo esempio non serve! \usepackage{tikz} %\usetikzlibrary{arrows.meta,spy,positioning,patterns} \usetikzlibrary{arrows.meta,positioning,patterns} %\usepackage{anyfontsize} \begin{document} Si consideri il vettore $\bm{\hat{x}}$ della seguente figura \begin{figure}[h] \begin{tikzpicture}%[spy using outlines={circle, magnification=8, size=5.75cm, connect spies}] \draw [line width=.005pt,-{Latex[width=.25pt, length=.55pt]}] (9.83,6.67) -- ++(.22,.015) node[pos=0.7,inner sep=.25pt,above]{\fontsize{5}{20}\selectfont$\bm{\hat{x}}$%{\fontsize{1.3}{20}\selectfont$\bm{\hat{x}}$ }; %X %{\fontsize{10}{20}\selectfont$\bm{\hat{x}}$%{\fontsize{1.3}{20}\selectfont$\bm{\hat{x}}$ %}; %X %\spy [red] on (10.095,6.725) in node at (15,2.7); \end{tikzpicture} \caption{Il vettore $\bm{\hat{x}}$.} \label{fig:vectx} \end{figure} \end{document}` Come può vedere il problema rimane pur commentando spy e anyfontsize. Almeno per il valore 5 di fontsize. Mentre, come le dicevo prima, per 10 il problema si risolve.

                        • #119056
                          OldClaudio
                          Partecipante
                            Up
                            0
                            Down
                            ::


                            Vedo che non hai chiare le idee di come funzionano i font. Vediamo se riesco a spiegartelo; altrimenti cerca fra le guide tematiche quella relativa ai font.

                            I font scalabili (e anche quelli a matrici di punti, ma bisogna scalarli preventivamente ed è comunque una cosa che non si fa più da tempo) si dividono in due categorie; quelli forniti in un solo corpo ma scalabili a qualunque dimensione , e quelli con i corpi ottici che sono anche loro scalabili ad ogni dimensione, ma partendo da originali disegnati in modo ottimale per evitare i difetti che hanno i font distribuiti in un solo corpo.

                            Ora se tu componessi con i font newtxfont+newtxmath, per esempio, useresti font testuali e matematici distribuiti in un solo corpo;se tu specifichi il corpo normale a 10pt, il font \tiny ha un corpo di 6py scalando quello da 10pt al 60%; i tratti spessi di ogni carattere diventano meno spessi in accordo con il fattore di scale, ma i tratti sottili potrebbero diventare talmente sottili che non possono essere rappresentati né sollo schermo (che ha una densità di pixel dell’ordine di un centinaio al pollice, quindi di circa 4 pixel al milllimero; se un tratto è piu sottile di un quarto di millimetro soullo schermo non lo si vede) né su una stampante la cui densità di punitnicolorati è decisamante più altadi quella di uno schermo, ma ha un limite lo sesso per disegnare caratteri dai troppo sottili. Al contrario se ingrandisci il font da 10pt al valore \huge, le aste sottili sin ingrandiscono secondo il fattore di scala, come lo fanno i tratti spessi, ma quando vediil font ingrandito sulloschermoo su carta ti sembra un bold tanto è nero.

                            Invece se il font dispone dei corpi ottici ed è scalbile con continuità come iLatin Modern, allora il comando \tiny non cambia la dimensione di del font a 10pt ma quele del font a 5pt; in questo corpo il font è disegnato con tratti sottiliunfilinopiù spessi e coni ratti spessi unpochino più spessi e ognicarattere èun pochino allargato, cosìnon sene perdono i dettagli come succede con i Times. Al contrario se ingrandisci al valore di \huge, non si scala il fonto di 10pt, ma quello da 17pt che è in origine disegnato con tratti sottili proporzionalmente un pochino più sottili di quelli del font a 10pt, e altrettanto i tratti spessi sono disegnati proporzionalmente un pochino meno spessi di di quelli a 10pt. Risultato il font \huge non sembra un carattere nero.

                            Nell’esempio di codice che hai allegato dove compare il font a 10pt deltesto che precede la figura e della didascalia, hi indicato quasi invicisbile la x con circonflesso neri al corpo 5pt; quindi il segno appare correttoma proporzionalmente sembra un filino più largo dello stesso segno che compare nella didascalia.

                            Che cosa fare allora? Sei padronissimo di usare per il tuo testo i font che preferisci; tipograficamente quelli con corpi ottici sono preferibili, ma solo i Latin Modern fra quelli distribuiti con il sistema TeX sono continuamente scalabili;lo sarebbero anche i CM-Super, ma per ottenere questo effetto bisogna usare un altro pacchetto esterno; Altrimenti i font CM e CM-Super hanno i copri ottici ma non sono continuamente scalabili, bensi possono essere scelti solo fra i copi predefniti dalla classe; se tu specificassi [tt]\fontsize{8.5}{10.5}\selectfont[/tt] pdfLATeX userebbe il corpo 8pt o 9pt, a ti segnalerebbe nel file logo che non dispone del cospo 8.5pt e che ha sostituito il tuo font col corpo 8pt con un errore di 0.5pt.

                            Le cosenon migliorano in generale con i font OpenType che puoi usare solo con XeLaTeX o LuaLaTeX, perché quasi tutti i font distribuiti con il sistema TeX, quelli distribuiti con il sistema operativo, e quelli gratuiti o commerciali che hai eventualmente installato sulla tua macchina, sono a un corpo solo e quindi non tollerano rimpicciolimenti o ingrandimenti con fattori di scala troppo diversi dall’unità.

                          • #119057
                            Andrea
                            Partecipante
                              Up
                              0
                              Down
                              ::


                              Grazie per la pazienza, per la spiegazione e ancora una volta per la disponibilità.
                              Ho così capito alcune cose che accadevano quando compilavo e che non mi spiegavo.
                              Ho poi trovato una soluzione che mi soddisfa (avevo anche chiesto alla sezione LateX di Stack Exchange). Proponevano di usare [font=courier]\scalebox[/font] ed in effetti così mi va bene (vd. allegato “Main2 con \scalebox.jpeg”):

                              `%** MainS.tex**
                              \documentclass{article}
                              \usepackage[english]{babel}
                              \usepackage{bm}
                              \usepackage{tikz}
                              \usetikzlibrary{arrows.meta,spy}

                              \begin{document}

                              Let's consider the vector $\bm{\hat{x}}$ of the following figure
                              \begin{figure}[h]
                              \begin{tikzpicture}[spy using outlines={circle, magnification=8, size=5.75cm, connect spies}]

                              \draw [line width=.005pt,-{Latex[width=.25pt, length=.55pt]}] (9.83,6.67) — ++(.22,.015)
                              node[pos=0.7,inner
                              sep=.25pt,above]{\scalebox{0.1}{$\bm{\hat{x}}$}}; %X

                              \spy [red] on (10.095,6.725) in node at (15,2.7);

                              \end{tikzpicture}
                              \caption{The vector $\bm{\hat{x}}$.}
                              \label{fig:vectx}
                              \end{figure}

                              \end{document}`

                              Grazie ancora

                              Attachments:
                              You must be logged in to view attached files.
                            • #119058
                              OldClaudio
                              Partecipante
                                Up
                                0
                                Down
                                ::


                                Sì, così funziona anche se sembra strano di dover prima ridurre una scatola con un fattore di 1/8 per poi ingrandirla di 8 volte.
                                In ogni caso ti viene meglio se, appunto, invece di [tt]\scalebox{0.1}[/tt] usi [tt]\scalebox{0.125}[/tt] proprio perché 0,125=1/8.

                              • #119059
                                Andrea
                                Partecipante
                                  Up
                                  0
                                  Down
                                  ::

                                  OldClaudio” post=119532sembra strano di dover prima ridurre una scatola con un fattore di 1/8 per poi ingrandirla di 8 volte

                                  Come le dicevo, l’alternanza di riduzione ed ingrandimento mi è necessaria per mostrare come l’azione locale di [font=courier]\bm{\hat{x}}[/font] si colloca a livello globale. Con il codice completo è più chiaro
                                  `% * Distribution = TeX Live 2020 *
                                  % !TEX encoding = UTF-8
                                  % !TEX TS-program = LuaLaTeX

                                  % * MainT *
                                  \documentclass{standalone}
                                  \usepackage[T1]{fontenc}
                                  \usepackage[utf8]{inputenc}
                                  \usepackage[margin=0.5in,paper=a4paper]{geometry} %Shrinking margins to 0.5in
                                  \usepackage{bm}
                                  \usepackage[x11names]{xcolor} %Additional colors
                                  \usepackage{tikz}
                                  \usetikzlibrary{arrows.meta,spy,positioning}
                                  \usepackage{pgfplots}

                                  \begin{document}

                                  \begin{tikzpicture}[spy using outlines={circle, magnification=8, size=5.75cm, connect spies}]

                                  % arrow
                                  \draw [line width=.005pt,-{Latex[width=.25pt, length=.55pt]}] (9.83,6.67) — ++(.22,.015)
                                  node[pos=0.7,inner sep=.25pt,above]{\scalebox{0.125}{$\bm{\hat{x}}$}}; %X

                                  \fill [gray] (9.834,6.667) circle (.1925pt); % point

                                  %%%%%%%%%%%%%%%%%%%
                                  %%%%%%%% Torus %%%%%%%
                                  %%%%%%%%%%%%%%%%%%%
                                  \begin{axis}[axis equal,
                                  x axis line style={draw opacity=0},
                                  y axis line style={draw opacity=0},
                                  z axis line style={draw opacity=0},
                                  tick style={draw=none},
                                  xticklabels={,,},
                                  yticklabels={,,},
                                  zticklabels={,,},
                                  view={45}{14},
                                  width=1.1\textwidth]%,
                                  \addplot3
                                  [domain=0:360,y domain=0:360,
                                  variable=\u,variable y=\v,
                                  mesh,
                                  help lines,
                                  opacity=0.1,
                                  samples=80]
                                  ({(20+4.5*cos(u))*cos(v)},
                                  {(20+4.5*cos(u))*sin(v)},
                                  {4.5*sin(u)});
                                  \end{axis}
                                  %%%%%%%%%%%%%%%%%%%%%%%%%%

                                  \spy [red] on (10.095,6.725) in node at (15,2.7); %magnification

                                  \end{tikzpicture}

                                  \end{document}`

                                  OldClaudio” post=119532ti viene meglio se, appunto, invece di \scalebox{0.1} usi \scalebox{0.125} proprio perché 0,125=1/8.

                                  Grazie del suggerimento…da “pratico nocchiero” in effetti non ci avevo fatto caso 🙄

                                  P.S.
                                  Dalla guida Introduzione all’arte della composizione tipografica con LaTEX ho poi trovato anche il comando [font=courier]\resizebox[/font]. Ho così provato anche con [font=courier]\resizebox{.75pt}{.75pt}{$\bm{\hat{x}}$}}[/font] al posto di [font=courier]\scalebox{0.1}{$\bm{\hat{x}}$}[/font] e mi va bene.

                                  P.S.S.
                                  Ho poi visto che [font=courier]\resizebox{.75pt}{.5pt}{$\bm{\hat{x}}$}}[/font] è praticamente molto simile al comando di prima, origine del problema i.e. [font=courier]\fontsize{.75}{20}\selectfont$\bm{\hat{x}}[/font] .

                                • #119060
                                  Andrea
                                  Partecipante
                                    Up
                                    0
                                    Down
                                    ::

                                    OldClaudio” post=119532sembra strano di dover prima ridurre una scatola con un fattore di 1/8 per poi ingrandirla di 8 volte

                                    Come le dicevo, l’alternanza di riduzione ed ingrandimento mi è necessaria per mostrare come l’azione locale di [font=courier]\bm{\hat{x}}[/font] si colloca a livello globale. Con il codice completo è più chiaro

                                    `% * Distribution = TeX Live 2020 *
                                    % * Typeset = LuaLaTeX *

                                    % * MainT *
                                    \documentclass{standalone}
                                    \usepackage[T1]{fontenc}
                                    \usepackage[utf8]{inputenc}
                                    \usepackage[margin=0.5in,paper=a4paper]{geometry} %Shrinking margins to 0.5in
                                    \usepackage{bm}
                                    \usepackage[x11names]{xcolor} %Additional colors
                                    \usepackage{tikz}
                                    \usetikzlibrary{arrows.meta,spy,positioning}
                                    \usepackage{pgfplots}

                                    \begin{document}

                                    \begin{tikzpicture}[spy using outlines={circle, magnification=8, size=5.75cm, connect spies}]

                                    \draw [line width=.005pt,-{Latex[width=.25pt, length=.55pt]}] (9.83,6.67) — ++(.22,.015)
                                    node[pos=0.7,inner sep=.25pt,above]{\scalebox{0.125}{$\bm{\hat{x}}$}}; %X

                                    \fill [gray] (9.834,6.667) circle (.1925pt); % point

                                    %%%%%%%%%%%%%%%%%%%
                                    %%%%%%%% Torus %%%%%%%
                                    %%%%%%%%%%%%%%%%%%%
                                    \begin{axis}[axis equal,
                                    x axis line style={draw opacity=0},
                                    y axis line style={draw opacity=0},
                                    z axis line style={draw opacity=0},
                                    tick style={draw=none},
                                    xticklabels={,,},
                                    yticklabels={,,},
                                    zticklabels={,,},
                                    view={45}{14},
                                    width=1.1\textwidth]%,
                                    \addplot3
                                    [domain=0:360,y domain=0:360,
                                    variable=\u,variable y=\v,
                                    mesh,
                                    help lines,
                                    opacity=0.1,
                                    samples=80]
                                    ({(20+4.5*cos(u))*cos(v)},
                                    {(20+4.5*cos(u))*sin(v)},
                                    {4.5*sin(u)});
                                    \end{axis}
                                    %%%%%%%%%%%%%%%%%%%%%%%%%%

                                    \spy [red] on (10.095,6.725) in node at (15,2.7);

                                    \end{tikzpicture}

                                    \end{document}`

                                  • #119061
                                    OldClaudio
                                    Partecipante
                                      Up
                                      0
                                      Down
                                      ::


                                      Da un punto di vista della programmazione e dei comandi da usare, la similitudine fra\resizebox e \fontsize si riduce solo al numero di argomenti e non al loro siginificato.
                                      I due argomenti di \fontsize indicano rispettivamente il corpo e lo scartamento necessari per usare quel font; nel tuo caso il valore 20 per fortuna non veniva usato perché non impegnavi più di una sola riga, ma era un valore assurdo.
                                      Nel caso di \resizebox i due valori impegnano il comando per calcolare da solo due fattori di scala per aggiustare la larghezza assoluta (il rpimo argomento) e l’altezza assoluta (il secondo argomento) della scatola ridimensionata; la sintassi di \resizebox dice che si può sostituire uno dei due argomenti con un punto esclamativo, il quale permette di usare lo stesso fattore di scala calcolato con l’altro argomento; nel tuo caso, ammesso che 0.75 sia un valore corretto, tu dovresti usare \resizebox{!}{0.75pt}{…}, ma in realtà con l’ingrandimento di 8 volte il valore giusto sarebbe 1.25pt corrispondente a 10pt/8. Usando \scalebox il primo argomento obbligatorio permette di usare un solo fattore di scala, ma volendo si potrebbe specificare un seondo argomento facoltativo, sempre inteso come un fattore di scala, per scalare l’altezza mediante un fattore di scala diverso, deformando in questo modo il contenuto della scatola che non manterrebbe più lo stesso fattore di forma (altezza/larghezza); \ecco perché nel tuo caso \scalebox{0.125}{…} permette di ridurre di 8 volte le dimensioni della scatola, che poi vengono ingrandite di 8 volte dall’opzione magnification=8.
                                      Vedi dunque di leggere attentamente la documentazione, perché non basta usare la sintassi corretta, ma bisogna usare gli argomenti corretti col significato preciso che ogni comando usa in un certo modo. Siccome tutto ciò fa parte dell’ABC di LaTeX, trovi più semplicemente queste informazioni usando l’indice analitico della guida tematica Il LATeX Reference Manual commentato, nella fattispecie nel §1.16.1.

                                      Permettimi di aggiungere una mia considerazione personale in merito a quella figura; TikZ è certamente fenomenale e permette di creare disegni inimmaginabili anche se il sua sintassi di programmazione è decisamente complicata; vedi infatti quante opzioni devi specificare per disegnare due cerchi uniti da un segmento di cui comunque devi specificare gli estremi (o un estremo e il displacement relativo del secondo rispetto al primo); ma per un disegno così semplice il normale ambiente picture esteso con il tool obbligatorio specificato da Lamport stesso un mucchio di tempo fa) permette di disegnare lo stesso disegno con 5 statement in tutto; magari io riesco ad usarlo in modo un po’ “creativo” perché mi piace molto e lo preferisco per eseguire disegni semplici, ma il suo manuale (texdoc pict2e) è solo di una trentina di pagine, escludendo gli indici e le altre pagine tecniche iniziali e finali (frontespizio, presentazione, indice generale, bibliografia, indice analitico). Una cosa che si impara come sempre facendo,ma il tutto viene letto in un quarto d’ora; il manuale di TikZ è sterminato e, personalmente, non sono mai riuscito a leggerlo tutto.; è vero, ha un indice dettagliato e un indice analitico fatto abbastanza bene, ma non è semplice trovare quello che serve per andare diritti al punto che serve.

                                    • #119062
                                      Andrea
                                      Partecipante
                                        Up
                                        0
                                        Down
                                        ::


                                        La ringrazio nuovamente per le precisazioni sempre molto accurate, esaustive e soprattutto spiegate in modo semplice 🙂 (c’è l’altra frase famosa di Leonardo: “La semplicità è la massima sofisticazione”).

                                        P.S.
                                        Ho dato uno sguardo alla documentazione sull’ambiente picture. Se non ho capito male non gestisce però figure tridimensionali come è per il mio caso in cui è implicato un toro (vd. il sorgente *MainT* del precedente post).

                                      • #119063
                                        OldClaudio
                                        Partecipante
                                          Up
                                          0
                                          Down
                                          ::


                                          No, picture+pict2e non gestisce figuri tridimensionali; ma la figura del precedente messaggio mostra solo due cerchi; non riecso ad immaginare un toro tridimensionale in quel disegno.
                                          Il pacchetto xpicture invece ha il modo di disegnare figure tridimensionali; è un’estensione molto valida di picture+pict2e+curve2e; ma per figure veramente tridimensionali credo che TikZ sia molto meglio.
                                          La differenza, come al solito consiste nel fatto che TikZ fa millanta cose e la sua documentazione è molto complessa, mentre anche xpicture è relativamente semplice, e la sua documentazione è altrettanto semplice; tuttavia non arriva alla sofisticazione di TikZ.
                                          Quindi continua tranquillamente con TikZ. Ti ho citato i miei programmi preferiti solo perché per la figura di MainT, che mostra due cerchi, un segmento, due vettori e due simboli matematici identici, sia pure variamente scalati, mi sembravano sufficienti; evidentemente MainT è solo la minima parte della figura completa dalla quale si possa desumere la tridimensionalità del toro.

                                        • #119064
                                          Andrea
                                          Partecipante
                                            Up
                                            0
                                            Down
                                            ::


                                            Sì, come le dicevo, la figura completa comporta anche la presenza di un toro (vd. allegato “XTorus.jpeg”).
                                            Come può vedere dalla figura, l’artificio dell’ingradimento dato dal comando \spy di TikZ mi permette di mostrare come globalmente si colloca l’azione locale di [font=courier]\bm{\hat{x}}[/font] .

                                            P.S.
                                            Il MainT, quello del post #119533, riesco a compilarlo solo con LuaLateX perché con LaTeX mi dà il seguente errore: [font=courier]TeX capacity exceeded, sorry [main memory size=5000000][/font]. Errore che scompare se s’imposta l’opzione [font=courier]samples[/font] del plot del toro ad un valore inferiore a 75.

                                            Attachments:
                                            You must be logged in to view attached files.
                                          • #119065
                                            OldClaudio
                                            Partecipante
                                              Up
                                              0
                                              Down
                                              ::


                                              Sì, la mamoria di lavoro è grande ma non infinita; viene allocata staticamente, mentre LuaLaTeX dispone di risorse maggiori. In qualche conversazzione qui nel forum si è parlato anche di come ingrandire la memoria statica di pdfLaTeX.

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

                                          Go to top