Risposte nei forum create
-
AutoreRisposte
-
11 Giugno 2007 alle 20:56 in risposta a: andare a capo all’inizio di una dimostrazione (amsthm) #15096::
Perché mai? Appesantisci inutilmente la forma tipografica: la pagina viene meglio quando più c’è equilibrio fra pieno e vuoto.
Sapevo di ricevere una tirata di orecchi… 😀 Il fatto è che mis embra che quando si procede ad una dimostrazione in cui ci sono vari punti, mi pare più bello (simmetrico) mettere i vari numeretti tutti ad inizio riga. Ad esempio
`\begin{teorema}
Dato questa cosa allora succede che:
i)
ii)
iii)
iv)
\end{teorema}
\begin{proof}\hfill\\
i)
ii)
iii)
iv)
\end{proof}
`Non so se ti pare giusto. Secondo me va bene anche nei casi in cui si dimostra un “se e solo se” e si mettono invece dei numeretti la doppia freccia verso destra o verso sinistra.
Mai fatto. Ho sempre cominciato le dimostrazioni di quel tipo con il numerino o con la freccia, accanto a Dimostrazione.
Evita le numerazioni di quel tipo; meglio 1 o a.
Ciao
Enrico
::come faccio a inserire in ogni foglio di un testo scientifico scritto in latex una dicitura in basso a destra (o a sinistra) che sia “indipendente” dal contenuto…
cioè poniamo di avere settato i margini a:
`\setmarginsrb
{15mm}{15mm}%
{15mm}{15mm}%
{0mm}{0mm}%
{0mm}{0mm}`
come faccio a inserire un testo (tipo copyright o autore) che si trovi, per esempio, a 2mm dal bordo del foglio? …tenendo presente che il contenuto principale deve sempre avere i margini sopraimpostati….Sarebbe bene indicare la classe del documento che usi (koma-script?).
Il pacchetto textpos dovrebbe però fare al caso tuo.
Ciao
Enrico
::ciao a tutti,
ho usato il pacchetto frontevr per il fronte di una tesi ed è uscito benissimo. Ora, lo stesso fronte lo devo dare in copisteria per la stampa della rilegatura, e quindi mi servirebbe lo stesso frontespizio, ma con il tutto perfettamente centrato. Ci ho smanettato un po’ su, ma dato la mia inesperienza ho otteto solo errori…qualche suggerimento?
ringrazio anticipatamente per le risposte.È fatto apposta per apparire centrato sulla pagina! Certo, se cincioni con le dimensioni della gabbia, non posso garantire il risultato.
Ciao
Enrico
10 Giugno 2007 alle 20:41 in risposta a: andare a capo all’inizio di una dimostrazione (amsthm) #15093::avevo la necessità di andare a capo subito dopo il \begin{proof}.
Perché mai? Appesantisci inutilmente la forma tipografica: la pagina viene meglio quanto più c’è equilibrio fra pieno e vuoto.
Alla fine sono giunto alla soluzione artigianale di dare uno spazio e poi la linea bianca.
C’è un modo “meno artigianale”? Non so, del tipo riandare a definire l’ambiente proof? (ci ho provato ma senza risultati)
`\begin{proof}\hfill\\`
La ridefinizione si può fare, ma non ti dico come, per evitarti una bruttura. Se sono richieste “superiori”, mostra un chilo di pubblicazioni matematiche a scelta.Poi ho una curiosità: all’inizio avevo provato con \phantom{questo non me lo vede} e poi la linea bianca, ma nulla! Anzi mi inseriva lo spazio bianco generato da phantom sopra “proof.”
L’espansione di \begin{proof} finisce con \ignorespaces che a volte ha effetti un po’ bizzarri.
Ciao
Enrico
::`\documentclass{book}
\usepackage{fancyhdr}
\makeatletter
\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
\hbox{}
\vspace*{\fill}
\vspace{\fill}
\thispagestyle{empty}
\newpage
\if@twocolumn\hbox{}\newpage\fi\fi\fi}
\makeatother\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{}
\fancyhead[LE,RO]{\scshape\thepage}
\fancyhead[LO]{\scshape\footnotesize\nouppercase{\rightmark}}
\fancyhead[RE]{\scshape\footnotesize\nouppercase{\leftmark}}\begin{document}
\frontmatter
\include{frontespizio}
\include{ringraziamenti}
\tableofcontents \listoffigures
\mainmatter
\include{introduzione}
\include{…} % capitoli
\include{…}
\include{conclusioni}
\backmatter
\include{bibliografia}
\end{document}
`
dove introduzione.tex è:
`\chapter*{Introduzione}
\markboth{Introduzione}{}
\addcontentsline{toc}{chapter}{Introduzione}
…
`Non mi va tanto questo tipo di risposta, perché induce l’idea che quelle parti relative a fancyhdr siano necessarie per risolvere il problema. E non lo sono affatto: il codice necessario è
`\chapter*{Introduzione}
\markboth{Introduzione}{Introduzione}
\addcontentsline{toc}{chapter}{Introduzione}`
se si usa la classe report. Con la classe book è sufficiente precedere i comandi di produzione degli indici con \frontmatter e scrivere, per l’introduzione
`\chapter{Introduzione}`Una tiratina d’orecchi per due cose: \markboth{Introduzione}{} va bene solo se l’introduzione è lunga una sola pagina o se è divisa in sezioni; \include è inutile per gli scopi normali.
Per oronte83: ho spostato il messaggio nel forum adatto perché è un problema TeXnico e non una questione di tipografia. Invece la collocazione dell’introduzione nel materiale preliminare o in quello principale sarebbe un argomento “tipografico”; la mia opinione è che non c’è né un modo giusto né un modo sbagliato, dipende dal tipo di introduzione. Metterla nel materiale preliminare ne diminuisce l’importanza.
Ciao
Enrico
::ho la necessita’ di muovere tutte le immagini (97) e tabelle (5) della mia tesi alla fine dei capitoli/documento. Sto usando endfloat. Il risultato e’ che alla prima compilazione alcune parti di testo finiscono in fondo (sono trattate come fossero immagini). Questo e’ l’errore segnalato:
`phd.tex(251): Error: ! LaTeX Error: \begin{figure} on input line 246 ended by \end{figure*}.`Da quello che vedo hai alla riga 246 un \begin{figure} e alla riga 251 \end{figure*}. Togli l’asterisco, oppure mettilo anche prima. Ma “figure*” serve solo se scrivi in doppia colonna.
Ciao
Enrico
::volevo mettere il nome del capitolo corrente nella testatina in alto a destra di ongi pagina nel formato
1. titolo del capitolo
quel codice l’ho trovato su internet, ed era affianco ad un esempio che sembrava proprio quello che stavo cercando (per la formattazione della testatina, intendo)
`\renewcommand{\chaptermark}[1]{%
\markboth{\thechapter.\ #1}{}}`
\thechapter diventa il numero del capitolo, mentre #1 rappresenta il titolo.Ciao
Enrico
::ho cercato di stampare nel mio documento, nella testatina in alto a destra di ogni pagina, il titolo del capitolo corrente, ma come risultato ho avuto la spaventosa cifra di 150 errori. non riesco a capire cosa ho sbagliato.
`…
\renewcommand{\chaptermark}[1]{%
\markboth{\thechapter.%
\\chaptername.\#1}{}}…
`
qualche suggerimento?Che cosa vorresti fare precisamente? Qui stai dicendo che il mark deve contenere:
`\thechapter
\\
chaptername
\#
1`
\thechapter si traduce nel numero di capitolo, \\ in un “nuova riga”, poi c’è la parola “chaptername”, poi il segno # e per finire 1.Direi che non ci siamo.
Ciao
Enrico
::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 \invertiVersione senza accenti:
`\newcommand{\inverti}[1]{\@reverse{#1}\@esrever}`
Versione con accenti:
`\newcommand{\inverti}[1]{%
\@reverse{#1}\scantokens\expandafter{\@esrever}\unskip}`
Ciao
Enrico
::
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
Enrico
::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 Italia`\documentclass[a4paper]{article}
\makeatletter
\newcount\split@count\def\@split#1#2{\split@count=#1\relax
\def\split@start{}%
\edef\split@end{#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{#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{\split@start}{\split@end}}\newcommand{\esaltaultime}[2][0]{%
\@reverse{#2}\@split{#1}{\@esrever}%
\@reverse{\split@end}\@esrever%
\@reverse{\split@start}\textbf{\@esrever}}
\makeatother\def\parola{Italia}
\begin{document}
\esaltaprime[3]{\parola}
\esaltaprime[7]{\parola}
\esaltaprime[7]{Cercopiteco}
\esaltaprime{Italia}
\esaltaultime[4]{Cercopiteco}
\end{document}`
Limitazioni: il secondo argomento deve essere una stringa di caratteri ASCII a 7 bit oppure un comando la cui espansione sia tale.Sto lavorandoci su per eliminare la limitazione e accettare input a 8 bit
Ciao
Enrico
::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 ~?
Con “\catcode`\?=13 ” (nota il carattere `backquote’ e lo spazio dopo 13) si dice che il carattere ? è attivo e quindi si comporta come una macro. Infatti subito dopo lo definisco. Questo è il motivo per cui ho racchiuso tutto in un gruppo. Non occorre farlo con ~ perché è già attivo (il comando ~ equivale, circa, a “\nobreak\ “).
Ciao
Enrico
::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::Salve a tutti,
ho un piccolo problema con il comendo \hyphenation: se dò la parola Orkh\={a}n come argomento di hyphenation, latex mi dà una marea di errori. Il paradosso è (almeno per un novello come me) che in \hyphenation ci son molte altre parole simili (tipo G\”{u}terbock, Uro\v{s}, Du\v{s}an) che non danno assolutamente nessun problema.
Il bello è che in una frase và a spezzare proprio quella parola che non deve spezzare.Scommetto che hai \usepackage[T1]{fontenc} nel tuo preambolo. Altrimenti non potresti usare parole come quelle in \hyphenation. Il fatto è che, con la codifica T1, i comandi del tipo \”{u} e \v{s} sono equivalenti a un singolo carattere, dal momento che ci sono nella codifica T1; la cosa non avviene per \={a} che non corrisponde a un singolo carattere.
Basta scrivere \mbox{Orkh\={a}n} nel punto incriminato.
Occhio agli accenti sui monosillabi: ne hai indovinati solo due su quattro. 🙂
Ciao
Enrico
::ciao
premetto che ho cercato nel forum ma nn ho trovato nulla che risolvesse il mio problema.
vorrei ottenere una tabella del genere.
http://www.ziopecos.altervista.org/tabella.JPG
per impratichirmi allora ho copiato il codice,presente su una guida, che la implementa e poi pensavo di modificarlo per i miei scopi.
Il problema è che neanche quello funziona!
ecco il mio codice
qualcuno può darmi una mano?`…
\begin{center} \begin{tabular}{|l|l|l|}
\hline \multirow{3}{0.7cm}{Anno}
&\multicolumn{2}{p{5.5cm}|}%
{\centering Campioni del mondo\\
conduttori auto F1} \cline{2-3} &\multicolumn{1}{c|}{Pilota}
&\multicolumn{1}{c|}{Marca auto} \hline 1950& Farina &alfa romeo
1950& Farina &alfa romeo 1950& Farina &alfa romeo 1950& Farina
&alfa romeo 1950& Farina &alfa romeo 1950& Farina &alfa romeo
\hline \end{tabular}
\end{center}
\end{document}`Sarebbe bene almeno mettere \\ alla fine delle righe. Siccome non dici che cosa non funziona presumo sia quello. Infatti la tabella, aggiungendoli, si compila. Ma fa orrore. Adesso ti mostro un file di esempio e ti invito a vedere quale delle due tabelle sia migliore:
`\documentclass[a4paper]{article}\usepackage{booktabs}
\begin{document}
\begin{tabular}{|l|l|l|}
\hline
&\multicolumn{2}{c|}{Campioni del mondo}\\
\multicolumn{1}{|c|}{Anno}&\multicolumn{2}{c|}{conduttori auto F1} \\
\cline{2-3}
&\multicolumn{1}{c|}{Pilota}
&\multicolumn{1}{c|}{Marca auto}\\
\hline
1950& Farina &alfa romeo \\
1950& Farina &alfa romeo \\
1950& Farina &alfa romeo \\
1950& Farina &alfa romeo \\
1950& Farina &alfa romeo \\
1950& Farina &alfa romeo \\
\hline
\end{tabular}\medskip
\begin{tabular}{lll}
\toprule
&\multicolumn{2}{c}{Campioni del mondo}\\
&\multicolumn{2}{c}{conduttori auto F1} \\
\cmidrule{2-3}
\multicolumn{1}{c}{Anno}&
\multicolumn{1}{c}{Pilota}&
\multicolumn{1}{c}{Marca auto}\\
\midrule
1950& Farina &alfa romeo \\
1950& Farina &alfa romeo \\
1950& Farina &alfa romeo \\
1950& Farina &alfa romeo \\
1950& Farina &alfa romeo \\
1950& Farina &alfa romeo \\
\bottomrule
\end{tabular}
\end{document}`
Un’ultima osservazione: del codice che alleghi quasi nulla serve per illustrare il caso; un esempio minimo deve anche sfrondare tutto ciò che è irrilevante.Ciao
Enrico
-
AutoreRisposte