Risposte nei forum create
-
AutoreRisposte
-
::
Mi inserisco nella discussione.
Ho fatto una nota relativa ad un termine inserito in una tabella.
Compilando, mi compare il numerino relativo alla nota, ma a piè di pagina non c’è nulla.
La mia nota è questa :\footnote{ La voce “Oneri diversi” comprende gli ammortamenti e per il 2006 è considerata al netto dei proventi che confluiscono nella gestione amministrativa}
Non puoi mettere le note al piede nelle tabelle, ma si potrebbe ovviare. Se però la tabella è dentro un ambiente table la cosa è da evitare con cura; questo tipo di annotazioni, in casi del genere, vanno certamente nella didascalia.
Una delle regole auree (non valida in tutte le situazioni, per la verità, ma in molte sì) è che se una cosa è difficile da fare con LaTeX allora è tipograficamente discutibile.
Ciao
Enrico
::beh, pare che ridimensionando alcune cose e spostandone altre il problema si risolva; quindi dev’essere solo una “libertà” che LaTeX si prende quando si trova con molti oggetti ingombranti come i gruppi di equazioni … tuttavia magari esiste un comando per dirgli che le righe saltate in quel modo non mi piacciono?
Non è possibile: LaTeX fa del suo meglio con quello che gli metti a disposizione. Se hai blocchi indivisibili troppo grandi, è evidente che da qualche parte lo spazio se lo deve creare.
per l’indentazione, mi rendo conto che è un po’ un inglesismo, ma (http://it.wikipedia.org/wiki/Indentazione) pensavo fosse di uso comune, non volevo far rabbrividire nessuno 🙄
Dei sei dizionari che ho consultato, solo uno riporta “indentatura”, come termine proprio della meccanica (riguarda le ruote dentate). Qualcuno riporta “indentazione” ma solo come termine geografico.
Si tratta solo di un brutto anglicismo. Non vedo perché non si possa (debba) usare il termine “rientro” che ha alcuni secoli di storia nel senso usato proprio in quella pagina di Wikipedia.
Ciao
Enrico
::le equazioni dalla spaziatura sgradevole sono:
`
\begin{subequations}\label{eq:ZFSparam}
\begin{align}
& D=-\frac{3}{2}\mathrm{Z}=3\frac{g^{2}\beta_{e}^{2}\mu_{0}}{16\pi}\left\langle\frac{r^2-3z^2}{r^5}\right\rangle \label{eq:ZFSD}\\
& E=-\frac{1}{2}(\mathrm{Y}-\mathrm{X})=3\frac{g^{2}\beta_{e}^{2}\mu_{0}}{16\pi}\left\langle\frac{x^2-y^2}{r^5}\right\rangle\label{eq:ZFSE}
\end{align}
\end{subequations}
`a meno di non riportare tutto il capitolo (non mi pare il caso) quello che posso dire è che contiene normalissimo testo, figure ed equazioni. In altri capitoli usando lo stesso modo di inserire i vari oggetti è tutto normale.
Il problema è semplicemente che alcune separazioni di paragrafo (non sempre le stesse se modifico \jot), e dopo alcuni titoli di subsection, viene aggiunto dello spazio bianco, tipo 2 o 3 righe anche. Io invece vorrei solo la buona vecchia “a capo con indentazione”.
Non vedo nessun motivo di differenza fra questo capitolo e gli altri, dal punto di vista del codice usato. Se sapessi cos’ha di strano non sarei qui a chiedere un consiglio.
Male che vada inserirò a mano dello spazio negativo
Per lo spazio fra le equazioni scrivi \\[\jot] invece che solo \\; uno degli usi di \jot è proprio questo.
Per quanto riguarda l’altro problema, sinceramente non so che dirti: non è un comportamento che possa risultare da normale testo. Ti prego, però: lo spazio orizzontale all’inizio di un capoverso si chiama “rientro”, la parola che usi tu mi fa rabbrividire di sdegno ogni volta. 🙂
Ciao
Enrico
::[quote]Grazie! Faccio un’altra domanda sulle tabelle.
Mi capita a volte di avere dei numeri non allineati al titolo. Mi spiego, ecco cosa succede:Età media
60
1000
75Quindi, come vedete, vorrei il mile in linea con il 75, allineato a destra.
Ho provato a dare il comando r dopo il \begin tabular in tal modo : \begin{tabular}{r}
Pero’ in tal modo, mi si spoata adestra pure il titolo età media e non sta bene.
Sapete come fare per mandare a destra solo i numeri e non il titoletto?GrazieSe i numeri sono tutti più stretti di “Età media” non c’è alcun problema, mi pare. Forse è meglio se ti spieghi con qualche dettaglio in più.
Ciao
EnricoTi metto la tabella
`\begin{table}[]\small
\caption{ Indicatore di assunzione antipasoliniana} \label{vierchowod} \centering
\medskip
\begin{tabular}{lrccccc}
\topruleTipo di comparto &
Numero di linee & 2 anni & 5 anni & 10 anni & 35 anni \\
\midrule
\textbf{Gestioni tradizionali} & 65 & 3.5 & 2.2 & 1.7 & 1.3 \\
\midrule
\textbf{Unit linked} & 95 & 3.7 & 2.6 & 2.2 & 1.9 \\
\midrule
\quad Obbligazionarie & 17 & 3.1 & 2.1 & 1.7 & 1.4 \\
\midrule
\quad Bilanciate & 19 & 3.6 & 2.5 & 2.1 & 1.7 \\
\midrule
\quad Azionarie & 49 & 4.0 & 2.8 & 2.4 & 2.0 \\
\midrule
\quad Flessibili & 10 & 3.3 & 2.4 & 2.3 & 2.2 \\
\midrule
\textbf{Totale} & 160 & 3.6 & 2.4 & 2.0 & 1.6 \\
\bottomrule\end{tabular}
{Fonte: La Gazzetta di Beverone}
\end{table}`
A parte la tabella che è malfatta, quello che ti volevo proporre è che mettendo r alla seconda colonna, effettivamente i numerini vanno a destra ed il titolo resta al centro, ma quello che vorrei io è avere il titolo al centro ed i numerini al centro, ma allineati a destra.
Insomma, ora viene cosi’:
ETA’ MEDIA AMICI
1000
30
22io vorrei che venisse
ETA’ MEDIA AMICI
1000
30
22Cosi’ sembra uguale, ma se vai a riportare il mio messagio vedi nel codice cosa intendo.
Spero di averti chiarito il dubbio , chiedi pure.[/quote]
È impossibile fare, in automatico, quello che chiedi: TeX regola l’ampiezza delle colonne in base all’elemento più grande che compare nella colonna. Quindi la faccenda si può risolvere solo quando sappiamo che i dati sono definitivi.Ci sono due modi di procedere; il primo è più semplice: scrivi
`\newcommand{\?}{\kern.5em }`
e usi \? al posto delle “cifre mancanti”, dichiarando la colonna come “c”. Scrivo solo le ultime due righe:
`\quad Flessibili & \?10 & 3.3 & 2.4 & 2.3 & 2.2 \\
\midrule
\textbf{Totale} & 160 & 3.6 & 2.4 & 2.0 & 1.6 \\`
In alternativa, puoi dichiarare la seconda colonna in modo un pochino più complicato:
`\setlength{\templen}{(\widthof{Numero di linee}+\widthof{160})/2+\tabcolsep}
\begin{tabular}{
l
@{\hspace{\templen}}r@{\hspace{\templen}}
ccccc}`
dopo aver detto nel preambolo \newlength{\templen} e caricato il pacchetto calc. Noterai che ho messo il testo dell’intestazione di colonna e il numero più grande.Direi che il primo modo è molto più semplice.
Non mettere \midrule tra le righe dalla terza alla settima, aiuterà chi legge a capire che si tratta della disarticolazione dei dati relativi alla terza riga.
Ciao
Enrico
::riguardo a jot, l’avevo modificato perché un array di equazioni un po’ “alte” aveva delle parentesi che sembravano sfiorarsi e mi sembrava brutto… se non con \jot come potrei distanziarle un po’ di più?
Come scrivi quelle equazioni?
riguardo alle ulteriori informazioni non saprei cosa aggiungere…
nel capitolo incriminato non ci sono che due figure e per nessuna delle due uso l’opzione [htb]… per il resto ci sono solo parecchie equazioni e del testo… eliminando la correzzione al \jot il problema rimane solo in un paio di punti tra cui l’inizio di una subsection (e l’effetto lì è proprio bruttino)…a questo punto inserisco in coda l’intero preambolo, sperando di non appesantire troppo il post
…
il capitolo incriminato è introfisica
E che cosa pensi ti possa dire? Non spieghi affatto che cosa succede, tranne qualche vaga parola nel primo messaggio. Che cosa ci sia scritto in “introfisica.tex” non ho alcun modo di saperlo.
Saltare una riga dopo un titolo di sezione non ha alcun effetto. Quello che mi fa pensare è la sparizione del rientro; che cosa c’è prima?
Correggi la “correzzione“, ti prego. 🙂
Ciao
Enrico
::Grazie! Faccio un’altra domanda sulle tabelle.
Mi capita a volte di avere dei numeri non allineati al titolo. Mi spiego, ecco cosa succede:Età media
60
1000
75Quindi, come vedete, vorrei il mile in linea con il 75, allineato a destra.
Ho provato a dare il comando r dopo il \begin tabular in tal modo : \begin{tabular}{r}
Pero’ in tal modo, mi si spoata adestra pure il titolo età media e non sta bene.
Sapete come fare per mandare a destra solo i numeri e non il titoletto?GrazieSe i numeri sono tutti più stretti di “Età media” non c’è alcun problema, mi pare. Forse è meglio se ti spieghi con qualche dettaglio in più.
Ciao
Enrico
::Sempre a proposito di tabelle, cosa mi consigliate quando si vuole fare una cosa del genere:
Serpenti
Pitone
Boa
AnacondaFelini
Leone
Ghepardo
LeopardoInsomma, vorrei che alcune righe della tabella venissero spostate a destra per far capire che fanno parte di u sottoinsieme del riferimento principale.
Io sulle guide ho trovato due comandi : \hspace che sicuramente non approverete perchè magari troppo manuale e poi altro sulla guida di Daniele Giacomini.
Ditemi voi grazie\quad oppure \qquad davanti alla parola che vuoi spostare.
Ciao
Enrico
::Come funziona il meccanismo di LaTeX per decidere lo spazio fra i paragrafi?
perché mi capita che ad un tratto, dopo essersi comportato in modo perfettamente normale per tutte le 16 pagine precedenti, decida di inserirmi uno spazio bianco di circa 3 righe fra un paragrafo e l’altro (invece di andare a capo e indentare come in tutto il resto del testo) e di procedere così fino alla fine del capitolo. Lo spazio viene inserito anche dopo il titolo delle sezioni (dopo il quale abitualmente salto una riga, nel sorgente).
Al capitolo successivo tutto torna normale, ma non riesco a trovare nulla di insolito nel punto in cui sembra iniziare questo comportamento.
Che sta succedendo?
compilo con pdflatex usando TeX-Live sotto ubuntu, e la mia intestazione è la seguente
`
\documentclass[a4paper,11pt,openright,notitlepage,twoside,headsepline,pointlessnumbers]{scrbook}\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[binding=1cm]{layaureo}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage[labelfont={sf,bf}]{caption,subfig}%
\usepackage{setspace}
\usepackage{fancyhdr}
\usepackage{extramarks}
%\usepackage{scrpage2}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{textcomp}
\usepackage{ctable}
\usepackage[square,comma,sort&compress]{natbib}
\usepackage{chemarr}
%\usepackage{titlesec}
%\usepackage{makeidx}
\usepackage{hyperref}\setlength{\jot}{10pt}
`
ho omesso altro codice che ho già riscontrato non essere responsabile della cosa (nel senso che commentandolo il problema rimane)p.s. ho notato che eliminando l’impostazione di \jot il problema si sposta in zone diverse del capitolo (ma non sparisce)
Le informazioni che dai non sono sufficienti a capire. Quasi sempre questo è dovuto al voler inserire figure o tabella “proprio lì”.
Non toccare \jot, non va modificato se non localmente in situazioni particolari.
Ciao
Enrico
::Ciao a tutti. Non riesco a capire bene quanto spiegato nella guida di listings a proposito delle colonne con formato “fixed” e “flexible”.
The fixed column format ruins the spacing intended by he font designer, while the flexible formats ruin the column alignment (possibly) ntended by the programmer.
1. Quindi nelle colonne “fixed” viene modificato lo spazio tra i caratteri per conservare l’allineamento tra colonne, mentre in quelle “flexible” questo non succede (tutti i caratteri vengono stampati nella loro larghezza naturale). Giusto?
2. La distinzione “fixed” e “flexible” dovrebbe essere dunque irrililevante se si usano font a spaziatura fissa, giusto?
3. Però noto sperimentalmente che questo non è vero: se si usano font Beramono e l’opzione “fixed”, i caratteri appaiono più spaziati (rispetto alla resa predefinita). Perché?
4. La distinzione tra “flexible” e “fullflexible” è che nelle colonne “flexible” si accetta di dilatare o stringere gli spazi bianchi fra le parole per cercare di mantenere (per quanto possibile) l’allineamento, mentre in quello “fullflexible” ciò non accade?
5. Ma davvero è pensabile/consigliabile scrivere codici usando un font non a spaziatura fissa?
6. Che differenza c’è tra scrivere
`columns=flexible`
e
`flexiblecolumns=true`I codici composti con l’opzione fixed in un tipo di carattere a spaziatura proporzionale sono fra le cose più brutte che abbia mai visto. Fanno venire il mal di mare e sono del tutto illeggibili.
I casi sono due: se si desidera mantenere l’allineamento delle colonne (modello Fortran) si deve adoperare un tipo di carattere a spaziatura fissa; se l’allineamento non ha funzioni sintattiche si può usare ciò che si vuole. A questo punto, meglio dare l’opzione fullflexible in ogni caso e dimenticarsi di tutto il resto.
Il pacchetto listings è davvero buono sotto molti aspetti, ma non può essere la soluzione. La composizione di codice di un linguaggio di programmazione andrebbe passata a un programma esterno, sto pensando a mft che trasforma il codice METAFONT in codice TeX nel modo che chi abbia letto il METAFONTbook conosce: le parole chiave sono in nero, gli indici alle variabili compaiono come indici, le variabili sono scritte in corsivo, eccetera. Il paragone fra ciò che si ottiene con listings dalla stessa sorgente è davvero impietoso.
Ciao
Enrico
::Lorenzo,
buongiorno e grazie.
Ho provato a fare come mi hai suggerito, ma non funziona.Qui sotto posto il codice compilabile funzionante:
`\documentclass[a4paper]{book}
\usepackage[italian]{babel}
\usepackage[latin1]{inputenc}
\usepackage{type1ec}
\usepackage[T1]{fontenc}
\usepackage{makeidx}
\usepackage{lettrine}
\usepackage{microtype}
\usepackage{graphicx}
…`
a partire da \begin{document}, naturalmente dopo aver caricato il pacchetto chngpage, ottengo un errore del tipo:
`! Missing number, treated as zero.
(
l.56 … // 2) – \oddsidemargin – \hoffset – 1in}{}?`
Per usare quella sintassi devi caricare il pacchetto calc.
Ciao
Enrico
14 Novembre 2008 alle 16:11 in risposta a: Creazione ambienti simili a \exercise e \answer del TeXBook #28668::Giusto, c’è anche a pag. 422.
Grazie per l’aiuto, la soluzione è perfetta.
Mi spieghi un paio di cose?
Cosa ci fa quel gruppo, cioè questo
`{\obeylines \gdef\copyans#1
{\def\next{#1}%
\ifx\next\empty\let\next=\endgroup %
\else\immediate\write\ans{\next} \let\next=\copyans\fi\next}} `“sospeso a mezz’aria”? Non è all’interno di nessun comando!
Si sta definendo la macro \copyans con l’argomento delimitato da un carattere ^^M attivo, \obeylines serve a quello. La macro \setupcopy ridà poi \obeylines in modo che \copyans sia valutata nel modo corretto. Ciò che fa \copyans è raccogliere ciò che sta da lì alla fine della riga e scriverla sul file ausiliario. Per questo serve la riga vuota: se l’argomento è vuoto, infatti, si esegue \endgroup che fa finire tutta la faccenda.
La definizione di \copyans va dentro un gruppo per evitare che l’azione di \obeylines si propaghi senza rimedio e infatti è data tramite \gdef.
e poi perché il loop
`\@tempcnta=128
\loop\ifnum\@tempcnta<256
\catcode\@tempcnta=12
\advance\@tempcnta\@ne
\repeat`
dentro \setupcopy, o meglio \ex@sanitize?Ma il loop non è sempre positivo? Non si rimane lì per sempre?o quel catcode risolve tutto? Non potevi scrivere come scritto in manmac.tex cioè \catcode`\|=\other?
No, il \loop cambia in 12 il codice di categoria di tutti i caratteri da 128 a 255. È importante perché il pacchetto inputenc li rende attivi e questo impedirebbe di scriverli sul file delle risposte. Facendoli diventare di categoria 12, saranno scritti tali e quali, ma quando \inputanswers causa la lettura del file delle risposte avranno la categoria giusta.
Ciao
Enrico
14 Novembre 2008 alle 15:24 in risposta a: Creazione ambienti simili a \exercise e \answer del TeXBook #28666::Ho provato ma non andava. Poi ho aggiunto \newwrie\ans e va. Però non mi stampa le risposte.
`\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsthm}
\theoremstyle{definition}
\newtheorem{exercise}{Esercizio}[section]\makeatletter
\newwrite\ans
\def\answer{\par
\immediate\write\ans{}
\immediate\write\ans{\string\item[\theexercise]}
\copytoblankline}
\def\copytoblankline{\begingroup\setupcopy\copyans}
\def\setupcopy{\ex@sanitize\obeylines}
{\obeylines \gdef\copyans#1
{\def\next{#1}%
\ifx\next\empty\let\next=\endgroup %
\else\immediate\write\ans{\next} \let\next=\copyans\fi\next}}\def\ex@sanitize{\def\do##1{\catcode`##1=12 }\dospecials
\@tempcnta=128
\loop\ifnum\@tempcnta<256
\catcode\@tempcnta=12
\advance\@tempcnta\@ne
\repeat}
\def\inputanswers{\immediate\closeout\ans
\section*{Risposte}
\begin{enumerate}
\input{\jobname.ans}
\end{enumerate}}
\makeatother\begin{document}
\section{Titolo}
testo
\begin{exercise}
Quanto fa $2+2$?\answer $4$\end{exercise}
\inputanswers
\end{document} `Mi dice che manca il file nomefile.ans.
Mancava anche un’altra riga dopo \newwrite\ans:
`\immediate\openout\ans=\jobname.ans`
Correggo anche nell’altro messaggio.Ciao
Enrico
14 Novembre 2008 alle 14:46 in risposta a: Creazione ambienti simili a \exercise e \answer del TeXBook #28664::Salve,
sto cercando di creare due ambienti simile ai comandi \exercise e \answer del TeXBook (pag 422 appendice E).
Il Grand Wizard nel sorgente del TeXBook scrive
`\exercise Esercizio
\answer Risposta `Il testo dell’esercizio compare dove viene dato il comando \exercise, mentre \answer compare nell’appendice A e come item di un elenco numerato.
Vi chiedo se è possibile adattare quei due comandi in modo da creare due ambienti exercise e answer
`\begin{exercise}…
\end{exercise}
\begin{answer}…
\end{answer}`oppure answer come argomento dell’ambiente exercise
`\begin{exercise}[answer]…
\end{exercise},
`
che si comportino allo stesso modo.`\usepackage{amsthm}
\theoremstyle{definition}
\newtheorem{exercise}{Esercizio}[section]\newwrite\ans
\immediate\openout\ans=\jobname.ans
\def\answer{\par
\immediate\write\ans{}
\immediate\write\ans{\string\item[\theexercise]}
\copytoblankline}
\def\copytoblankline{\begingroup\setupcopy\copyans}
\def\setupcopy{\ex@sanitize\obeylines}
{\obeylines \gdef\copyans#1
{\def\next{#1}%
\ifx\next\empty\let\next=\endgroup %
\else\immediate\write\ans{\next} \let\next=\copyans\fi\next}}\makeatletter
\def\ex@sanitize{\def\do##1{\catcode`##1=12 }\dospecials
\@tempcnta=128
\loop\ifnum\@tempcnta<256
\catcode\@tempcnta=12
\advance\@tempcnta\@ne
\repeat}
\makeatother\def\inputanswers{\immediate\closeout\ans
\section*{Risposte}
\begin{enumerate}
\input{\jobname.ans}
\end{enumerate}}`
Preso dritto dritto da manmac.tex, a parte certe correzioni per LaTeX; il documento va scritto così:
`\section{Titolo}
…
\begin{exercise}
Quanto fa $2+2$?\answer $4$\end{exercise}`
La riga bianca tra la risposta e \end{exercise} ci vuole. Funziona anche con codifiche a 8 bit (forse anche con utf8).Ciao
Enrico
::Ciao a tutti.
`\usepackage[binding=0.5mm]{layaureo}`
Qual è il nome più corretto per indicare “binding” (e le altre parole ad essa analoghe; quelle, per intenderci, che sono seguite da =)? Opzione? O sarebbe meglio riservare questo nome alle voci che non sono seguite da = , come “italian” in
`\usepackage[babel]{italian}`
Dite che “chiave” sia meglio?Quindi, in questo contesto, potremmo dire propriamente che “binding” è una chiave, e “binding=0.5mm” un’opzione?
Cerco il massimo scrupolo filologico e la maggior chiarezza didattica possibile… 😉
L’opzione è “binding=0.5mm” che è nella forma “chiave=valore”. Il termine chiave non mi piace tantissimo, ma non ne so trovare uno migliore; del resto è un termine abbastanza diffuso in informatica per via di “key” in inglese. In italiano, “chiave” indica l’oggetto con cui si sblocca una serratura, in senso proprio, o concetti analoghi in senso figurato; in lessici specialistici (musica, architettura) può avere altri significati. In inglese, “key” ha un uso molto più ampio, per esempio “tasto”; da questo credo sia disceso il significato in informatica, “campo che identifica un record”.
Ciao
Enrico
::`\makeatletter
\g@addto@macro\@marginparreset\footnotesize
\makeatother`Funziona (non ho capito come però)! Strepitoso Enrico!!!
Oramai ci sono… ne approfitto. 😉 Esiste un modo migliore di implementare il seguente codice?
`
\let\oldmarginpar\marginpar
\renewcommand\marginpar[1]{\oldmarginpar[\raggedleft\footnotesize #1]{\raggedright\footnotesize #1}}
`No; in realtà non si dovrebbe ridefinire \marginpar in questo caso, perché questo tuo \marginpar non ha la stessa sintassi di quello originale, infatti non ammette un argomento opzionale. Quindi meglio definire un altro comando.
La magia che ho proposto funziona perché il comando \@marginparreset viene sempre eseguito al momento di comporre il testo della nota a margine; con quel trucco si aggiunge ai comandi da eseguire anche \footnotesize.
Ciao
Enrico
-
AutoreRisposte