robitex

Risposte nei forum create

Stai visualizzando 15 risposte – dal 1,411 al 1,425 (di 2,928 totali)
  • Autore
    Risposte
  • in risposta a: tabelle latex #86335
    robitex
    Amministratore del forum
      Up
      0
      Down
      ::


      Ciao,
      potresti cavartela anche con l’ambiente Verbatim del pacchetto fancyvrb. In questo caso dovresti formattare le righe con spazi bianchi in modo che il testo risultii verticalmente allineato.
      Ma esistono tanti altri modi.
      Dipende molto dalla quantità di questi dati che non dichiari (per es. superano la pagina?).
      Bisognerebbe anche decidere dove mettere questi dati, per esempio in un appendice apposita.
      La soluzione più evoluta consiste nel preprocessare i dati salvati in un database…
      R.

      robitex
      Amministratore del forum
        Up
        0
        Down
        ::

        teomat” post=85767Grazie mille!

        Allora: sì, sto creando la copertina come una pagina unica, poi intendo includerla con \includepdf.

        Il tuo codice funziona, però, magari per incapacità, creo i singoli elementi come tante ‘disegni’ e quindi avrei bisogno di poter collocare il risultato del tuo codice in un punto preciso della pagina

        Grazie ancora!
        A presto,
        Matteo

        Consulta il mio blog, in particolare il post sul collage di precisione.
        Aggiungo il link:

        Collage di precisione di PDF


        R.

        robitex
        Amministratore del forum
          Up
          0
          Down
          ::


          Oppure anche:`
          \documentclass{standalone}
          \usepackage{tikz}

          \begin{document}
          \begin{tikzpicture}% l'unità è il cm
          % primo elemento: il segnalibro
          \filldraw (0,0) — (0,6) — (2,6) — (2,0) — (1,1) — cycle;

          % testo
          \begin{scope}[white]
          \node[scale=3] at (1,5) {01};
          \draw[line width=1pt] (0.2,4.4)–(1.8,4.4);
          \node[scale=2.5] at (1,3.8) {20};
          \node[scale=2.5] at (1,3) {13};
          \end{scope}
          \end{tikzpicture}
          \end{document}`

          robitex
          Amministratore del forum
            Up
            0
            Down
            ::


            Ecco una base di codice:
            `\documentclass{standalone}
            \usepackage{tikz}

            \begin{document}
            \begin{tikzpicture}% l'unità è il cm
            % primo elemento: il segnalibro
            \filldraw (0,0) — (0,6) — (2,6) — (2,0) — (1,1) — cycle;

            % testo
            \node[scale=3,white] at (1,5) {01};
            \draw[white,line width=1pt] (0.2,4.4)–(1.8,4.4);
            \node[scale=2.5,white] at (1,3.8) {20};
            \node[scale=2.5,white] at (1,3) {13};

            %resto del disegno
            \end{tikzpicture}
            \end{document}`

            Puoi fare un unico disegno grande come la pagina di copertina per esempio.
            R.

            robitex
            Amministratore del forum
              Up
              0
              Down
              ::

              teomat” post=85763Buongiorno,
              sono alle prese con una copertina e, nello specifico, vorrei creare con LaTeX una copertina esistente prodotta con programmi di grafica vettoriale.

              Non riesco ad allegare una immagina, ma provo a descrivere ciò che mi servirebbe:

              -un poligono composto da un rettangolo con la base maggiore in verticale, alla cui base inferiore ci siano due triangoli rettangoli con le ipotenuse che si affrotano. (insomma: un segnalibro)
              -all’interno del poligono dovrei inserire dei numeri con un determinato font; tra due gruppi di caratteri, una linea
              -colore di riempimento nero, testo in bianco

              Insomma, una cosa del genere (limitatamente al segnalibro in alto a sinistra)

              Tutto questo vorrei poterlo inserire in una posizione ben precisa della pagina.

              Qualcuno mi potrebbe essere d’aiuto?
              Il manuale di Tikz non è di molto aiuto per chi è alle prime armi con questo pacchetto….

              Grazie in anticipo!
              A presto,
              Matteo

              Non è difficile, il segnalibro ha solo 5 oggetti.
              Ti chiedo: stai preparando la copertina come un pdf che contiene solo quella pagina?
              R.

              in risposta a: Notazione numerica in Mathematica #86205
              robitex
              Amministratore del forum
                Up
                0
                Down
                ::

                Liverpool” post=85666

                perdonami ma dove devo inserire quel codice?

                Potresti provare in quest’altro modo: sostituisci tutto quello che viene dopo out con questo codice di Mathematica:
                `$file = OpenWrite[“C:\\grafico.txt”];
                Export[$file, out[[1 ;; s]], “Table”];
                For[i = 2, i <= s, i++, WriteString[$file, "\n\n"] Export[$file, out[[1 + (i - 1)*s ;; i*s]], "Table"]] Close[$file];` Aggiornato anche il post dal quale hai copiato il codice. Grazie per la segnalazione.

                Ciao

                Già. Meglio prevenire che curare … 😉
                R.

                in risposta a: Notazione numerica in Mathematica #86203
                robitex
                Amministratore del forum
                  Up
                  0
                  Down
                  ::


                  Ecco qua:
                  `– convert numeric data
                  — eseguire con lua o con texlua

                  — restituisce i numeri sulla riga
                  local function split(l)
                  local t = {}
                  for w in string.gmatch(l, “[^%s]+”) do
                  local m = tonumber(w)
                  if m then — dato numerico
                  t[#t+1] = {real = m}
                  else — dato non numerico
                  t[#t+1] = {text = w}
                  end
                  end
                  return t
                  end

                  — carica i dati in una tabella
                  local function loadLines(filename)
                  local t = {}
                  for line in io.lines(filename) do
                  local n = split(line)
                  if #n > 0 then — mantenere!!! linee vuote
                  t[#t+1] = n
                  else
                  t[#t+1] = {}
                  end
                  end
                  t.dimension = #t
                  return t
                  end

                  — traduce la tabella in terne di numeri
                  local function parse(t)
                  for x, row in ipairs(t) do
                  if #row > 3 then — calcolo della terna su due righe
                  local newrow = {}
                  local start = 2
                  if row[1].text then
                  newrow[#newrow + 1] = row[1].text
                  start = start + 1
                  end
                  for i=start,#row do
                  local k = 1
                  if row.real and row[i-1].real then
                  local m = row.real
                  if m == 10 then
                  newrow[#newrow+1] =
                  {real = row[i-1].real*10^t[x-1][k].real}
                  k = k + 1
                  else
                  newrow[#newrow+1] = {real = m}
                  end
                  else
                  newrow[#newrow+1] = {text = row.text}
                  end
                  end
                  t[x-1] = nil
                  t[x] = newrow
                  end
                  end
                  end

                  — aggiustare i formati delle colonne qui
                  local format = {“%0.6f”, “%0.8f”, “%0.8E”}

                  — salva i dati
                  local function save(t)
                  — tabs separator formatting string
                  — reforming the table
                  reform = {}
                  for i=1, t.dimension do
                  if t then
                  if #t == 0 then — empty line
                  reform[#reform + 1] = “”
                  else
                  line = {}
                  for pos=1,3 do
                  if t[pos].real then
                  line[#line+1] = string.format(format[pos],t[pos].real)
                  else
                  line[#line+1] = t[pos].text
                  end
                  end
                  reform[#reform + 1] = table.concat(line, “\t”)
                  end
                  end
                  end
                  file = io.open(“dataReformat.txt”,”w”)
                  file:write(table.concat(reform, “\n”))
                  file:close()
                  end

                  — execution
                  filename = “data.txt”
                  rows = loadLines(filename)
                  parse(rows)
                  save(rows)`

                  Probabile che ripensando all’algoritmo si trovi una soluzione più elegante, ma questa ha il pregio di funzionare (almeno spero) e di gestire il formato d’ingresso per tutte e tre le colonne.
                  Ed ora buona notte!
                  R.

                  in risposta a: Notazione numerica in Mathematica #86202
                  robitex
                  Amministratore del forum
                    Up
                    0
                    Down
                    ::

                    Marco87″ post=85661Ciao Roberto,

                    nel cercare di risolvere il problema che ho esposto in questa discussione, ma da un altro punto di vista (nel caso che l’errore commesso da [tt]pgfplots[/tt] non sia correggibile), ho riformulato la superficie che voglio rappresentare direttamente in Mathematica. Il problema è che ora necessito di avere dei “nan” (not a number) e, già che salta fuori questa entità, aggiungo che potrebbe capitare di avere degli “inf” (infinite). Pertanto potrei avere un file txt in uscita da Mathematica di questo tipo:
                    `-0.0028 -0.00995556 nan
                    -0.0028 -0.00954921 nan
                    -0.0028 -0.00914286 nan
                    -0.0028 -0.00873651 nan
                    -6
                    -0.0028 -0.00833016 -1.16846 10
                    -6
                    -0.0028 -0.00792381 -7.77324 10
                    -0.0028 -0.00751746 -0.0000140478
                    -0.0028 -0.00711111 -0.0000199921
                    -0.0028 -0.00670476 -0.0000256062
                    […]`
                    Credi che sia possibile con una piccola modifica dello script far rimanere quei “nan” (o anche “inf”)? Credo che dopo questo lo script non avrà bisogno di alcun’altra modifica.

                    In ogni caso, grazie di tutto e buona serata,
                    Marco.

                    Ciao,
                    la modifica che chiedi non è immediata perché lo script è scritto nell’ipotesi che i dati sia tuttu numerici.
                    Se avrò tempo cercherò una soluzione.
                    Il punto di partenza è senza dubbio la funzione tonumber() che restituisce nil se l’argomento stringa non rappresenta un numero.
                    R.

                    in risposta a: Notazione numerica in Mathematica #86197
                    robitex
                    Amministratore del forum
                      Up
                      0
                      Down
                      ::


                      Nuova versione che mantiene le righe vuote dell’originale.
                      `– convert numeric data
                      — eseguire con lua o con texlua

                      — restituisce i numeri sulla riga
                      local function split(l)
                      t = {}
                      for w in string.gmatch(l, “[^%s]+”) do
                      t[#t+1] = tonumber(w)
                      end
                      return t
                      end

                      — carica i dati in una tabella
                      local function loadLines(filename)
                      local t = {}
                      for line in io.lines(filename) do
                      local n = split(line)
                      if #n > 0 then — mantengo linee vuote
                      t[#t+1] = n
                      else
                      t[#t+1] = {}
                      end
                      end
                      t.dimension = #t
                      return t
                      end

                      — traduce la tabella in terne di numeri
                      local function parse(t)
                      for x, row in ipairs(t) do
                      if #row > 3 then — calcolo della terna su due righe
                      newrow = {}
                      for i=2,#row do
                      k = 1
                      if row == 10 then
                      newrow[#newrow+1] = row[i-1]*10^t[x-1][k]
                      k = k + 1
                      else
                      newrow[#newrow+1] = row[i-1]
                      end
                      end
                      t[x-1] = nil
                      t[x] = newrow
                      end
                      end
                      end

                      — salva i dati
                      local function save(t, frmt1, frmt2, frmt3)
                      — tabs separator formatting string
                      f = string.format(“%s\t%s\t%s”, frmt1, frmt2, frmt3)
                      — reforming the table
                      reform = {}
                      for i=1, t.dimension do
                      if t then
                      if #t == 0 then
                      reform[#reform + 1] = “”
                      else
                      local line = string.format(f, t[1], t[2], t[3])
                      reform[#reform + 1] = line
                      end
                      end
                      end
                      file = io.open(“dataReformat.txt”,”w”)
                      file:write(table.concat(reform, “\n”))
                      file:close()
                      end

                      — execution
                      filename = “data.txt”
                      rows = loadLines(filename)
                      parse(rows)
                      save(rows, “%0.6f”, “%0.8f”, “%0.8E”)
                      `
                      Visto come sono veloci questi script?
                      R.

                      in risposta a: Notazione numerica in Mathematica #86196
                      robitex
                      Amministratore del forum
                        Up
                        0
                        Down
                        ::

                        Marco87″ post=85655Ciao Roberto,

                        grazie alle tue indicazioni sono riuscito a far eseguire il tuo script. Direi che la notazione ora è perfetta. Rimane un piccolo dettaglio. Nel file di partenza, ogni tanto c’è una riga vuota. In effetti non vedo grossi problemi anche senza quelle righe, se non che nel grafico i punti finali risultano uniti a quelli iniziali. Non sono certo che sia dovuto all’assenza di quelle righe bianche, anche se il formato che viene presentato nella documentazione di [tt]pgfplots[/tt] le ha. Sarebbe difficile aggiungere questa caratteristica allo script?

                        Grazie,
                        Marco.

                        Lo script elimina automaticamente tutte le linne vuote: a che servono? Non capisco.
                        Se invece servono allora si deve modificare lo script.
                        R.

                        in risposta a: Notazione numerica in Mathematica #86194
                        robitex
                        Amministratore del forum
                          Up
                          0
                          Down
                          ::


                          No, TeX non c’entra.
                          Per eseguire il codice Lua devi creare uno script, ovvero un file di testo come dicevi tu, meglio con estensione .lua.
                          Sistema in una stessa cartella lo script ed il file con i dati numerici il cui nome deve corrispondere a quello previsto nello script.
                          Poi apri una finestra di console (in Windows cmd, insomma la vecchia finestra nera del DOS), ti sposti nella cartella con il comando cd (change directory) e poi dai il comando:
                          `$ texlua nomedelloscript.lua`
                          Ti comparirà nella stessa cartella il file di output pronto da dare in pasto a pgfplots (e qui puoi modificare il codice per uscire con i numeri con il formato che desideri con la funzione save()).
                          Mi raccomando controlla la correttezza del risultato.

                          Infine, texlua: è un interprete Lua presente nelle moderne distro TeX come TeX Live e che ti suggerisco di usare perché così ti eviti di istallare Lua sul PC.
                          R.

                          in risposta a: Notazione numerica in Mathematica #86192
                          robitex
                          Amministratore del forum
                            Up
                            0
                            Down
                            ::


                            Ecco qui il listato in Lua che elabora il file data.txt dove sistemerai i numeri e crea il file dataReformat.txt.
                            Puoi regolare a piacere il formato decimale, o scientifico dando alla funzione save() le stringhe di formattazione.
                            Verifica la correttezza dell’output!!!!
                            `– convert numeric data
                            — eseguire con lua o con texlua

                            — restituisce i numeri sulla riga
                            local function split(l)
                            t = {}
                            for w in string.gmatch(l, “[^%s]+”) do
                            t[#t+1] = tonumber(w)
                            end
                            return t
                            end

                            — carica i dati in una tabella
                            local function loadLines(filename)
                            local t = {}
                            for line in io.lines(filename) do
                            local n = split(line)
                            if #n > 0 then — elimino linee vuote
                            t[#t+1] = n
                            end
                            end
                            t.dimension = #t
                            return t
                            end

                            — traduce la tabella in terne di numeri
                            local function parse(t)
                            for x, row in ipairs(t) do
                            if #row > 3 then — calcolo della terna su due righe
                            newrow = {}
                            for i=2,#row do
                            k = 1
                            if row == 10 then
                            newrow[#newrow+1] = row[i-1]*10^t[x-1][k]
                            k = k + 1
                            else
                            newrow[#newrow+1] = row[i-1]
                            end
                            end
                            t[x-1] = nil
                            t[x] = newrow
                            end
                            end
                            end

                            — salva i dati
                            local function save(t, frmt1, frmt2, frmt3)
                            — tabs separator formatting string
                            f = string.format(“%s\t%s\t%s”, frmt1, frmt2, frmt3)
                            — reforming the table
                            reform = {}
                            for i=1, t.dimension do
                            if t then
                            local line = string.format(f, t[1], t[2], t[3])
                            reform[#reform + 1] = line
                            end
                            end
                            file = io.open(“dataReformat.txt”,”w”)
                            file:write(table.concat(reform, “\n”))
                            file:close()
                            end

                            — execution
                            filename = “data.txt”
                            rows = loadLines(filename)
                            parse(rows)
                            save(rows, “%0.6f”, “%0.8f”, “%0.8E”)
                            `

                            Se ci sono problemi sono qui.
                            R.

                            in risposta a: Notazione numerica in Mathematica #86191
                            robitex
                            Amministratore del forum
                              Up
                              0
                              Down
                              ::


                              Ci sono quasi, un po’ di pazienza…
                              R.

                              in risposta a: Notazione numerica in Mathematica #86189
                              robitex
                              Amministratore del forum
                                Up
                                0
                                Down
                                ::


                                Ah ah ah.
                                Mi manca un po’ di fantasia oggi (ho capito il discorso dell’esponente).
                                Adesso provo a scrivere del codice… poi ti faccio sapere.
                                Assumerò che i numeri siano separati da caratteri spazio.
                                R.

                                in risposta a: Notazione numerica in Mathematica #86187
                                robitex
                                Amministratore del forum
                                  Up
                                  0
                                  Down
                                  ::


                                  Ciao,
                                  alcune righe contengono un solo numero, i.e. -6
                                  Sarà questo il motivo?
                                  Il grafico che vuoi fare è una superficie?
                                  Eventualmente uno script che riformatta le righe non è un problema.
                                  R.

                                Stai visualizzando 15 risposte – dal 1,411 al 1,425 (di 2,928 totali)

                                Go to top