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.