egreg9

Risposte nei forum create

Stai visualizzando 15 risposte – dal 6,451 al 6,465 (di 13,205 totali)
  • Autore
    Risposte
  • in risposta a: intestazione di pagina personalizzata con fancyhdr #44811
    Up
    0
    Down
    ::

    grazie mille!
    effettivamente enrico mi ha fatto notare che andrebbero scambiate le due intestazioni.

    le ho quindi invertite con:
    `
    \pagestyle{fancy}
    \fancyhf{}
    \fancyhead[RO]{\rightmark}
    \fancyhead[LE]{\leftmark}
    \fancyfoot[C]{\thepage} `

    ciao e grazie 😀

    Elimina pure l’ultima riga e al posto di \fancyhf{} scrivi \fancyhead{}, come indicato da Enrico. In ogni caso usa il codice che ti ha suggerito lui, che è sicuramente migliore…
    La quinta riga di quel codice serve per eliminare la linea sotto l’intestazione.
    Non so perché abbia ridefinito anche \chaptermark, ma sono sicuro che stasera ce lo spiegherà 🙂

    Per evitare che manchi la testatina nelle pagine pari (o dispari nella versione richiesta originariamente) dell’eventuale introduzione senza sezioni.

    Per il problema delle pagine bianche non bianche, basta caricare il pacchetto emptypage.

    Ciao
    Enrico

    in risposta a: intestazione di pagina personalizzata con fancyhdr #44807
    Up
    0
    Down
    ::

    Ciao a tutti,
    sono nuovo di latex e mi rivolgo a voi perché non riesco ad ottenere una certa impostazione di layout.

    Inanzitutto ho impostato
    \documentclass[a4paper,10pt,twoside,openright]{book}
    e utilizzo il pacchetto “fancyhdr” per l’intestazione delle pagine.

    Il mio obiettivo è quello di avere:
    – nelle intestazioni delle pagine dispari in alto a destra solo il
    “numerodelcapito. titolodelcapitolo” possibilmente tutto in maiuscolo.
    – nelle intestazioni delle pagine pari in alto a sinistra solo il
    “numerodelcapitolo.numerosezione titolodellasezione” in maiuscolo pure questo.

    tutto ciò evitando di perdere la numerazione a pié di pagina che di default è impostata al centro!

    Qualcuno pratico di fancyhdr riesce a scrivermi il codice?

    Benvenuto. Ecco qui:
    `\pagestyle{fancy}
    \fancyhead{}
    \fancyhead[RO]{\leftmark}
    \fancyhead[LE]{\rightmark}
    \renewcommand{\headrulewidth}{0pt}
    \newcommand{\formatchapter}[1]{%
    \ifnum\value{chapter}>0 \thechapter\ \fi\MakeUppercase{#1}}
    \renewcommand{\chaptermark}[1]{%
    \markboth{\formatchapter{#1}}{\formatchapter{#1}}}`
    Ma non capisco perché il titolo del capitolo a destra e quello della sezione a sinistra.

    Ciao
    Enrico

    in risposta a: Stampare orario [Risolto] #44802
    Up
    0
    Down
    ::

    Buongiorno a tutti,
    stò impostando un documento e fino a quando dovrò stampare la versione definitiva voglio che in fondo alla pagina compaiano data e ora di compilazione, come fa l’opzione drafting di classicthesis. Con \today riesco a stampare la data, ma no ho trovato nulla per stampare l’ora.
    Se qualcuno conoscesse il comando mi farebbe un grosso favore.
    Grazie mille

    Senza bisogno di scomodare un pacchetto aggiuntivo, se sai già mettere al suo posto \today, aggiungi al preambolo:
    `\newcommand\now{{%
    \count0=\time
    \count2=\time
    \divide\count2 by 60
    \number\count2:%
    \multiply\count2 by 60
    \advance\count0 by -\count2
    \ifnum\count0<10 0\fi\number\count0 }}`
    e usa “Printed \today\ at \now”. Alternativamente, scrivi
    `\def\NOW{\expandafter\NOWA\pdfcreationdate}
    \def\NOWA#1:#2#3#4#5#6#7#8#9{%
    Printed on #8#9/#6#7/#2#3#4#5 at \NOWB}
    \def\NOWB#1#2#3#4#5'#6'{#1#2:#3#4}`
    e con \NOW avrai “Printed on 28/04/2010 at 16:47”

    Ciao
    Enrico

    in risposta a: Parentesi uncinata #44788
    Up
    0
    Down
    ::

    Intanto grazie per la risposta. Avevo già provato a caricare il pacchetto textcomp ma mi dà errore dicendomi che il simbolo \textlangle non è previsto per la font family pplj in TS1 encoding. Ecco perché ero passato alla modalità matematica. Ed avevo provato ad avere il bold, ma capisco che in quel caso non funziona. Si può fare qualcosa continuando ad utilizzare mathpazo?

    `\newcommand*{\meta}[1]{\textbf{\fontfamily{cmr}\selectfont\textlangle}#1%
    \textbf{\fontfamily{cmr}\selectfont\textrangle}}`
    Ciao
    Enrico

    in risposta a: Parentesi uncinata #44786
    Up
    0
    Down
    ::

    Spero di non chiedere una banalità…
    Sto inserendo le parentesi uncinate su una ed. critica nel seguente modo:
    $\langle$ … $\rangle$), in luogo dei segni <...>, ma mi sono accorto che in modalità matematica lo spessore del segno è diverso (molto più sottile) di quello di una normale parentesi tonda o quadra ottenuta digitando dalla tastiera, e graficamente un po’ stona. C’è un rimedio?

    A me non pare che stonino, se ti devo dire la verità. I simboli per maggiore e minore sono certamente orrendi in quel caso. Puoi provare con il pacchetto textcomp e usare
    `\textbf{\textlangle}…\textbf{\textrangle}`
    Naturalmente ti definirai un comando apposito:
    `\newcommand*{\meta}[1]{\textbf{\textlangle}#1\textbf{\textrangle}}`
    in modo da poter ridefinire comodamente tutto senza andare in cerca di “langle” o “rangle” in tutto il documento, quando avrai preso la decisione finale.

    Ciao
    Enrico

    in risposta a: Estrazione di un argomento da un comando #44719
    Up
    0
    Down
    ::

    Continuo a non capire. I tuoi numeri sono interi? Che intendi con “frazione semplificata”? Che trovi il massimo comun divisore tra numeratore e denominatore?

    In questo contesto i numeri sono tutti interi (ho un altra versione in cui si possono aggiungere cifre decimali)

    Con “frazione semplificata” intendo proprio l’operazione di semplificazione da scuola primaria per cui calcolo il massimo comun divisore e divido

    \sempli{24}{36}->\frac{2}{3} ecc.

    Grazie

    A questo punto dovrei vedere le macro che usi, ma ho una certa paura. 🙂 Si può sapere che ci vuoi fare?

    Ciao
    Enrico

    in risposta a: Numeri di pagina nel margine. #44775
    Up
    0
    Down
    ::

    Mi è capitato tra le mani un libro che ove il numero di pagina si trova a metà altezza della pagina, accanto al margine esterno.

    Qual è il modo migliore per ottenere questo effetto?

    Il seguente mi sembra troppo rozzo anche se efficace:`\documentclass[a4paper]{article}
    \usepackage{lipsum}
    \usepackage{eso-pic}

    \AddToShipoutPicture{\AtPageCenter{\hspace{.45\paperwidth}\thepage}}
    \pagestyle{empty}

    \begin{document}
    \lipsum
    \end{document}`E per decidere la posizione con più precisione, sempre restanto sul margine?

    🙂
    LuCa

    Direi che questo è un mestiere per fancyhdr:
    `\pagestyle{fancy}
    \fancyhf{}
    \fancyhead{…}
    \fancyfoot[RO,LE]{\mbox{\smash{\leavevmode\vbox to .5\textheight{\hbox{\thepage}\vfill}}}}
    \fancyfootoffset{8em}`
    Ciao
    Enrico

    in risposta a: ClassicThesis #44756
    Up
    0
    Down
    ::

    grazie per l’aiuto
    leggo la guida già da un po …
    incollando nel preambolo la tua nota mi da quest errore :
    ` LaTeX Error: File `eulervm.sty' not found.
    Type X to quit or to proceed,
    or enter new name. (Default extension: sty)
    Enter file name:
    ! Emergency stop.

    l.17 \usepackage
    [english,american,italian]{babel}^^M
    *** (cannot \read from terminal in nonstop modes)`
    se hai soluzioni grazie 1000

    Prova a mostrare un esempio di quello che fai. Direi che la mancanza di eulervm.sty è sintomo di un’installazione bacata. Che distribuzione del sistema operativo usi?

    Ciao
    Enrico

    in risposta a: Bibunits #44742
    Up
    0
    Down
    ::

    🙁 difficoltà.

    “In this example,we have two bibunits with auxiliary files
    bu1.aux and bu2.aux.To process your document,three runs of L ATEX and two
    runs of BibTEX are required.”

    Anche la guida di Lorenzo Pantieri dice una cosa simile (L’arte di creare bibliografie multiple con Latex) ma non ne esco.

    Grazie!

    Puoi far vedere come provi? Esempio minimo, in altre parole.

    Ciao
    Enrico

    in risposta a: Estrazione di un argomento da un comando #44717
    Up
    0
    Down
    ::

    Scusa. 😳 😳 😳

    `\FPsv[5+2] -> 7
    \FPeval\a{6*5} \a -> 30.00000
    \FPeval{a-6+a/10} -> 27
    \sempli{a-10}{40} ->1/2
    \sempli{a-10}{5} -> 4
    \semplix{a-10}{20} ->
    \semplix{10-a}{20} -> –
    \esempli{a-10}{20} ->
    \esempli{10-a}{20} -> -1
    `
    così che
    `\semplix{a-10}{20} x ->x
    x^{\esempli{a-10}{20}} -> x
    \semplix{10-a}{20} x -> -x
    x^{\esempli{10-a}{20}} -> x^{-1}
    `

    \FPsv \sempli, ecc. accettano come argomento(i) qualsiasi espressione che fp può calcolare (numerica o con parametri)

    Se vuoi il codice di \sempli, \semplix, posso postarlo.

    Spero di essere stato più chiaro ora

    Continuo a non capire. I tuoi numeri sono interi? Che intendi con “frazione semplificata”? Che trovi il massimo comun divisore tra numeratore e denominatore?

    Ciao
    Enrico

    in risposta a: liste di token #44730
    Up
    0
    Down
    ::

    Grazie del codice (ma come fai a produrlo così di getto?)

    Ho trovato un’altra soluzione usando random (che uso già in altri punti). Così come è non permette la scelta del seme, ma la cosa mi interessa poco (e posso sempre aggiungerlo con \randomi=). La parte principale (\getitems) è un adattamento di un vecchio codice TeX trovato tempo fa in rete.

    Mi piacerebbe avere un tuo parere

    `
    \documentclass[a4paper]{article}
    \usepackage{ifthen}
    \input{random}
    \makeatletter
    \newcount\i@sh
    \newcount\j@sh
    \newcount\sh@max
    \newcounter{shuf@tot}
    \newcounter{shuf@lop}
    \newcommand\shuf@ch{}
    \renewcommand{\theshuf@lop}{\roman{shuf@lop}}

    %%% costruisco la lista
    \newcommand\shuf@ifch[2]{%
    \ifthenelse{\not\equal{\shuf@ch}{#1}}{\stepcounter{shuf@lop}\expandafter\edef\csname item\theshuf@lop \endcsname{#2}}{}%
    }

    \newcommand\es@item[1]{%
    \edef\es@Lista{\zap@space#1 \@empty}%
    \@for\shuf@ch:=\es@Lista\do{%
    \shuf@ifch{}{\shuf@ch}%
    }
    }

    \newcommand{\sh@chex}[1]{
    \setcounter{shuf@lop}{0}
    \renewcommand{\theshuf@lop}{\roman{shuf@lop}}
    \es@item{#1}
    \renewcommand{\theshuf@lop}{\arabic{shuf@lop}}
    \setcounter{shuf@tot}{\theshuf@lop}
    }

    \def\printitem#1{\csname item\romannumeral#1\endcsname}

    %%% la funzione di scelta nella lista #2 escludendo #1 elementi
    \newcommand{\scegli}[2][0]{\sh@max=#1\sh@chex{#2}\getitems}

    \def\getitems{%
    \i@sh=\theshuf@tot
    \loop
    \expandafter\let \csname flag\number\i@sh \endcsname a%
    \advance\i@sh by-1
    \ifnum\i@sh > 0 \repeat
    \i@sh=\theshuf@tot
    \loop
    \setrannum{\j@sh}{1}{\theshuf@tot}%
    \expandafter\ifx \csname flag\number\j@sh \endcsname a%
    \expandafter\let \csname flag\number\j@sh \endcsname b% Controllo se è già stato scelto
    \expandafter\edef\csname file\romannumeral\j@sh\endcsname{\csname item\romannumeral\i@sh\endcsname}
    \printitem\j@sh
    \advance\i@sh by-1
    \fi
    \ifnum\i@sh > \sh@max \repeat
    }

    \makeatother

    \begin{document}
    \scegli{1,2,3,4,5,6,7,8,9,10,11,12,13,14,a,b,c}

    \scegli[3]{1,2,3,4,5,6,7,8,9,10,11,12,13,14,a,b,c}

    \scegli[16]{1,2,3,4,5,6,7,8,9,10,11,12,13,14,a,b,c}

    \end{document}
    `

    Mi pare che sia più o meno come il mio; c’è una parte davvero brutta:
    `\newcommand{\sh@chex}[1]{
    \setcounter{shuf@lop}{0}
    \renewcommand{\theshuf@lop}{\roman{shuf@lop}}
    \es@item{#1}
    \renewcommand{\theshuf@lop}{\arabic{shuf@lop}}
    \setcounter{shuf@tot}{\theshuf@lop}
    }`
    che, a parte la notevole quantità di spazi spuri, è inutilmente complicata:
    `\newcommand{\sh@chex}[1]{%
    \setcounter{shuf@lop}{0}%
    \es@item{#1}%
    \setcounter{shuf@tot}{\value{shuf@lop}}%
    }`
    Non occorre certo rappresentare numericamente un contatore per accedere al suo valore. 🙂

    Sinceramente preferisco il mio; si tratta solo di aggiungere una corrispondenza tra gli oggetti eterogenei del tuo insieme e un insieme numerico “fisso”, diciamo {1,2,…,n}, dove n è il numero totale di oggetti.

    Nella macro \@goodchoice invece di \number\c@rand che semplicemente stampa il risultato numerico, si può mettere una qualsiasi macro. Il modo più semplice è usare \csname per avere una “associative array”.
    `\def\make@list#1{%
    \count@=\z@ \def\temp{#1}
    \@for\next:=\temp\do{\advance\count@\@ne
    \expandafter\def\csname lista@\romannumeral\count@\expandafter\endcsname
    \expandafter{\next}}
    \chardef\listlength=\count@}
    %%% ridefinizione di \@goodchoice
    def\@goodchoice{\@namedef{xyz@\romannumeral\c@rand}{}%
    \advance\count\z@\@ne\do@something\@rchoice}
    %%% definizione dell'azione finale da eseguire con l'elemento estratto
    \def\do@something{\@nameuse{lista@\romannumeral\c@rand}\space}`
    Potresti adesso definire
    `\newcommand\scegli[1]{\make@list{#1}%
    \rchoice{1}{\list@length}{}}`
    Non sono ben sicuro di aver capito a che serve l’argomento opzionale di \scegli

    Ciao
    Enrico

    in risposta a: Estrazione di un argomento da un comando #44715
    Up
    0
    Down
    ::

    La soluzione non è generale ma si riferisce esclusivamente al mio problema.

    Il mio problema era quello di formattare delle espressioni valutate usando fp in modo appropriato se queste si presentano come esponenti o come coefficienti (sullo stile dei comandi efmt e cfmt del pacchetto rangen)

    Io ho un comando (\FPsv{arg}) che calcola con fp l’argomento e stampa il risultato
    `\FPsv{#1} è definito come \FPeval\tmp{round(#1:0)}\tmp` e volevo applicare la formattazione sia a stringhe con questo comando sia a stringhe più semplici (contenenti un solo valore)

    Inoltre ho altri comandi che permettono di semplificare frazioni numeriche che hanno a numeratore e a denominatore espressioni valutabili con fp; questi comandi permettono la formattazione per coefficienti ed esponenti.
    I comandi sono \sempli{#1}{#2} che fornisce la frazione semplificata, \semplix{#1}{#2} che fornisce òa razione semplificata, la stringa vuota se il risultato è 1, il segno meno se il risultato è -1 e \esempli{#1}{#2} analogo per gli esponenti.

    La mia soluzione consiste nell’usare questi comandi con denominatore 1: volevo farla automatizzata, ma non ci sono riuscito.

    La mia idea era: creo un comando \coef per formattare i coefficienti con un argomento: se l’argomento è un’espressione \semplix il comando non fa nulla, se l’argomento è un’espressione valutabile da fp (ad esempio \a dove \a è un valore numerico assegnato) il comando restituisce \semplix{a}{1}, se l’espressione è \FPv{arg} il comando doveva estrarre arg e calcolare \semplix{arg}{1}.

    Spero che si capisca tutto perché ho la tendenza a dare per scontate troppe cose del codice che scrivo.

    Sì, dai troppo per scontato. Nemmeno un esempietto d’uso? Non è che scrivendo “arg” si capisca che cosa intendi metterci.

    Ciao
    Enrico

    in risposta a: liste di token #44728
    Up
    0
    Down
    ::

    Qualcosa del genere?
    …

    Spiegazione.
    `\g@addto@macro\r@nd{\global\cr@nd\cr@nd}`
    Per motivi di implementazione, il comando \rand non funziona se chiamato dentro un gruppo. Così si risolve.

    `\newcommand{\rchoice}[4][]{\begingroup
    \ifx\relax#1\relax
    \reinitrand[first=#2,last=#3]%
    \else
    \reinitrand[seed=#1,first=#2,last=#3]%
    \fi`
    Il comando \rchoice ha tre argomenti obbligatori: il minimo, il massimo e la lista dei numeri da escludere. Per prima cosa inizializziamo il contatore dei numeri casuali; l’argomento opzionale è il seme. Ci mettiamo in un gruppo.

    ` \def\xyz@{}%
    \def\excl@list{#4}%
    \@for\next:=\excl@list\do{\@namedef{xyz@\romannumeral\next}{}}%`
    Per ogni elemento della lista di esclusione, che deve essere un numero, definiamo il comando \xyz@xii (se il numero è 12). Così possiamo sapere se il numero è fra gli esclusi o fra quelli già estratti, esaminando se \xyz@xii (o quello che è) è definito.

    ` \count\z@=\z@
    \@rchoice\endgroup}`
    Avviamo la ricorsione, tenendo conto di quanti numeri abbiamo estratto nel contatore 0 (tanto siamo in un gruppo).

    `\def\@rchoice{%
    \ifnum\count\z@=10 \else
    \expandafter\@dochoice
    \fi}`
    La macro \@rchoice è quella responsabile della ricorsione. Se abbiamo già raggiunto il numero di 10 estrazioni buone, abbiamo finito, altrimenti eseguiamo \@dochoice.

    `\def\@dochoice{\rand
    \@ifundefined{xyz@\romannumeral\c@rand}{\@goodchoice}{\@rchoice}}`
    La macro \@dochoice estrae un numero; se il numero è fra quelli esclusi o già estratti, eseguiamo ancora \@rchoice. Altrimenti eseguiamo \@goodchoice.

    `\def\@goodchoice{\@namedef{xyz@\romannumeral\c@rand}{}%
    \advance\count\z@\@ne\number\c@rand\relax\space\@rchoice}`
    La macro \@goodchoice definisce \xyz@xii (se il numero estratto è 12) o il comando opportuno. Poi avanza il contatore della ricorsione, stampa il numero estratto ed esegue di nuovo \@rchoice.

    Ciao
    Enrico

    in risposta a: liste di token #44727
    Up
    0
    Down
    ::

    Scusami ho usato quel comando di geometry perché è stato il primo che mi è venuto in mente che operasse su una lista.

    Il mio problema è questo: devo scegliere casualmente da una lista di m oggetti (m diciamo 15) una lista di n (

    Qualcosa del genere?
    `\documentclass[a4paper]{article}
    \usepackage{lcg}

    \makeatletter
    \g@addto@macro\r@nd{\global\cr@nd\cr@nd}

    \newcommand{\rchoice}[4][]{\begingroup\def\excl@list{#4}%
    \ifx\relax#1\relax
    \reinitrand[first=#2,last=#3]%
    \else
    \reinitrand[seed=#1,first=#2,last=#3]%
    \fi
    \def\xyz@{}%
    \@for\next:=\excl@list\do{\@namedef{xyz@\romannumeral\next}{}}%
    \count\z@=\z@
    \@rchoice\endgroup}
    \def\@rchoice{%
    \ifnum\count\z@=10 \else
    \expandafter\@dochoice
    \fi}
    \def\@dochoice{\rand
    \@ifundefined{xyz@\romannumeral\c@rand}{\@goodchoice}{\@rchoice}}
    \def\@goodchoice{\@namedef{xyz@\romannumeral\c@rand}{}%
    \advance\count\z@\@ne\number\c@rand\relax\space\@rchoice}
    \makeatother

    \begin{document}

    \rchoice[1]{1}{15}{2,3}

    \rchoice[1]{1}{15}{2,3}

    \rchoice{1}{15}{1,2,3,4,5}

    \end{document}`
    Ciao
    Enrico

    in risposta a: liste di token #44725
    Up
    0
    Down
    ::

    `\expandafter\newgeometry\expandafter{\opzioni}`

    e se invece di \newgeometry avessi un comando con argomenti come (scusa la “bestemmia sul comando)

    \newgeomerty[arg1]{arg2}{arg3}[\lista]

    Non riesco a vedere dove vanno gli \expandafter
    🙁

    Proverò a guardare etextools e etoolbox anche se dai miei ricordi la documentazione non brillava per chiarezza e ricchezza di esempi

    Perché non dire con chiarezza che ti serve?

    Se ti serve semplicemente un’interfaccia a \newgeometry (ma non saprei perché), puoi fare così:
    `\makeatletter
    \newtoks\st@collecttoks
    \newcommand*{\collectoption}[1]{%
    \st@collecttoks=\expandafter{\the\st@collecttoks,#1}}
    \newcommand*{\applynewgeometry}{%
    \expandafter\newgeometry\expandafter{\expandafter\@gobble\the\st@collecttoks}%
    \st@resettoks={}}
    \makeatother`
    A questo punto puoi dire
    `\collectoption{right=3cm}
    \collectoption{left=2cm}
    \applynewgeometry`
    che sarebbe equivalente a
    `\newgeometry{right=3cm,left=2cm}`
    Ciao
    Enrico

Stai visualizzando 15 risposte – dal 6,451 al 6,465 (di 13,205 totali)

Go to top▲