Risposte nei forum create
-
AutoreRisposte
-
::
In realtà esiste un modo molto semplice, usando Word (che suppongo tu abbia, dato che hai Excel). Non so se questa cosa si può fare direttamente in Excel, ma a suo tempo usavo ahimè Word e ti posso dire come farlo:- devi selezionare tutte le celle che ti interessano da Excel e copiarle in Word, come normale tabella
- in Word, selezioni la tabella (in realtà basta che il cursore sia posizionato all’interno), vai sulla scheda Layout e clicchi su Converti in testo (sta a destra nel ribbon), che ti trasforma per l’appunto la tabella in testo
- quando compare la finestrella di dialogo che dice Separa il testo con, tu gli specifichi “Altro: &”.
- Ora vai a Sostituisci e ci metti “Trova: ^p” e “Sostituisci con: \\^p”, e infine clicchi su Sostituisci tutto (attento a farlo una e una sola volta, altrimenti continua ad aggiungerti “\\” in fin di riga).
Il passo 3 serve a separare le celle con il carattere ‘&’. L’ultimo passaggio sostituisce i fine riga (^p) con la sequenza “\\” e un nuovo fine riga.
Il metodo è molto semplice ma se le celle di Excel non contengono cose strane dovrebbe funzionare.
Ciao,
Antonio
::
Devi ridefinire le intestazioni o i piè di pagina usando il pacchetto fancyhdr, inserendo dove ti serve
`\pageref{LastPage}`Per poterlo usare devi includere anche il pacchetto lastpage e compilare due volte.
Non posso essere più specifico perché bisognerebbe sapere come formatti le intestazioni o i piè di pagina.
Ciao,
Antonio
::
Perché non avrebbe senso? Io preferisco sapere come verranno usati i testi che scrivo.
Anche io sto preparando degli appunti in LaTeX e, una volta finiti, voglio che:- sia legato il mio nome ad essi
- siano modificabili
- non siano usati per fini commerciali
La licenza che intendo usare è esattamente la stessa di questo forum: Creative Commons BY-NC-SA.
Devi stare attento ovviamente a non fare Copia/Incolla di testi, ma anche a non mettere immagini o grafici protetti (io li sto rifacendo tutti con TikZ e in fin dei conti escono molto meglio).
Ciao,
Antonio
5 Ottobre 2011 alle 19:42 in risposta a: Tikz: rendere omogenea la linea di base e altri quesiti #63642::
Oddio, anche “routine of press” per dire “routine di stampa” ha qualcosa che non va… 😕
Se inviavi il messaggio qui sul forum prima di inviarglielo, eravamo lieti (almeno io) di darti brevemente una mano; capisco che non è l’obiettivo principale del forum, ma ne va della chiarezza di una comunicazione tra gli amanti di TeX/LaTeX.Facci sapere cosa ti risponde.
Ciao e grazie,
Antonio
26 Settembre 2011 alle 11:36 in risposta a: [Risolto]Scelta automatica fra \clearpage e \cleardoublepage #6412125 Settembre 2011 alle 17:14 in risposta a: [Risolto]Scelta automatica fra \clearpage e \cleardoublepage #64119::
Ciao Enrico.
Ho cercato di documentarmi meglio, ma comunque non sono riuscito a capire cosa non va nel mio ragionamento.La notazione che ho usato (ripeto: l’ho improvvisata) non pretendo che rappresenti la verità profonda delle cose, ma spero che sia almeno “didatticamente valida”. Ti chiedo di dirmi in maniera esplicita se è invece fuorviante. Vorrei rappresentare il campo di azione dell’input processor (a destra del ‘|’), dell’expansion processor (tra l’inizio riga e il ‘|’), e dell’execution processor (ciò che sta all’inizio della riga e poi scompare).
Inoltre, dico giusto quando dico che a ogni passo, la “main token list” va dall’inizio della riga fino al “|”? (Non ho trovato riferimenti alla “main token list” nel TeXbook.)
In ogni caso, applicando quella notazione, ottengo esattamente le espansioni che hai riportato tu. Situazione iniziale con main token list vuota:
`
> | \expandafter\expandafter\expandafter\a\expandafter\b\c`
L’input processor legge i caratteri “\expandafter” e li trasforma nel token complesso expandafter
`
> \expandafter | \expandafter\expandafter\a\expandafter\b\c`
affinché l’expansion processor possa espandere expandafter, l’input processor gli prepara altri due token:
`
> \expandafter\expandafter\expandafter | \a\expandafter\b\c`
A questo punto, si può espandere il primo \expaft, e l’espansione lascia intatto il secondo \expaft e avvia l’espansione del terzo:
`
\expandafter >\expandafter | \a\expandafter\b\c`
Ma per espandere il terzo si devono ottenere altri due token, quindi:
`
\expandafter >\expandafter\a\expandafter | \b\c
\expandafter\a >\expandafter | \b\c
\expandafter\a >\expandafter\b\c |
\expandafter\a\b >\c |
\expandafter\a\b[espansione di \c] > |
`Mi pare sia in accordo con quanto dici tu (anche se ti riferivi al primo esempio, ma il concetto rimane):
TeX non esamina \a fino a che l’espansione del primo token sia terminata, ciò che avviene solo quando è espanso \c
Infatti, ora che ha fatto le espansioni a catena dovute al primo \expandafter* (“> |”), può riprendere a espandere dall’originariamente secondo \expandafter, ovvero da quello che io immagino sia ora il primo token della main token list. E quindi:
`
> \expandafter\a\b[espansione di \c] |
\a [espanzione di \b][espansione di \c] |
`Grazie della pazienza,
Antonio_____________________
* Forse sbaglio perché dovrei considerare tutte queste espansioni come un unico passo? Mi riferisco a quando dici:questo causa l’espansione del secondo \expandafter, ma subito!
::
Usando:
`
\newcolumntype{h}{>{\centering\arraybackslash$}X<{$}} ` dichiari un nuovo tipo di colonna (l'ho chiamata "h") che fa due cose, fondamentalmente. Innanzitutto, usa lo specificatore di colonna “X” (definito da tabularx) che si piglia tutto lo spazio a disposizione: se ne usi più di uno, se lo dividono equamente. Secondo, centra il testo all’interno della cella (\centering) e predispone per scriverci le formule senza dover specificare ogni volta i $. In sostanza puoi fare
`
\begin{tabularx}{\textwidth}{hhhh}
f(x) = g(x) & y(x)=z(x) & f(x) = g(x) & y(x)=z(x)
\end{tabularx}`
anziché
`
\begin{tabularx}{\textwidth}{hhhh}
$f(x) = g(x)$ & $y(x)=z(x)$ & $f(x) = g(x)$ & $y(x)=z(x)$
\end{tabularx}`La differenza col codice di Lorenzo è che viene automaticamente suddivisa la pagina (orizzontalmente) in colonne aventi la stessa larghezza (senza che tu debba specificare questa larghezza).
Ciao
::
Puoi anche usare i pacchetti array e tabularx in combinazione e fare qualcosa del tipo:
`
\documentclass[a4paper,11pt,landscape]{article}\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage[margin=1mm]{geometry}
\usepackage{array, tabularx}\newcolumntype{h}{>{\centering\arraybackslash$}X<{$}} \begin{document} \begin{tabularx}{\textwidth}{hhhh} f(x) = g(x) & y(x)=z(x) & f(x) = g(x) & y(x)=z(x)\\ f(x*2) = g(x) & y(x)=z(x) & f(x) = g(x) & y(x)=10/z(x)\\ f(x+213/4) = g(x) & y(x)=z(x) & f(x) = g(x) & y(x)=z(x) \end{tabularx} \end{document}` Ciao, Antonio
25 Settembre 2011 alle 7:29 in risposta a: [Risolto]Scelta automatica fra \clearpage e \cleardoublepage #64117::
La vera domanda è:dopo aver espanso \cleardoublepage, è lì che, trovandosi in una situazione tipo
`
\def\cleardoublepage{\if@openright\qualcosa\ottenuto\dall\espansione\di\cleardoublepage > | \else\clearpage\fi}\altri\comandi
`
(rimarco “> |”), si rende conto che deve riprendere dall’inizio della token list?
25 Settembre 2011 alle 7:08 in risposta a: [Risolto]Scelta automatica fra \clearpage e \cleardoublepage #64115::
Grazie della spiegazione.
Sei stato chiarissimo ma voglio essere ancora più esplicito.Dimmi se il discorso fila. Indico con “>” il punto da cui bisogna espandere e separo con “|” ciò che è stato già tokenizzato dai dati grezzi presenti nell’input buffer.
Dovrebbe aversi:
`
> | \expandafter\def\expandafter\cleardoublepage\expandafter{\expandafter\if@openright\cleardoublepage\else\clearpage\fi}
> \expandafter | \def\expandafter\cleardoublepage\expandafter{\expandafter\if@openright\cleardoublepage\else\clearpage\fi}
> \expandafter\def\expandafter | \cleardoublepage\expandafter{\expandafter\if@openright\cleardoublepage\else\clearpage\fi}
\def> \expandafter | \cleardoublepage\expandafter{\expandafter\if@openright\cleardoublepage\else\clearpage\fi}
\def> \expandafter\cleardoublepage\expandafter | {\expandafter\if@openright\cleardoublepage\else\clearpage\fi}
\def\cleardoublepage> \expandafter | {\expandafter\if@openright\cleardoublepage\else\clearpage\fi}
\def\cleardoublepage> \expandafter{\expandafter | \if@openright\cleardoublepage\else\clearpage\fi}
\def\cleardoublepage{> \expandafter | \if@openright\cleardoublepage\else\clearpage\fi}
\def\cleardoublepage{> \expandafter\if@openright\cleardoublepage | \else\clearpage\fi}
\def\cleardoublepage{\if@openright> \cleardoublepage | \else\clearpage\fi}
\def\cleardoublepage{\if@openright> [espansione di \cleardoublepage] | \else\clearpage\fi}\altri\comandi
`
in cui (più o meno) alternativamente legge dall’input buffer e espande un token.A ogni passo, la “main token list” va dall’inizio della riga fino al “|”.
Questo è il nodo: dopo aver espanso \cleardoublepage e letto gli altri dati necessari dall’input buffer, può finire (diciamo così) un “ciclo di elaborazione”, nel senso che nella lista dei token ha tutto quello che gli serve per elaborarla. Quindi esegue il \def e dopo averlo fatto svuota la token list:
`
>|\altri\comandi
`
e si riparte.Grazie di nuovo delle spiegazioni.
Spero che Elrond non me ne voglia per avergli invaso la discussione. 🙂Ciao,
Antonio
24 Settembre 2011 alle 20:11 in risposta a: [Risolto]Scelta automatica fra \clearpage e \cleardoublepage #64113::egreg9″ post=63183`\makeatletter
\expandafter\def\expandafter\cleardoublepage\expandafter{\expandafter
\if@openright
\cleardoublepage
\else
\clearpage
\fi}
\makeatother`
Esercizio: perché funziona e non va in circolo vizioso?Ciao
EnricoMi esercito io: il motivo essenziale è che viene calcolato il significato del comando prima di assegnarlo al token \cleardoublepage. In altri termini, viene espanso il \cleardoublepage presente nel corpo della definizione prima di ridefinirlo, in modo che il suo significato sia quello vecchio, non quello che gli si sta per assegnare.
Ne approfitto per chiedere una cosa sull’espansione di token e in particolare su \expandafter. Quest’ultimo funziona così: prima espande il secondo (che lo segue) token e poi fa riprendere l’espansione dal token che lo segue immediatamente. Ho qualche dubbio su come interpretare quest’ultima affermazione, che mi farebbe venire in mente l’idea che si crei una sorta di stack di espansione. Mi spiego meglio: vogliamo espandere tutta la ridefinizione di \cleardoublepage. Innanzitutto, devo espandere il primo \expandafter (la rappresentazione l’ho improvvisata):
`
\expandafter\def\expandafter\cleardoublepage\expandafter{\expandafter\if@openright\cleardoublepage\else\clearpage\fi}
^`
che comporta l’espansione del secondo \expandafter dopo il quale dovrò riprendere a espandere da \def:
`
\def\expandafter\cleardoublepage\expandafter{\expandafter\if@openright\cleardoublepage\else\clearpage\fi}
^
^`
L’espansione del secondo \expandafter determina l’espansione del terzo \expandafter dopo il quale dovrò espandere il primo \cleardoublepage:
`
\def\cleardoublepage\expandafter{\expandafter\if@openright\cleardoublepage\else\clearpage\fi}
^
^
^`
Ancora la stessa storia:
`
\def\cleardoublepage{\expandafter\if@openright\cleardoublepage\else\clearpage\fi}
^
^
^
^`
da cui:
`
\def\cleardoublepage{\if@openright\else\clearpage\fi}
^
^
^
^`A questo punto ho espanso tutti gli \expandafter e \cleardoublepage. L’espansione riprende da \if@openright e, a seguire, da {, \cleardoublepage e infine \def.
Evidentemente il ragionamento non può essere giusto: non posso mica riespandere \cleardoublepage! L’espansione invece viene ripresa direttamente da \def, no? E non si crea nessuno stack, vero?
Ciao,
Antonio
::Rocco” post=63182Ciao a tutti.
Eliminare completamente tutti i margini attorno alle formule.Devi impostare \abovedisplayskip e simili a 0pt, con qualcosa tipo:
`
\addto{\normalsize}{\setlength{\abovedisplayskip}{0pt}}
\addto{\normalsize}{\setlength{\belowdisplayskip}{0pt}}
\addto{\normalsize}{\setlength{\abovedisplayshortskip}{0pt}}
\addto{\normalsize}{\setlength{\belowdisplayshortskip}{0pt}}`Eliminare gli spazi attorno all’ambiente description
Dai un’occhiata al pacchetto enumitem. Per esempio per annullare tutte le spaziature verticali, lo includi con:
`
\usepackage[nosep]{enumitem}
`Ciao,
Antonio
-
AutoreRisposte