Risposte nei forum create
-
AutoreRisposte
-
30 Marzo 2013 alle 9:03 in risposta a: [conc.#1]Scritta DRAFT in diagonale grigio chiara sul foglio #83061::
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}
`
29 Marzo 2013 alle 15:45 in risposta a: [conc.#1]Scritta DRAFT in diagonale grigio chiara sul foglio #83059::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
ClaudioUn 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.
29 Marzo 2013 alle 9:06 in risposta a: [conc.#1]Scritta DRAFT in diagonale grigio chiara sul foglio #83057::
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}`
::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.
28 Marzo 2013 alle 20:26 in risposta a: [conc.#1]Scritta DRAFT in diagonale grigio chiara sul foglio #83055::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.::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.
::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.
pmL’inezia è che le immagini non si includono con \include ma bensì con \includegraphics del pacchetto graphicx!!!
R.
28 Marzo 2013 alle 12:18 in risposta a: [conc.#1]Scritta DRAFT in diagonale grigio chiara sul foglio #83052::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.
FranPerché è obbligatorio che la scritta sia centrata sulla diagonale?
Non lo sapevo.
Studierò qualcosa…
28 Marzo 2013 alle 9:16 in risposta a: [conc.#1]Scritta DRAFT in diagonale grigio chiara sul foglio #83050::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
ClaudioMa 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.
::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.
::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 GUITTutto 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
MarcoGrazie 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.
25 Marzo 2013 alle 11:18 in risposta a: Ridefinire comando-creazione iniziale puntata di una parola #84220::
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\dotsUn 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.
25 Marzo 2013 alle 10:20 in risposta a: Ridefinire comando-creazione iniziale puntata di una parola #84219::
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…
::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.
-
AutoreRisposte