Risposte nei forum create
-
AutoreRisposte
-
::
ho sostituito questa nuova definizione alla vecchia, non mi da errori ma la testatina è completamente vuota, in tutte le pagine
Prova così, una volta ridefinito \chaptermark, poi a \rhead ci devi mettere \leftmark.
Il prof. se n’è dimenticato:
`
\usepackage{fancyhdr}
\usepackage{xcolor}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{%
\markboth{\thechapter.\ #1}{}}
\fancyhfoffset{10mm}
\lhead{}
\chead{}
\rhead{\leftmark} `e poi una letta al manuale non fa mai male. E poi ti sconsiglio l’uso di \rhead e company.
Usa \fancyhead e \fancyfoot.
Ciao
Andrea
PS: per un esempio facile da capire guarda qui . E ti ricordo di guardare la doc in italiano che trovi qui
::Ciao a tutti, sono nuovo nuovissimo..è la prima volta ke mi affaccio nel mondo latex (ci sto scrivendo la tesi)
Ho un problemone..ho creato una tabella, abbastanza grande da non starci in una pagina..Questa però non va in automatico nella seconda pagina, ma va fuori dai margini e fuori proprio dalla pagina (infatti non si può vedere tutta la tabella ma solo la parte ke sta all’interno della prima pagina..)
Come posso fare?Il tipo di documento che uso è il seguente:
\documentclass[epsfig,a4paper,12pt,titlepage]{book}e la tabella l’ho creata in questo modo:
\begin{table}[h!tbp]
\begin{center}
\begin{tabular}{|p{4cm}|p{11cm}|}
…
…
…
\end{tabular}
\end{center}
\caption{Tabella2 riassuntiva PeerSim} %\texttt{table}}
\label{tab:TabPeerSim2}
\end{table}Grazie a tutti..
Pacchetto longtable, oppure supertabular. Nel tuo caso il primo.
Cerca nel forum.
La doc di longtable è abbastanza esauriente
ftp://tug.ctan.org/pub/tex-archive/macros/latex/required/tools/longtable.pdfCiao
Andrea
::
Enrico,Ho modificato le tue macro e sono arrivato qui:
`
\makeatletter
……
\newcommand{\estraiprime}[2][0]{%
\@split{#1}{#2}%
\scantokens\expandafter{\split@start}\unskip%
}
\newcommand{\estraiultime}[2][0]{%
\@reverse{#2}\@split{#1}{\@esrever}%
\@reverse{\split@start}\scantokens\expandafter{\@esrever}\unskip}\newcommand{\togliprime}[2][0]{%
\@split{#1}{#2}%
\scantokens\expandafter{\split@end}\unskip}\newcommand{\togliultime}[2][0]{%
\@reverse{#2}\@split{#1}{\@esrever}%
\@reverse{\split@end}\scantokens\expandafter{\@esrever}\unskip%
}
\makeatother`Indica se c’è qualche correzione da fare
Resta in ballo la macro \invertiCiao
Andrea
::Eliminate alcune restrizioni. I caratteri accentati possono essere usati nell’argomento di \esaltaprime e \esaltaultime, ma non al primo posto; in tal caso occorre “nascondere” l’accento in una macro, si veda l’esempio con \accento; attenzione: non con UTF8, spiacente. 🙂 L’attento lettore noterà l’uso delle primitive di e-TeX \detokenize, \scantokens e \unless. 🙂
`\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}\makeatletter
\newcount\split@count\def\@split#1#2{\split@count=#1\relax
\def\split@start{}%
\edef\split@end{\detokenize\expandafter{#2}}%
\loop\ifnum\split@count>0
\edef\split@start{\split@start\expandafter\@car\split@end\@nil}%
\edef\split@end{\expandafter\@cdr\split@end\@nil}%
\ifx\split@end\empty
\split@count=0
\else
\advance\split@count-1
\fi
\repeat}\def\@reverse#1{%
\edef\@temp{\detokenize\expandafter{#1}}%
\def\@esrever{}%
\loop\unless\ifx\@temp\empty
\edef\@esrever{\expandafter\@car\@temp\@nil\@esrever}%
\edef\@temp{\expandafter\@cdr\@temp\@nil}%
\repeat}\newcommand{\esaltaprime}[2][0]{%
\@split{#1}{#2}%
\textbf{\scantokens\expandafter{\split@start}\unskip}%
\scantokens\expandafter{\split@end}\unskip}\newcommand{\esaltaultime}[2][0]{%
\@reverse{#2}\@split{#1}{\@esrever}%
\@reverse{\split@end}\scantokens\expandafter{\@esrever}\unskip%
\@reverse{\split@start}\textbf{\scantokens\expandafter{\@esrever}\unskip}}
\makeatother\newcommand\parola{Italia}
\newcommand\accento{àncora}\begin{document}
\esaltaprime[3]{\accento}\esaltaprime[4]{ancóra} Ciao
\esaltaprime[3]{\parola} Ciao
\esaltaprime[7]{\parola}
\esaltaprime[7]{Cercopiteco}
\esaltaprime{Italia}
\esaltaultime[4]{Cercopiteco}
\esaltaultime[2]{lassù}
\end{document}`
A parte le questioni più TeXniche, la faccenda è abbastanza semplice. La macro \@split raccoglie i primi n caratteri (n è il valore dato come primo argomento) uno alla volta e definisce le due macro \split@start e \split@end, che contengono prima e seconda parte della stringa data come secondo argomento. Se n è maggiore della lunghezza della stringa, il ciclo si interrompe e la seconda parte sarà vuota.Per evidenziare gli ultimi n token della stringa come si fa? Si applica \@split alla stringa rovesciata. Il funzionamento di \@reverse è facile: aggiungo, ovviamente da destra a sinistra, a \@esrever un carattere alla volta, prendendo quello iniziale e ripetendo finché la stringa diventa vuota.
Lascio come esercizio di scrivere la stessa cosa con una macro ricorsiva. 😀
Ciao
EnricoSei un mago. 😀 😀
Fai una cosa, aggiungi queste ultime cinque macro, così il servizio è completo:
`
\estraiprime[n]{} \estraiultime[n]{}
`
Poi le complementari
`
\togliprime[n]{} \togliultime[n]{}
`ed infine
`
\inverti{}% inverte l'ordine da parola a alorap, questa mi è venuta in mente ora.
`Ciao e grazie ancora
Andrea
PS: sono d’accordo con Lapo, quando hai tempo potresti creare un altro utilissimo pacchetto.
::
Grazie ancora.Approfitto delle tue capacità mistiche.
Per prima cosa, si possono modificare, rispettivamente, le macro precedenti in modo da estrarre e togliere le prime n lettere?Inoltre, ti chiedo se c’è un modo per trasformare le parole come segue.
Vorrei mettere in risalto le prime tre lettere della parola
da Italia a Italia, oppure, ancora meglio, vorrei una macro che esalti le prime n lettere.
Esempio:
`
\esaltaprime[5]{Italia}
`
mi deve dare Italiae un’altra macro che esalti le ultime n.
Esempio
`
\esaltaultime[4]{Italia}
`
mi dere fornire ItaliaScusami se abuso della tua pazienza e delle tue capacità.
Ciao
Andrea
::ho scritto questo
solo che Oct. 3 e Oct.7 dovrebbero stare sotto JPF names:DA/*
…
Tabelle come queste sono complicate perché occorre allineare le cifre decimali. Ecco la mia proposta:
`\documentclass[a4paper]{article}\usepackage{array,booktabs}
\newcolumntype{C}{>{$}c<{$}} \begin{document} \begin{table} \begingroup \catcode`\?=13 \def?{\hphantom{0}} \def~{\hphantom{-}} \begin{tabular}{cCCCcc} \toprule \textbf{Coils}& \multicolumn{1}{c}{\textbf{r[m]}}& \multicolumn{1}{c}{\textbf{z[m]}}& \theta& \multicolumn{2}{c}{\textbf{JPF names:DA/*}}\\ %\cline{5-6} &\multicolumn{1}{c}{Oct.\ 3}&\multicolumn{1}{c}{Oct.\ 7 (backup)}& \multicolumn{1}{c}{[degrees]}\\ \midrule ?1 & 4.297 & ~0.605 & ?{-}74.1 & C2-CX01 & C2-CY01 \\ ?2 & 4.093 & ~1.083 & ?{-}60.5 & C2-CX02 & C2-CY02 \\ ?3 & 3.783 & ~1.500 & ?{-}47.0 & C2-CX03 & C2-CY03 \\ ?4 & 3.385 & ~1.832 & ?{-}33.5 & C2-CX04 & C2-CY04 \\ ?5 & 2.818 & ~2.095 & ?{-}13.2 & C2-CX05 & C2-CY05 \\ ?6 & 2.219 & ~1.995 & ?{~}32.7 & C2-CX06 & C2-CY06 \\ ?7 & 1.866 & ~1.495 & ?{~}75.4 & C2-CX07 & C2-CY07 \\ ?8 & 1.741 & ~0.876 & ?{~}81.5 & C2-CX08 & C2-CY08 \\ ?9 & 1.681 & ~0.247 & ?{~}87.6 & C2-CX09 & C2-CY09 \\ 10 & 1.681 & -0.247 & ?{~}92.4 & C2-CX10 & C2-CY10 \\ 11 & 1.741 & -0.876 & ?{~}98.5 & C2-CX11 & C2-CY11 \\ 12 & 1.866 & -1.495 & {~}104.6 & C2-CX12 & C2-CY12 \\ 13 & 2.219 & -1.995 & {~}147.3 & C2-CX13 & C2-CY13 \\ 14 & 2.818 & -2.095 & {-}166.8 & C2-CX14 & C2-CY14 \\ 15 & 3.385 & -1.832 & {-}146.5 & C2-CX15 & C2-CY15 \\ 16 & 3.783 & -1.500 & {-}133.0 & C2-CX16 & C2-CY16 \\ 17 & 4.093 & -1.083 & {-}119.5 & C2-CX17 & C2-CY17 \\ 18 & 4.297 & -0.605 & {-}105.9 & C2-CX18 & C2-CY18 \\ \bottomrule \end{tabular} \endgroup \caption{...}\label{...} \end{table} \end{document}` Ho definito un nuovo tipo di colonna, per scrivere i numeri con il segno - corretto. Questo rende necessario, nell'intestazione, usare qualche \multicolumn{1}. Le intestazioni troppo larghe rispetto alle colonne di numeri rendono praticamente impossibile centrare correttamente le colonne. Così uso un trucco: definisco il punto di domanda come uno spazio uguale a una cifra e ridefinisco ~ in modo che sia come un segno meno. Vero, occorre un po' di tempo per scriversi bene la tabella, ma il risultato è certamente superiore a quanto puoi ottenere "in automatico". Niente linee verticali né doppie linee; la tabella è certamente più leggibile così. Ciao Enrico[/quote] Ho una curiosità da ignorante. A cosa serve \catcode'\?=13? Forse fa conflitto con la definizione che segue? E perché non hai fatto una cosa simile con ~? Ciao::Mi serve una macro che, data una parola, possa estrarre la sua iniziale.
Mi spiego meglio:
Ho una parola, esempio Italia, memorizzata in un comando
`
\newcommand{\parola}{Italia}`Ora, utilizzando questa macro, il risultato deve essere I oppure i.
`
\estraiiniziale{\parola}``\makeatletter
\def\estraiiniziale#1{\expandafter\separa#1\@del}
\def\separa#1#2\@del{#1}
\makeatother`
Probabilmente in LaTeX c’è già qualcosa di simile, ma non ho voglia di andarlo a cercare. 🙂Come funziona?
La macro \separa ha due argomenti, il primo non delimitato, il secondo delimitato da \@del. Supponiamo di scrivere \estraiiniziale{\parola}. Questo viene sostituito da
`\expandafter\separa\parola\@del`
A questo punto viene espanso \expandafter che provoca l’espansione di \parola; la lista di token diventa
`\separa Italia\@del`
Il primo token che segue \separa è il primo argomento, tutto il resto, fino a \@del, il secondo.Ciao
EnricoPerfetto, grazie.
Ciao
Andrea
::lo hai messo \makeindex nel preambolo e \printindex dove vuoi l’indice?
E lo usi il pacchetto makeidx (oppure index)?DMW: per favore, non confondiamo l’indice, generato con \tableofcontents, con l’indice analitico che è tutt’altra cosa.
anwari: Non ho idea di che cosa sia mythesis.cls, quindi ho fatto la prova con la classe book; immagino che la tua sia basata su questa, vista la presenza di \mainmatter. Ovviamente devi scrivere \frontmatter dopo \maketitle e \chapter{Introduzione}, senza l’asterisco.
Ciao
EnricoScusa. Il fatto è che io per non generare confusione uso toc per indicare l’indice generale
e indice o indice analitico per indicare l’indice analitico.Scusa ancora. Confusione, capita. Poi in questi giorni vado un po’ di fretta e non leggo attentamente i messaggi.
Ciao
Andrea
::Ciao a tutti,
sto scrivendo la tesi e sono incappato in un problemino.
Voglio fare un’equazione con sotto delle condizioni, che sia numerata con un solo numero.
Sfogliando il manuale di amsmath mi è parso che la soluzione migliore fosse multiline, ma mi dà errore! Vi posto il codice`
\begin{multiline}
F(x,y)=F_0(x,y) f\Bigl(\frac{t(x)}{t(y)}\Bigr)+(t(x)-t(y))^2 g(x,y),\\
\text{con}\quad f(1)=1;\; f'(1)=0;
\end{multiline}
`
e l’errore
`
daimo.tex(198): Errore: ! LaTeX Error: Environment multiline undefined.
daimo.tex(199): Errore: ! Missing $ inserted.
daimo.tex(201): Errore: ! LaTeX Error: \begin{document} ended by \end{multiline}.
daimo.tex(201): Errore: ! Missing $ inserted.
`Sapete dirmi perchè mi dice undefined? devo includere qualcos’altro oltre amsmath?
Grazie, ciao.
multline e non multiline
`
\begin{multline}
F(x,y)=F_0(x,y) f\Bigl(\frac{t(x)}{t(y)}\Bigr)+(t(x)-t(y))^2 g(x,y),\\
\text{con}\quad f(1)=1;\; f'(1)=0;
\end{multline} `ciao
::salve
è possibile unire a quanto detto sopra a quanto trattatalo qui?
http://www.guit.sssup.it/phpbb/viewtopic.php?t=1763&highlight=indicegrazie
trimPeccato. Purtroppo non va!
Ecco l’errore
`! Paragraph ended before \item was complete.
\par
l.6? `
forse si dovrebbe modificare il file ist:
`headings_flag 1
headings_prefix “\n \\item \\textbf{”
headings_suffix “}”
symhead_positive “Simboli”
symhead_negative “simboli”
numhead_positive “Numeri”
numhead_negative “numeri”
delim_0 “\\dotfill”
delim_1 “\\dotfill”
delim_2 “\\dotfill”
`Ma io non so come.
Ciao
Andrea.
::Per prima cosa sono un idiota perché non ho visto
` \let\chaptermark\@gobble`Dai, su! 🙂
Professore!
Resto sempre mezzo idiota però ogni tanto qualcosa l’azzecco. 😀 😀 😀
Torniamo al problema:
La pagina dell’indice in esame è composta da:
`
\item segui, 15
\subitem nulla, 15
\subitem poco, 15
\item sole, 15
\subitem alto, 15
\subitem rovente, 15
\item…`Ora se uso
`
\def\item##1,{\markboth{##1}{##1}\index@item ##1,}`
nella testatina compare sole e non segui.
Se invece cambio la riga precedente in
`
\def\item##1,{\index@item ##1, \markboth{##1}{##1}}`Il problema non si presenta più e nella testatina c’è segui e non sole.
Ciao e grazie per l’aiuto.
Andrea
::Non ho capito cosa vole dire annullare i comandi \chaptermark e \sectionmark.
Cioè devo scrivere così?
`
\usepackage{makeidx,fancyhdr,fixmarks}
\renewcommand{\chaptermark}{}
\renewcommand{\sectionmark}{}
\makeatletter
\let\@@theindex\theindex
\def\theindex{\@@theindex
\let\chaptermark\@gobble
\let\sectionmark\@gobble
\let\index@item\item%
\fancyhead[LE]{\leftmark}%
\fancyhead[RO]{\rightmark}%
\fancyhead[RE,LO]{\thepage}%
}
\makeatother%e poi le testatine dei capitoli in cui ridefinisco \chaptermark e \sectionmark
\pagestyle{fancy}
….`oppure la struttura è diversa?
No, vanno annullati dove hai l’esigenza particolare. Infatti il codice che ti ho dato li annulla localmente:
`\let\chaptermark\@gobble`
rende \chaptermark un comando con un argomento che semplicemente lo butta via.Il comando \endtheindex, che viene eseguito alla fine dell’ambiente theindex, esegue un clearpage, quindi non dovrebbero esserci problemi con l’ultima pagina.
Ciao
EnricoPer prima cosa sono un idiota perché non ho visto
` \let\chaptermark\@gobble`
visto che questo comando lo uso per non far comparire, in fase finale, i warning dei font:
`
\makeatletter
\let\@font@info\@gobble
\let\@font@warning\@gobble
\makeatother`Seconda cosa, c’è un errore di battitura, perché dovrebbe essere
`
\def\item##1,{\markboth{##1}{##1}\index@item ##1,} %e non #1
`Terzo, il file fixmarks.sty della guida fancyhdr non funge. Quello esatto è questo:
http://www.astro.unipd.it/cosmo/carlo/latex_personal/fixmarks.styoppure usare fix2col che è più recente e presente in tutte le distribuzioni.
Quarto, se nella pagina dispari inizia un nuovo \item, \markboth è come se non lo vedesse e di \item vede quello dopo.
Se vuoi ti mando, in privato, un esempio demenziale in pdfPer il resto va benissimo.
Ciao
Andrea
::Salve,
Nella doc. di fancyhdr, sezione 10, ho letto che si può fare un indice analitico con le testatine stile dizionario, ma non ho capito come procedere.
ftp://tug.ctan.org/pub/tex-archive/info/italian/fancyhdr/itfancyhdr.pdf
Devi, come spiegato là, annullare i comandi \chaptermark e \sectionmark, poi definire il comando per inserire l’elemento del “dizionario”; nel caso dell’indice analitico, devi ridefinire \item all’interno dell’ambiente theindex. Wow.
`\makeatletter
\let\@@theindex\theindex
\def\theindex{\@@theindex
\let\chaptermark\@gobble
\let\sectionmark\@gobble
\let\index@item\item
\def\item##1,{\markboth{##1}{##1}\index@item #1,}%
\fancyhead[LE]{\leftmark}%
\fancyhead[RO]{\rightmark}%
\fancyhead[RE,LO]{\thepage}%
}
\makeatother`
Così direi che dovrebbe funzionare. Aggiungi il codice che viene indicato da fancyhdr se ci sono problemi per via delle due colonne.Il file .idx ha righe della forma “\item pippo, 1, 2”, quindi ridefinisco \item con argomento delimitato dalla virgola (raddoppiando i caratteri #, perché siamo dentro una definizione). Occorre eseguire le ridefinizioni all’interno dell’ambiente “theindex”, perché è esso stesso che definisce il significato di \item che gli serve.
Ciao
EnricoPer ora non posso provare perché su questo pc non c’è LaTeX, ma Word 👿 👿 👿
Non ho capito cosa vole dire annullare i comandi \chaptermark e \sectionmark.
Cioè devo scrivere così?
`
\usepackage{makeidx,fancyhdr,fixmarks}
\renewcommand{\chaptermark}{}
\renewcommand{\sectionmark}{}
\makeatletter
\let\@@theindex\theindex
\def\theindex{\@@theindex
\let\chaptermark\@gobble
\let\sectionmark\@gobble
\let\index@item\item
\def\item##1,{\markboth{##1}{##1}\index@item #1,}%
\fancyhead[LE]{\leftmark}%
\fancyhead[RO]{\rightmark}%
\fancyhead[RE,LO]{\thepage}%
}
\makeatother%e poi le testatine dei capitoli in cui ridefinisco \chaptermark e \sectionmark
\pagestyle{fancy}
….`oppure la struttura è diversa?
-
AutoreRisposte