- Questo topic ha 8 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 16 anni, 11 mesi fa da
egreg9.
-
CreatoreTopic
-
21 Settembre 2009 alle 12:07 #37159::
Buongiorno a tutti.
Se volessi scrivere l’elenco degli alunni delle mie classi in una tabella, e poi regolare l’altezza delle sue righe in modo da poterla ritagliare e incollare sul registro in modo che le righe (dovrei mettere dopo ogni nome \midrule, ovviamente) andassero a sovrapporsi perfettamente con quelle stampate, come dovrei fare? Si assuma, per esempio, che tra una ria e l’altra ci sia 1 cm.Grazie
Tommaso
-
CreatoreTopic
-
AutoreRisposte
-
-
21 Settembre 2009 alle 14:22 #37160::
Ciao Tommaso,un modo semplice è:
`{\renewcommand\arraystretch{1.2}
\begin{tabular}{…}
…
\end{tabular}}`
Cambia 1.2 nel valore che ti serve. È un semplice fattore moltiplicativo rispetto all’altezza standard.Nota il fatto che è tutto racchiuso in parentesi graffe così il fattore per scalare le altezze si applica solo alla tabella corrente.
Se al posto delle graffe avessi usato un ambiente table sarebbe stata la stessa cosa.Se vuoi invece un fattore che si applica a tutte le tabelle del documento basta che metti la ridefinizione nel preambolo.
Ciao ciao.
Fra
-
21 Settembre 2009 alle 20:45 #37161::
Buongiorno a tutti.
Se volessi scrivere l’elenco degli alunni delle mie classi in una tabella, e poi regolare l’altezza delle sue righe in modo da poterla ritagliare e incollare sul registro in modo che le righe (dovrei mettere dopo ogni nome \midrule, ovviamente) andassero a sovrapporsi perfettamente con quelle stampate, come dovrei fare? Si assuma, per esempio, che tra una ria e l’altra ci sia 1 cm.La soluzione più semplice usa Plain TeX e non LaTeX:
`\newdimen\entryheight
\hsize=10cm % larghezza della colonna
\entryheight=1cm % altezza delle righe\offinterlineskip % niente interlinea
\parindent=0pt % né rientro\def\entry#1{\vskip-0.2pt\hrule\vskip-0.2pt
\vbox to 1cm{\vss\hbox{#1}\vss}
\vskip-0.2pt\hrule\vskip-0.2pt}\hbox{}
\entry{Pinco Pallino}
\entry{Tizio Caio}
\entry{Donaldo Papero}
\entry{Sempronio De Busillis}\bye`
Compilare con pdftex e non con pdflatex. Stampare, ritagliare e incollare. 🙂Ciao
Enrico
-
23 Settembre 2009 alle 6:20 #37162::
Buongiorno a tutti, e grazie per le risposte.
Forse sono stato avaro di indicazioni, anche se la soluzione proposta dal noto autore è eccellente (ho anche già imparato a modificare ulteriormente l’altezza delle righe 😀 ).Siccome, però, sono già di mio intrigato con i comandi di LaTeX, e non conosco affatto pratico di Plain TeX, allora fornisco ulteriori elementi:
1. vorrei che, a partire dalla prima riga, le righe dispari fossero colorate di grigio, in una tonalità molti sbiadita;
2. tenuto conto che il cognome più lungo è “Santacatterina”, vorrei che i nomi venissero tutti incolonnati, come se li scrivessi in una table {ll};
3. vorrei scrivere tutti i cognomi in maiuscoletto (ma anche poterlo toigliere quando voglio).Sono cose possibili? E se sì, come si può fare con LaTeX?
Grazie e ciao
Tommaso
-
23 Settembre 2009 alle 8:30 #37163::
Buongiorno a tutti, e grazie per le risposte.
Forse sono stato avaro di indicazioni, anche se la soluzione proposta dal noto autore è eccellente (ho anche già imparato a modificare ulteriormente l’altezza delle righe 😀 ).Siccome, però, sono già di mio intrigato con i comandi di LaTeX, e non conosco affatto pratico di Plain TeX, allora fornisco ulteriori elementi:
1. vorrei che, a partire dalla prima riga, le righe dispari fossero colorate di grigio, in una tonalità molti sbiadita;
2. tenuto conto che il cognome più lungo è “Santacatterina”, vorrei che i nomi venissero tutti incolonnati, come se li scrivessi in una table {ll};
3. vorrei scrivere tutti i cognomi in maiuscoletto (ma anche poterlo toigliere quando voglio).Sono cose possibili? E se sì, come si può fare con LaTeX?
`\documentclass[a4paper]{article}
\usepackage{color}
\definecolor{mygray}{gray}{0.85}%\newcommand{\surnamefont}{}
\newcommand{\surnamefont}{\textsc}\newlength{\cellheight}
\newlength{\surnamelen}
\newlength{\givennamelen}\settowidth{\surnamelen}{\surnamefont{Santacatterina}}
\settowidth{\givennamelen}{Massimiliano}\setlength{\cellheight}{1cm} % inserire qui l'altezza voluta
\addtolength{\cellheight}{-2\fboxsep} % non toccare questa riga
\newcounter{cellcount}\pagestyle{empty}
\offinterlineskip
\setlength{\parindent}{0pt}\newcommand{\cellcolor}{%
\ifodd\value{cellcount}mygray\else white\fi}\newcommand{\entry}[2]{%
\stepcounter{cellcount}%
\colorbox{\cellcolor}{%
\vbox to \cellheight{
\vss
\hbox{%
\makebox[\surnamelen][l]{\surnamefont{#1}}\quad
\makebox[\givennamelen][l]{#2}%
}
\vss
}%
}\par
}\begin{document}
\hrule
\entry{Santacatterina}{Filippo}
\entry{Sempronio}{Massimiliano}
\entry{Cesare}{Gaio Giulio}
\entry{Pompeo}{Gneo}
\hrule\end{document}`
I filetti servono solo per indicare dove rifilare.La soluzione Plain era gratis, per questa c’è il supplemento LaTeX

Ciao
Enrico
-
23 Settembre 2009 alle 8:48 #37164::
Grazie!
Dopo a casa mi metto subito all’opera.
Mi spieghi perché non sono capace di fare queste cose, che poi sono banali?Un’ultima cosa: l’altezza di ogni riga è di circa 7,4 mm (misurando con un banale righello).
Qual è l’unità di misura più corretta per lavori di questo tipo, tra tutte quelle riconosciute da LaTeX?Grazie
TommasoPS: il supplemento LaTeX sarà corrisposto con enorme piacere, dopo il tramonto, di qui a un ciclo lunare completo.
PPS: e gli svarioni nel mio primo messaggio sono causati da questa stupida tastiera che ho a scuola, con i tasti separati da un centimetro di spazio, con le lettere cancellate, con un tempo di rilascio geologico.
-
23 Settembre 2009 alle 9:56 #37165::
Grazie!
Dopo a casa mi metto subito all’opera.
Mi spieghi perché non sono capace di fare queste cose, che poi sono banali?Un’ultima cosa: l’altezza di ogni riga è di circa 7,4 mm (misurando con un banale righello).
Qual è l’unità di misura più corretta per lavori di questo tipo, tra tutte quelle riconosciute da LaTeX?C’era un piccolo errore di valutazione, bisogna correggere il valore di \cellheight per tener conto del parametro \fboxsep, aggiungendo
`\addtolength{\cellheight}{-2\fboxsep}`
Stampando ottengo esattamente un centimetro, non fidarti del monitor. Correggo anche nel messaggio precedente.Ciao
Enrico
-
23 Settembre 2009 alle 11:22 #37166
-
23 Settembre 2009 alle 11:49 #37167::
Ciao.
Il comando che hai proposto nel tuo ultimo messaggio compare già nel codice che mi hai dato sopra, esattamente identico.
Indendevo dire che sul registro, le righe sono alte 7,4 mm 😀Mi sono spiegato male.
Infatti, ho corretto il codice dopo essermi accorto della magagna. Basta scrivere 7.4mm in vece che 1cm.
Ciao
Enrico
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.