robitex

Risposte nei forum create

Stai visualizzando 15 risposte – dal 1,531 al 1,545 (di 2,928 totali)
  • Autore
    Risposte
  • robitex
    Amministratore del forum
      Up
      0
      Down
      ::

      OldClaudio” post=83670

      Poi, in realtà non è TikZ che inserisce il capoverso: se si toglie il secondo comando il testo scende comunque.

      Sì,l’ho capito, ma il problema non è solo \tikz; anche la prima scatola, benché di dimensioni nulle, impegna una riga; ecco perché il testo scende.

      Buona Pasqua a te e a tutti i frequentatori del Forum

      Claudio

      Innanzi tutto rinnovo i miei auguri di Buona Pasqua.
      Per la sfida propongo il seguente codice che utilizza alcune primitive di pdftex, in particolare \pdfsetmatrix che imposta la matrice di traformazione.
      Se vi inseriamo i coseni direttori della diagonale, si riesce a ruotare il materiale contenuto fino a \pdfrestore, che ripristina le impostazioni geometriche fissate con \pdfsave.
      Il seno e coseno dell’angolo li calcolo ancora con il modulo fp di LaTeX3.
      Tuttavia ci sono tre problemi:
      Il primo che affliggeva anche le soluzioni della classe precedente (quelle con il calcolo dell’arcotangente), è lo spostamento verso il basso del testo, così che la scritta non risulta perfettamente disposta sotto il testo.

      Il secondo problema è che non so ancora bene trattare il materiale tra \pdfsave e \pdfrestore e la scritta Draft pur se bel allineata on la diagonale della gabbia del testo, se ne va per conto suo disponendosi dove gli pare.

      Il terzo problema è che non c’è verso ma il secondo parametro numerico della matrice, non può essere l’espansione di \fp_use:N perché altrimenti non funziona, chissà perché invece gli altri tre possono esserlo.

      Ok, ho finito, non mi resta che postarvi il codice e salutarvi:
      `% !TEX program = pdflatex
      % !TEX encoding = UTF-8 Unicode

      \documentclass[a4paper]{article}
      \usepackage{graphicx}
      \usepackage{xcolor}
      \usepackage{kantlipsum}

      \ExplSyntaxOn

      \fp_new:N \g_diag
      \fp_set:Nn \g_diag { ( \textwidth^2 + \textheight^2 )^{0.5} }

      \fp_new:N \g_sin
      \fp_new:N \g_cos

      \fp_set:Nn \g_sin { \textheight / \g_diag }
      \fp_set:Nn \g_cos { \textwidth / \g_diag }

      \NewDocumentCommand { \mtrxdataset } { } {
      \pdfsetmatrix {
      \fp_use:N \g_cos ~ 0.866 ~
      -\fp_use:N \g_sin ~ \fp_use:N \g_cos
      }
      }

      \ExplSyntaxOff

      \def\draftonpage{%
      \hbox to 0pt {%
      \vbox to 0pt {%
      \pdfsave
      \mtrxdataset
      \hbox to \textwidth {%
      \hfil
      \scalebox{8}{\textcolor{gray!75}{Draft}}%
      \hfil
      }\pdfrestore
      \vss}%
      \hss}%
      }

      \begin{document}
      \draftonpage

      \kant
      \end{document}
      `

      robitex
      Amministratore del forum
        Up
        0
        Down
        ::

        OldClaudio” post=83657Infatti \tikz inserisce un nuovo capoverso; inoltre il pacchetto tiks è vietato per questo concorso, a meno che non si accetta al sfida che ha accettato claudio @cfiandra, di fare qualcosa di molto superlativo, per mettere la scritta su pagine scelte, per riferirsi allo specchio di stampa oppure alla pagina completa, e per fare altre acrobazie tipiche di tikz. Il “concorso” era per dimostrare che la cosa si può fare in modo relativamente semplice senza ricorrere a TikZ.

        Coraggio che se fai attenzione ci riesci, ci sei quasi.


        @franen
        , non gettare la spugna. Non esistono solo gli sviluppi in serie per l’arcotangente; non solo ma non è nemmeno necessario che il suo calcolo sia così preciso; a parte il fatto che si può risolvere il problema senza ricorrere all’arcotangente.

        Ciao
        Claudio

        Un momento un momento, anch’io ho qualche argomento…
        Uso TikZ solo per disegnare la diagonale che serve visivamente a controllare la giusta disposizione della scritta.
        Poi, in realtà non è TikZ che inserisce il capoverso: se si toglie il secondo comando il testo scende comunque.
        Buona Pasqua a tutti gli utenti TeX & C.
        R.

        robitex
        Amministratore del forum
          Up
          0
          Down
          ::


          Claudio,
          ovvio che il numero di interazioni si può drasticamente ridurre gestendo in maniera più intelligente il valore di incremento dell’angolo di tentativo.
          Questa volta il nuovo angolo viene incrementato sulla base del valore della pendenza della retta tangente alla curva che vale:
          \begin{equation}
          \frac{1}{\cos{\alpha}^2}
          \end{equation}
          Tuttavia c’è un antipatico problema sul comando con gli \hbox ed i \vbox. Ogni volta che viene chiamato il comando \draftonpage viene inserito un capoverso.

          Alla prossima puntata… (allego il codice completo)
          R.

          `% !TEX program = pdflatex
          % !TEX encoding = UTF-8 Unicode

          \documentclass[a4paper]{article}
          \usepackage{graphicx}
          \usepackage{xcolor}
          \usepackage{kantlipsum}
          \usepackage{tikz}

          \ExplSyntaxOn
          \fp_new:N \l_alpha
          \fp_set:Nn \l_alpha { 1 }

          \fp_new:N \l_x
          \fp_new:N \l_y

          \fp_set_from_dim:Nn \l_x { \textwidth }
          \fp_set_from_dim:Nn \l_y { \textheight }
          \fp_new:N \l_ratio
          \fp_set:Nn \l_ratio { \l_y / \l_x}

          \int_new:N \l_iter

          \fp_while_do:nn
          { abs(tan(\l_alpha) – \l_ratio) > 0.000000001 }
          { \int_incr:N \l_iter
          \fp_add:Nn \l_alpha
          { (\l_ratio – tan(\l_alpha))*cos(\l_alpha)^{2} }
          }

          \fp_set:Nn \l_alpha { \l_alpha * 180 / pi}

          \NewDocumentCommand { \scbx } { O{ Draft } } {
          \scalebox{8}{
          \rotatebox{\fp_use:N \l_alpha}{\textcolor{gray!58}{ #1 }}
          }
          }

          \ExplSyntaxOff

          \def\draftonpage#1{%
          \hbox to 0pt{%
          \vbox to 0pt{%
          \vbox to \textheight{%
          \vfil
          \hbox to \textwidth{\hfil#1\hfil}%
          \vfil}\vss}\hss}%
          }

          \begin{document}
          \draftonpage{\scbx}
          \draftonpage{\tikz\draw (0.4pt,0.4pt) — (\textwidth,\textheight);}

          \ExplSyntaxOn \fp_use:N \l_x , \fp_use:N \l_y \ExplSyntaxOff

          L'angolo calcolato della diagonale vale $\alpha = \ExplSyntaxOn \fp_use:N \l_alpha \ExplSyntaxOff$. Numero interazioni: $n = \ExplSyntaxOn \int_use:N \l_iter \ExplSyntaxOff$

          \kant
          \end{document}`

          in risposta a: Gestione diagramma con TIKZ #84309
          robitex
          Amministratore del forum
            Up
            0
            Down
            ::

            piemme” post=83637Grazie per l’informazione ma anche con \includegraphics non funziona.

            A seguito dei precedenti suggerimenti, avevo posto \noindent nel mio ambiente di prova, che è un file costituito da macro tikz, e il diagramma si era posizionato in modo corretto.

            Adesso penso di avere due strade: posso generare un diagramma a se stante, quindi pdf, e poi inserirlo con \includegraphics oppure posso inserire il codice con \include, prova che ho già effettuato ma che non ha dato i risultati sperati. Per il momento ho ridotto di un 3% e il risultato è accettabile.

            Saluti.

            PM

            Vero, però per includere codice TeX da un file si usa \input{nome_file_senza_estensione} e non \inlcude che serve per comporre i capitoli…
            Mi era parso di capire che avevi già trasformato il codice in un’immagine pdf…
            R.

            robitex
            Amministratore del forum
              Up
              0
              Down
              ::

              OldClaudio” post=83627Roberto, la tua soluzione va bene solo per la pagina A4 scritta per la classe article, quindi con quella particolare gabbia. Semplice ma di tipo “one shot”: o usi la classe article standard o non funziona.


              @franen
              si può evitare di calcolare l’arcotangente, ma se la vuoi usare rivolgiti alle frazioni continue, non alle serie.

              Nota che fra la matematica di pgf/tikz nell’apposita libreria c’è il modo di calcolare l’arcotangener, ma si basa su una tabella di interpolazione di un migliaio di punti; siccome è vietato usare pgf/tikz nel concorso, quella soluzione non è accettabile, evidentemente, nemmeno se la rprlichi nel tuo codice.

              Ma fa piacere che il concorso attragga ancora qualche affezionato frequentatore del forum; io ho già fatto il mio compitino e ho trovato due o tre soluzioni, sceglibili a piacere; una non calcola l’arcotangente.

              Ciao di nuovo.
              Propongo una soluzione con il calcolo della tangente, unendo comandi primitivi di TeX per posizionare una scatola al centro della pagina ma senza che quest’ultima abbia uno spessore diverso da zero, così che il testo successivo — che sovrascriverà la scritta in diagonale — con funzioni del nuovo nucleo di LaTeX3 che si occuperanno dei calcoli.
              Siccome il LaTeX3 team non ha ancora implementato le funzioni trigonometriche inverse nel modulo fp, occorre escogitare un calcolo artigianale molto semplice, poco efficiente ma compatto e funzionante: incremento una variabile in virgola mobile finché la differenza tra la tangente ed il rapporto tra le dimensione della gabbia del testo risultano abbastanza piccoli.
              Ecco il codice:
              `% !TEX program = pdflatex
              % !TEX encoding = UTF-8 Unicode

              \documentclass[a4paper]{article}
              \usepackage{graphicx}
              \usepackage{xcolor}
              \usepackage{kantlipsum}
              \usepackage{tikz}

              \ExplSyntaxOn
              \fp_new:N \l_alpha
              \fp_set:Nn \l_alpha { 0.50 }

              \fp_new:N \l_x
              \fp_new:N \l_y

              \fp_set_from_dim:Nn \l_x { \textwidth }
              \fp_set_from_dim:Nn \l_y { \textheight }
              \fp_new:N \l_ratio
              \fp_set:Nn \l_ratio { \l_y / \l_x}

              \fp_while_do:nn
              { tan(\l_alpha) – \l_ratio < 0.01 } { \fp_add:Nn \l_alpha {0.001} } \fp_set:Nn \l_alpha { \l_alpha * 180 / pi} \NewDocumentCommand { \scbx } { } { \scalebox{8}{ \rotatebox{\fp_use:N \l_alpha}{\textcolor{gray!58}{Draft}} } } \ExplSyntaxOff \def\draftonpage#1{% \hbox to 0pt {% \vbox to 0pt {% \vbox to \textheight {% \vfil \hbox to \textwidth {\hfil#1\hfil}% \vfil }\vss }\hss }% } \begin{document} \draftonpage{\scbx} \draftonpage{\tikz\draw (0.4pt,0.4pt) -- (\textwidth,\textheight);} L'angolo calcolato della diagonale vale $\ExplSyntaxOn \fp_use:N \l_alpha \ExplSyntaxOff$. \kant \end{document} ` La sfida continua... R.

              in risposta a: Celle il cui contenuto sia centrato verticalmente. #84314
              robitex
              Amministratore del forum
                Up
                0
                Down
                ::

                lorenzo.pantieri” post=83615

                Nel caso della tabella, non chiedere come mai :D, il setting che mi pare migliore è diverso:

                Grazie mille a te a a Marco. Alla fine ho usato la tua soluzione, perfetta! 🙂

                Un momento, ci sono anch’io:
                `\documentclass{article}
                \usepackage{booktabs}
                \usepackage{tikz}
                \begin{document}

                \tikzset{
                color box/.style={
                draw,
                minimum width=0.6cm,
                minimum height=0.3cm
                },
                every label/.style={label distance=4pt,text depth=0pt}
                }

                \begin{tabular}{lll}
                \toprule
                \tikz
                \node[fill, color box, label=0:\texttt{black}] at (0,0) {};
                &
                \tikz
                \node[fill=darkgray, color box, label=0:\texttt{darkgray}] at (0,0) {};
                &
                \tikz
                \node[fill=lime, color box, label=0:\texttt{lime}] at (0,0) {};\\
                \bottomrule
                \end{tabular}
                \end{document}`

                Ho usato l’oggetto label che può essere disegnato assieme al nodo.
                Puoi regolare la distanza delll’etichetta dal nodo e le dimensioni dei rettangoli colorati nello stile.
                My two cent…
                R.

                in risposta a: Gestione diagramma con TIKZ #84307
                robitex
                Amministratore del forum
                  Up
                  0
                  Down
                  ::

                  piemme” post=83605Suggerimenti preziosi!
                  Ho modificato il codice e adesso è certamente più razionale.
                  La geometria della pagina l’avevo già modificata ponendo 4,5 cm margine esterno e 2,5 cm margine interno; dovrò scalare l’immagine per farla stare entro i 14 cm utili.
                  Ho provato a mettere \noindent sul file di prova e funziona mentre sul file principale (con \include{filename}) non funziona. Ho provato a scriverlo esternamente con varie combinazioni ma non cambia.
                  Adesso sto ricontrollando tutto nell’eventualità che mi sia sfuggita qualche inezia.
                  Grazie.
                  pm

                  L’inezia è che le immagini non si includono con \include ma bensì con \includegraphics del pacchetto graphicx!!!
                  R.

                  robitex
                  Amministratore del forum
                    Up
                    0
                    Down
                    ::

                    franen” post=83599Eh no, troppo facile! 🙂
                    La cosa su cui mi sono bloccato è la richiesta che la scritta debba stare sulla diagonale della gabbia di testo. Centrala non è un problema, ma dare a \rotatebox l’angolo giusto in funzione delle dimensioni della gabbia non è immediato, per me.
                    Ho provato a mettere giù uno sviluppo in serie di Taylor per l’arcotangente, ma per avere qualcosa di preciso ci vogliono 20 termini… Probabilmente non è la soluzione migliore.
                    Fran

                    Perché è obbligatorio che la scritta sia centrata sulla diagonale?
                    Non lo sapevo.
                    Studierò qualcosa…

                    in risposta a: Le guide tematiche in epub #83836
                    robitex
                    Amministratore del forum
                      Up
                      0
                      Down
                      ::


                      Ciao a tutti.
                      Segnalo questo articolo apparso su TUG Boat.

                      R.

                      robitex
                      Amministratore del forum
                        Up
                        0
                        Down
                        ::

                        cfiandra” post=83590

                        A che punto è la competizione? Se tutti i concorrenti si sono ritirati, mi piacerebbe conoscere la soluzione, perché io non ne sono capace. Volendo, si potrebbe mettere in uno spoiler, così chi vuole continuare a provare può farlo.

                        Ciao

                        Fermi tutti 🙂

                        Causa qualche impegno di troppo non ho ancora avuto tempo per mettermici davvero sopra (ho solo una semi-bozza), ma lo farò sicuramente nei prossimi giorni: spero ci siano anche altri interessati a prendere parte alla competizione 🙂

                        Ciao
                        Claudio

                        Ma certamente Claudio.
                        Lancio la mia sfida con questo codice:
                        `% !TEX program = pdflatex
                        % !TEX encoding = UTF-8 Unicode

                        \documentclass[a4paper]{article}
                        \usepackage{graphicx}
                        \usepackage{xcolor}
                        \usepackage{kantlipsum}

                        \def\draftonpage{
                        \vbox to 0pt {
                        \vbox to 160pt {}
                        \hbox to 0pt {%
                        \scalebox{14.5}{%
                        \rotatebox{38}{%
                        \textcolor{gray!58}{Draft}%
                        }
                        }
                        }
                        }
                        }

                        \begin{document}
                        \draftonpage

                        \kant
                        \end{document}`

                        A voi…
                        R.

                        in risposta a: Gestione diagramma con TIKZ #84304
                        robitex
                        Amministratore del forum
                          Up
                          0
                          Down
                          ::

                          piemme” post=83581Salve a tutti,

                          ho un problema sulla gestione di un diagramma realizzato con il pacchetto TIKZ.

                          Funziona tutto a meraviglia ma l’insieme del diagramma viene posto a destra della pagina.

                          Ho provato a dare coordinate “x” negative ma non riesco a spostare a sinistra come vorrei.

                          Ci sono soluzioni?

                          Allego un file di prova (uso XeLaTex)
                          [attachment:1]C:\fakepath\Schema_test_finale_1.tex[/attachment]

                          [attachment=642]Schema_test_finale_1.tex[/attachment]

                          Grazie e saluti

                          PM

                          Ciao.
                          Provo ad aiutarti spiegando come viene composta una figura grafica in TikZ.
                          All’interno dell’ambiente TikZpicture vige un sistema di riferimento per l’inserimento delle coordinate. Alla fine il disegno avrà comunque delle dimensioni minime indipendenti dalla posizione utilizzata per l’origine.
                          Per capirci il seguente codice pruduce la stessa pagina finale:
                          `\begin{tikzpicture}
                          \draw (100,100) rectangle (101,102);
                          \end{tikzpicture}`
                          `\begin{tikzpicture}
                          \draw (0,0) rectangle (1,2);
                          \end{tikzpicture}`
                          Quindi i tuoi problemi di posizionamento non riguardano TikZ.
                          Come inserisci la figura?
                          Quello che immagino è che inserisci l’ambiente tikzpicture direttamente nel testo.
                          Quindi, ti trovi come una specie di enorme carattere. TeX lo identa, e lo tratta come un capoverso.
                          Prova a mettere \noindent subito prima dell’ambiente grafico.
                          Comunque, in generale dovresti inserire la figura a sua volta in un ambiente figure.
                          Sul codice TikZ che hai costruito, possono essere fatte ulteriori ottimizzazioni.
                          Saluti.
                          R.

                          in risposta a: [Progetto] Modelli di sorgente per documenti #84025
                          robitex
                          Amministratore del forum
                            Up
                            0
                            Down
                            ::

                            marchetto” post=83514Mi intrometto nella discussione sperando di poter almeno in parte bilanciare la vostra ferrea conoscenza di Latex col mio essere un eterno principiante in materia.

                            Sono studente universitario e vedo che Latex inizia a diffondersi a partire dal terzo anno (per la tesi) in poi, fino al dottorato. Direi che tra i colleghi, ho avuto modo di osservare che il loro approccio con Latex è così riassumibile: 20% di loro per Latex intende il materiale gommoso (diversi miei amici sono chimici e appassionati del porno 🙁 ), 40% ne ha sentito parlare ma finché c’è il buon vecchio Word (a mio parere un ottimo modo per spaccarsi la testa mentre fai la tesi) continua così ( questo vale anche per alcuni docenti: scandaloso!), il 10% usa LYX o simili ritenendosi soddisfatto di un risultato mediamente buono ma sicuramente migliorabile con un pacchetto (es TOPtesi o tesiclassica) e il restante 30% fortunatamente usa Latex.
                            Dell’ultimo 30% non conosco nessuno che non abbia cercato dei pacchetti già fatti e soprattutto che non si sia consultato con qualcuno per l’utilizzo o per rubar consigli. Secondo mie di questo gruppetto Latexiano nessuno non conosce il sito del GUIT

                            Tutto questo per dire che secondo me creare una raccolta di template non porterebbe molte nuove persone ad approcciare a Latex ma sicuramente aiuterebbe molti utenti a trovar modelli di ottima qualità e che non diano grossi problemi. Per ovviare alla ingente quantità di domande su come utilizzare il template si potrebbe invogliare a leggere le “istruzioni” magari distribuendo oltre al manuale classico, un riepilogo, volendo anche schematico/concettuale, delle possibilità di modifica.

                            Questa è la mia idea.

                            Buona giornata
                            Marco

                            Grazie per il contributo.
                            Occorre capire come organizzare i modelli e quale procedura di inserimento e modifica utilizzare.
                            A questo punto tirerei le seguenti conclusioni operative:
                            * occorre che chi vuole contribuire all’iniziativa invii una mail al gruppo ( webteam (at) guitex (dot) org ) spiegando eventualmente quale aiuto potrebbe offrire e quale struttura vorrebbe dare al progetto almeno sommariamente;
                            * tra circa un mese — diciamo a fine aprile 2013 — se ci sono abbastanza volontari (almeno due), presenteremo il progetto in consiglio;
                            * se verrà approvato, e magari migliorato, l’iniziativa verrà avviata.

                            In questo mese, a mano a mano che verranno definiti i dettagli, verrà aggiornato questo post.

                            Grazie a tutti.
                            R.
                            PS. In fase operativa, il mio contributo al progetto può essere solamente un supporto logistico.

                            robitex
                            Amministratore del forum
                              Up
                              0
                              Down
                              ::


                              Versione migliorata: si fa uso di una sequence per eliminare il problema dello spazio tra le iniziali:
                              `\documentclass{article}
                              \usepackage{expl3}
                              \usepackage{xparse}

                              \ExplSyntaxOn
                              \seq_new:N \l_my_initials_seq

                              \cs_new:Npn \my_parsename:w #1 #2 \q_stop
                              {
                              \seq_put_right:Nn \l_my_initials_seq { #1 . }
                              }

                              \cs_new:Npn \my_level_func:n #1
                              {
                              \my_parsename:w #1 \q_stop
                              }

                              \NewDocumentCommand \initials { >{ \SplitList { ~ } } m }
                              {
                              \seq_clear_new:N \l_my_initials_seq
                              \ProcessList { #1 } { \my_level_func:n }
                              \seq_use:Nnnn \l_my_initials_seq { ~ } { ~ } { ~ }
                              }
                              \ExplSyntaxOff

                              \begin{document}
                              La teoria elaborata da \initials{Albert Einstein Junior}, tuttora un segreto\dots

                              Un famoso filosofo \initials{Carl Popper} disse\dots

                              Il comando tratta ovviamente anche nomi unici come \initials{Paperino} che è amico di \initials{Topolino}
                              \end{document}
                              `

                              Basta sostituire \seq_put_right:Nn con \seq_put_left:Nn per reversare le iniziali…
                              R.

                              robitex
                              Amministratore del forum
                                Up
                                0
                                Down
                                ::


                                Eccomi di nuovo.
                                Il codice seguente, migliorabile, scritto in LaTeX3, inserisce le sole iniziali anche per argomenti con più nomi:
                                `\documentclass{article}
                                \usepackage{expl3}
                                \usepackage{xparse}

                                \ExplSyntaxOn
                                \cs_new:Npn \my_parsename:w #1 #2 \q_stop
                                {
                                #1 . ~
                                }

                                \cs_new:Npn \my_level_func:n #1
                                {
                                \my_parsename:w #1 \q_stop
                                }

                                \NewDocumentCommand \initials { >{ \SplitList { ~ } } m }
                                {
                                \ProcessList { #1 } { \my_level_func:n }
                                }
                                \ExplSyntaxOff

                                \begin{document}
                                La teoria elaborata da \initials{Albert Einstein Junior}, tuttora un segreto\dots

                                \initials{B.}
                                \initials{Carl Popper}
                                \end{document}`

                                R.
                                Ps.
                                Grazie Enrico per la correzione…

                                in risposta a: Un solo file di setup #84226
                                robitex
                                Amministratore del forum
                                  Up
                                  0
                                  Down
                                  ::

                                  vontreskow” post=83458Salve.

                                  Per scrivere in plain_tex, uso delle macro personali descritte in un file detto “setup”. In centinaia di cartelle, insieme ad almeno un file.tex, è presente il file setup. E’ possibile contenere il file setup in un’unica cartella e fare in modo che il programma (Miktex-2.9?) se lo vada a leggere lì?

                                  Grazie.

                                  Puoi usare l’albero personale.
                                  Uso questa tecnica ottenendo un risultato equilibrato tra efficacia e praticità.
                                  R.

                                Stai visualizzando 15 risposte – dal 1,531 al 1,545 (di 2,928 totali)

                                Go to top