egreg9

Risposte nei forum create

Stai visualizzando 15 risposte – dal 11,986 al 12,000 (di 13,218 totali)
  • Autore
    Risposte
  • in risposta a: Definizione dell’operatore derivata #13739
    Up
    0
    Down
    ::

    Enrico, perdonami, ma non ti seguo:

    Lascia perdere la vecchia definizione. Se la provi con differenziali di ordine superiore vedrai subito che l’esponente va troppo in alto.

    L’uso di differenziali di ordine superiore non è da imputare al comando \deriv, non \diff, o mi sbaglio? Inoltre nell’articolo citato (pag. 46, colonna destra) c’è proprio un esempio di derivata seconda ottenuta con il comando \deriv
    `a\deriv[2]{y}{x}+…` e a me non sembra sbagliata la posizione dell’esponente. Forse non ho capito quello che mi dicevi?

    Prova a guardare affiancate le formule ottenute con la vecchia definizione (cambia il nome in \diffold) e la nuova. Vedrai che l’esponente è nettamente più in alto (0.84pt, per la precisione).

    confronta le due formule
    `\int\biggl(\frac{1}{x}+\frac{1}{1-x}\biggr)\diff x
    \int\biggl(\frac{1}{x}+\frac{1}{1-x}\biggr)\mathrm{d} x`

    (in un display, naturalmente) e scoprirai che nella prima c’è una spaziatura di troppo.

    D’accordo, la tua pars destruens ha fatto breccia. La pars costruens? Non posso mica usare sempre \mathrm{d} e ricavarmi ogni volta gli spazi a mano?

    Perché no? Si tratta di mettere (o no) un \, davanti a \mathrm{d}; con
    `\newcommand{\diff}{\mathrm{d}}`
    puoi scrivere
    `\int_{a}^{b}f(x)\,\diff x`
    Ciao
    Enrico

    in risposta a: Nuovi ambienti: prevenire l’andata a capo #13745
    Up
    0
    Down
    ::

    Ciao a tutti,
    mi riallaccio in parte a un discorso fatto un po’ di tempo fa (Copiare un comando di sezionamento, <http://guit.sssup.it/phpbb/viewtopic.php?t=1584>):

    [quote]`\newenvironment{esercizio}[1]{% L'ambiente prende un parametro: il titolo
    % dell'esercizio.
    \noindent% L'ambiente non e` preceduto da alcuna
    % indentazione.
    \normalfont% I caratteri sono scritti normalmente, in
    % romano.
    \normalsize% I caratteri hanno un corpo normale.
    {\bfseries#1}% *Solo* il primo argomento (il titolo) e` in
    % grassetto.
    \hspace{.575em}% Vi e` una distanza orizzontale che separa il
    % titolo dal resto della consegna.
    }
    {%
    \clearpage% Alla fine dell'esercizio vi e` un salto pagina.
    }`

    […] Una cosa di sicuro manca nella tua definizione: dopo \hspace{…} devi mettere \ignorespaces, altrimenti LaTeX vede lo spazio che viene dopo \begin{esercizio}{titolo} (è di solito un fine riga, ma non cambia la faccenda).[…]

    In questo momento sto realizzando qualcosa di simile:
    `\newenvironment{esercizio}%
    {%
    \par\medskip\noindent\textbf{Esercizio.}\ \ignorespaces%
    }%
    {%
    \par\smallskip%
    }`
    In merito a quel commento su «\ignorespaces»: tutto fila liscio se richiamo l’ambiente in questo modo
    `\begin{esercizio}
    Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla
    Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla
    Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla
    \end{esercizio}`
    ma se volessi scrivere il sorgente così, invece
    `\begin{esercizio}

    Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla
    Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla
    Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla

    \end{esercizio}`
    salta fuori un salto di una riga che non mi piace (in poche parole: vorrei dire a LaTeX che la semantica di quella riga bianca non rappresenta l’inizio di un nuovo periodo, come «\par», ma una semplice separazione «visiva» al livello del sorgente, che non si deve ripercuotere sul risultato).

    Come potrei fare?[/quote]
    La riga vuota ha una funzione sintattica nei file .tex: significa “finisci il paragrafo” (o capoverso). In quasi nessun ambiente puoi fare così senza avere effetti indesiderati. La separazione visiva è già data da \begin{esercizio}, magari preceduto da una riga vuota.

    Ciao
    Enrico

    in risposta a: Problemi con la matematica #13682
    Up
    0
    Down
    ::

    Prova questo codice
    `\begin{equation}\label{eq:equazione}
    \hbox to .9\linewidth{$\displaystyle{x^2+\frac{1}{2}}$}
    \end{equation}`

    e non dimenticare le parentesi graffe che racchiudono la formula o esce uno schifo.

    Ti da anche un Overfull \hbox. Comunque, se devi avere per forza questo risultato, ignora il warning.

    Ti dà un Underfull \hbox, forse. Che si evita semplicemente mettendo un \hfil dopo la formula. Con \hbox to si chiede a TeX di riempire una scatola della dimensione specificata. Se non c’è “colla” sufficiente, usa quella che ha. Perché con le graffe non viene spaziata la formula? Perché TeX la considera una “sottoformula” e quindi la congela così com’è.

    Così per esercizio, un modo meno barbaro per ottenere una formula a una distanza fissa dal margine sinistro nell’ambiente equation può essere:
    `\newcommand{\fleq}[2][2]{%
    \hbox to 0pt{\hss
    \hbox to\columnwidth{\hspace{#1em}$\displaystyle#2$\hfil}%
    \hss}%
    }
    \begin{equation}
    \fleq{x^2+\frac{1}{2}}
    \end{equation}`
    L’argomento obbligatorio è la formula, quello opzionale il numero di em da lasciare come distanza dal margine (default 2).

    Visto che stai studiando le \hbox, puoi cercare di capire che cosa succede.

    Ciao
    Enrico

    in risposta a: Definizione dell’operatore derivata #13736
    Up
    0
    Down
    ::

    Salve a tutti.

    So bene che ad alcuni non piacerà l’idea, ma visto che la normativa internazionale ISO 31/XI impone l’uso della derivata come operatore, mi sto ponendo il problema di definirla adeguatamente (con il carattere tondo, per cominciare).

    Poiché, per fortuna, qualcuno ha fatto lo “sporco lavoro” per me, in modo da definire perfettamente la derivata in quanto a font e spaziature, mi accingevo a fare un semplice copia e incolla del comando che Claudio Beccari (è lui quel “qualcuno”) ha chiamato \diff.

    Il problema sorge dal fatto che, purtroppo, in due documenti diversi (lontani anche nel tempo, per la verità) Claudio utilizza due definizioni che, almeno a me, sembrano diverse.

    Nell’articolo di dieci anni fa Typesetting mathematics for science and technology according to ISO 31/XI, disponibile qui, per \diff è impiegata questa sequenza di comandi in TeX (purtroppo) per me incomprensibile:`\makeatletter
    \providecommand*{\diff}%
    {\@ifnextchar^{\DIfF}{\DIfF^{}}}
    \def\DIfF^#1{%
    \mathop{\mathrm{\mathstrut d}}%
    \nolimits^{#1}\gobblespace}
    \def\gobblespace{%
    \futurelet\diffarg\opspace}
    \def\opspace{%
    \let\DiffSpace\!%
    \ifx\diffarg(%
    \let\DiffSpace\relax
    \else
    \ifx\diffarg[%
    \let\DiffSpace\relax
    \else
    \ifx\diffarg\{%
    \let\DiffSpace\relax
    \fi\fi\fi\DiffSpace}`
    mentre nella recente Introduzione all’arte della composizione tipografica con LaTeX dello stesso autore, è impiegato un più laconico (e un po’ più comprensibile):
    `\newcommand*{\diff}{\mathop{}\!\mathrm{d}}`

    Vi chiedo: i due comandi sono identici, ma scritti in maniera diversa? Se no, quale è più corretto adottare?

    Aggiungo (ovemai fosse utile a risolvere l’enigma) che nell’articolo, al \diff definito in TeX, sono accoppiati i seguenti comandi (che penso possano essere utili) per la scrittura automatica della derivata totale e parziale, rispettivamente \deriv e \pderiv:`\providecommand*{\deriv}[3][]{%
    \frac{\diff^{#1}#2}{\diff #3^{#1}}}

    \providecommand*{\pderiv}[3][]{%
    \frac{\partial^{#1}#2}%
    {\partial #3^{#1}}}`

    Lascia perdere la vecchia definizione. Se la provi con differenziali di ordine superiore vedrai subito che l’esponente va troppo in alto. La nuova è molto più efficiente e non ha quel problema. Ne ha altri che secondo me non sono irrilevanti: confronta le due formule
    `\int\biggl(\frac{1}{x}+\frac{1}{1-x}\biggr)\diff x
    \int\biggl(\frac{1}{x}+\frac{1}{1-x}\biggr)\mathrm{d} x`
    (in un display, naturalmente) e scoprirai che nella prima c’è una spaziatura di troppo.

    Un consiglio: non usare \providecommand. Se per caso uno dei pacchetti che carichi definisse il comando \deriv, ti gratteresti la testa a lungo per capire dove stai sbagliando.

    E, come Catone tanto tempo fa diceva Ceterum censeo Carthaginem esse delendam alla fine di ogni suo discorso, io dico: Il simbolo d di differenziale non è un operatore.

    Ciao
    Enrico

    in risposta a: Non voglio le mmagini a fine capitolo! [Risolto] #13731
    Up
    0
    Down
    ::

    Ciao a tutti.
    Alla fine di un paragrafo (il penultimo di un capitolo) vorrei inserire tre immagini che mi occupano ognuna una pagina intera.
    Il problema è che queste immagini, non vengono inserite alla fine del penultimo paragrafo, ma alla fine dell’ultimo.
    Il codice che ho usato, alla fine del testo del penultimo paragrafo è il seguente:`\begin{figure}[!ht]
    \centering
    …
    \end{figure}`
    Come posso fare?

    `\begin{figure}[p]`
    Ciao
    Enrico

    in risposta a: Definizione di \fbox #13719
    Up
    0
    Down
    ::

    Mi serve la definizione del comando \fbox.

    In un pacchetto, non ricordo quale, c’era scritto che si trova nel file latex.tex; però io non lo riesco a trovare.

    Sta in “latex.ltx” dalla riga 4636 in poi. L’idea è semplice, poi ci sono tutte le complicazioni dovute agli argomenti opzionali che servono per \framebox, il quale è definito usando le macro con cui si fa anche \fbox.

    Si tratta, essenzialmente, di quanto fa Knuth nel TeXbook per la macro \boxit (esercizio 21.3):
    `\def\boxit#1{\vbox{\hrule\hbox{\vrule\kern3pt
    \vbox{\kern3pt#1\kern3pt}\kern3pt\vrule}\hrule}}`
    In LaTeX i \kern3pt sono sostituiti da \kern\fboxsep.

    Ciao
    Enrico

    in risposta a: Significato comandi in ambiente matematico #13715
    Up
    0
    Down
    ::

    Vorrei sapere cosa fanno i seguenti comandi:
    1) \mathsurround
    2) \mathrel
    3) \cr
    4) \crcr
    5) \ialign
    6) \noalign

    ed infine questo, che ho trovato spesso

    7) \leaders

    1) \mathsurround è un parametro dimensionale che dice quanto spazio supplementare TeX deve aggiungere a sinistra e a destra di ogni formula in corpo ($…$). Alcuni stili tipografici vogliono infatti che le formule siano leggermente più spaziate rispetto alle parole. Normalmente \mathsurround è 0pt.

    Legato a \mathsurround c’è il comando interno \m@th: quando si usa il modo matematico per fare qualche costruzione che altrimenti sarebbe più complicata (ce ne sono parecchie in plain.tex, cerca \m@th e lo scopri), si inserisce questo comando per annullare l’eventuale \mathsurround positivo:
    `\def\dots{\relax\ifmmode\ldots\else$\m@th\ldots\,$\fi}`
    \m@th equivale a \mathsurround=0pt; occorre sapere che il valore usato è quello valido alla fine della formula; il valore globale non cambia perché $…$ costituisce un gruppo.

    2) \mathrel ha un argomento; questo, considerato come semplice simbolo, verrà spaziato dal resto usando le regole per i simboli di relazione. Per esempio, il modo corretto di scrivere “a R b” che si usa nei libri di matematica è $a\mathrel{R} b$.

    3) \cr è il comando primitivo che dice a TeX che finisce la riga di un allineamento; si può usare solo dentro un \halign (o un \valign, ma qui andiamo troppo nell’esoterico)

    4) \crcr è un comando primitivo che dice a TeX: se c’è appena stato un \cr, ignorami, altrimenti fa’ finta che io sia \cr

    5) \ialign è basato su \halign: dice di costruire un \halign in cui però il \tabskip iniziale sia nullo e il parametro \everycr sia vuoto

    6) \noalign: serve per inserire materiale fra le righe di un allineamento. Su \noalign è basato, per esempio, \hline di LaTeX

    7) \leaders: è il comando che permette di stampare i puntini di guida nell’indice. La sintassi è \leaders, dove sta a indicare una \hbox, una \vbox, una \vtop oppure una \hrule oppure una \vrule. Esempio:
    `\def\hrulefill{\leaders\hrule\hfill}
    \def\dotfill{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfill}`
    Il primo riempie uno spazio orizzontale con una linea, prova con
    `\hbox to \hsize{Due \hrulefill\ parole}`
    Il secondo usa \cleaders: la \hbox viene ripetuta fino a riempire lo spazio richiesto, lasciando spazi bianchi uguali all’inizio e alla fine. Invece \leaders allinea le \hbox ripetute a una “griglia invisibile”: negli indici si deve usare \leaders e non \cleaders. Esempi:
    `\catcode`@=11
    \def\mydot{\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}}
    \catcode`@=12
    \hbox to \hsize{AAA \leaders\mydot\hfill\ AAA}
    \hbox to \hsize{AAAAA \leaders\mydot\hfill\ AAAAA}
    \hbox to \hsize{AAAAA \cleaders\mydot\hfill\ AAAAA}`
    Nelle prime due i puntini sono allineati verticalmente fra di loro, nella terza no.

    Dunque, per scrivere una fila di puntini per indicare uno spazio da riempire in un modulo, si usa \dotfill che è basato su \cleaders (non ci sono allineamenti verticali da rispettare); una macro per i puntini guida nell’indice deve usare \leaders.

    A dire il vero si può usare \leaders anche in modo verticale e ci sarebbe pure \xleaders, ma direi che può bastare.

    Però puoi provare a vedere che succede con questo codice
    `\hbox to 2.5in{\cleaders\vbox to .5in{\cleaders\hbox{\TeX}\vfil}\hfil}`
    Non è carino? (Dal TeXbook, naturalmente.)

    Ciao
    Enrico

    in risposta a: Codice barra dritta #13712
    Up
    0
    Down
    ::

    In LaTeX o in TeX, nei fonts cm, il codice della barra / è “30E. Vorrei sapere quale è il codice della barra dritta cioè di |.

    Che significa? Quale codice?

    Il \mathcode di “/” è “13D, quello della barra diritta è “26A.

    Con “30E scegli una barra diritta dalla famiglia di font numero 3 (simboli), di fatto quella che otterresti con “\big/”. Infatti il \delcode di “/” è “02F30E, che significa:

      a grandezza normale, la barra diritta usata come delimitatore è il carattere “2F nella famiglia 0 (per default cmr10); se invece a grandezza maggiore, si usa il carattere “0E della famiglia 3 (per default cmex10); il font della famiglia 3 ha le informazioni per stampare versioni più grandi, all’occorrenza.

    Il \delcode della barra diritta è “26A30C; infatti nel font cmr10 non c’è il carattere per la barra diritta e la versione di grandezza normale è presa dalla famiglia 2 (per default cmsy10). E infatti, il \mathcode di | è “026A, quello di / è “013D.

    Ahi! Perché “013D? Be’, domandalo a Knuth. 😀 No, il motivo è “facile”: siccome la maggioranza dei simboli delle formule viene preso dal font della famiglia 1 (per default cmmi10), prendere la barra diritta da lì permette la crenatura automatica.

    Esempio:
    `\setbox0=\hbox{$V/$}\showthe\wd0
    \setbox0=\hbox{$V\mathchar`/$]\showthe\wd0`
    dà come dimensioni, rispettivamente, 11.94444pt e 13.05557pt. Ciò mostra che, nel primo caso c’è crenatura, nel secondo no. (Con \mathchar`/ si ottiene il carattere di posto “2F nella famiglia 0, cioè la barra / come si desidera.)

    Ciao
    Enrico

    in risposta a: Problemi con la matematica #13677
    Up
    0
    Down
    ::

    Fossi in te, userei le impostazioni di default (opzioni fleqn e leqno del pacchetto amsmath). Se vuoi proseguire nella tua strada (non te lo consiglio però) prova:

    Lo so che rompo le palle, ma io verrei che solamente una formula mi si allineasse a sinstra, e le altre tranquillamente la centro..pensavo che esisteva qualche comando particolare all’interno dell’ambiente, o qualche ambiente apposta.

    Dovresti, per favore, essere un po’ più chiaro nelle domande. Che significa “allineata a sinistra”? Al margine? O un insieme di formule allineate fra loro a sinistra e globalmente centrate?

    Se vuoi una formula allineata al margine sinistro (e non trovo motivazioni valide per farlo, illuminaci, ti prego :D) basta un semplice
    `\begin{flushleft}
    $\displaystyle$
    \end{flushleft}`
    O capisco male ciò che desideri? Se ti serve un margine, basta aggiungerlo prima della formula con \hspace*{}

    Ciao
    Enrico

    Up
    0
    Down
    ::

    Lorenzo,

    Riprendo questo topic perché ho finalmente trovato due ottimi modi per riprodurre l’ambiente che cercavi.

    A parte l’ottimo pacchetto sverb, ne esiste un’altro che si chiama, nemmeno a farlo apposta
    example
    ftp://tug.ctan.org/pub/tex-archive/macros/latex209/contrib/misc/example.sty

    Ne segnalo un altro: examplep (la TeX Live più recente ce l’ha). Mi sono divertito a costruire una versione di example che non usa file esterni, ma mi sono accorto che è adatto solo a esempi molto brevi e poco complicati.

    Ciao
    Enrico

    in risposta a: MiKTeX e Babel: errore con la lingua italiana #6467
    Up
    0
    Down
    ::

    Cancella quei due \MakeUppercase.

    Come mai? Che comando va usato al loro posto?

    Non ho indagato a fondo su quanto succede in quella situazione. Sta di fatto che erano quelli che creavano il problema, perché evidentemente nel \leftmark e nel \rightmark c’è anche un comando “\selectlanguage{italian}” che, con \MakeUppercase, diventa un “\selectlanguage{ITALIAN}”: a questo punto c’è l’errore.

    In questo caso sono inutili, visto che non erano stati ridefiniti i \…mark i quali, per le classi standard, contengono già il comando \MakeUppercase.

    Ciao
    Enrico

    in risposta a: MiKTeX e Babel: errore con la lingua italiana #6464
    Up
    0
    Down
    ::

    Ho avuto lo stesso problema con babel e fancyhdr.

    Quello che mi capita è che quando vado a compilare il sorgente che ho incollato qui di seguito mi riporta 17 errori che dicono: “Package babel Error: You haven’t defined the language ITALIAN yet”.
    `\documentclass[11pt,a4paper,openright,twoside]{book}
    …
    \newcommand{\fncymain}{%
    \fancyhead[RO]{{\footnotesize\MakeUppercase
    \rightmark}}
    \fancyfoot[RO]{\thepage}
    \fancyhead[LE]{{\footnotesize\MakeUppercase
    \leftmark}}
    \fancyfoot[LE]{\thepage}
    \fancyfoot[C]{}
    \renewcommand{\headrulewidth}{0.3pt}}
    …
    \end{document}`

    Cancella quei due \MakeUppercase.

    Ciao
    Enrico

    in risposta a: Ridurre didascalie in elenco figure #13710
    Up
    0
    Down
    ::

    Guarda, manuali ne ho letti ad nauseam… per qualche motivo ho controllato questa cosa su qualche guida tranne che su LA GUIDA per eccellenza… non so perchè 😳

    Ti segnalo, se non l’avessi vista, l’ottima “Introduzione” di C. Beccari. A pagina 46 trovi la descrizione di \caption che serviva. Ma là ci sono anche tante altre cose.

    Ciao
    Enrico

    in risposta a: beamer, tikz e ciclo foreach #13700
    Up
    0
    Down
    ::

    Mi sembra di ricordare che non si puo’ specificare l’overlay all’interno di una tikzpicture. Per sicurezza prova a chiedere qui (spesso è lo stesso Tantau a rispondere):

    Forum pgf/Tikz
    http://sourceforge.net/mailarchive/forum.php?forum_id=45629

    Forum Beamer
    http://sourceforge.net/forum/forum.php?forum_id=319190

    Il codice seguente produce 16 cerchi, uno alla volta. Se li si vuole far “apparire e scomparire” il modo migliore, secondo me, è di disegnarli tutti, rendendone uno solo non invisibile.
    `\begin{frame}
    \vspace*{1cm}
    \begin{tikzpicture}
    \foreach \c in {(0,3),(0,2),(0,1),(0,0),(1,3),(1,2),(1,1),(1,0),%
    (2,3),(2,2),(2,1),(2,0),(3,3),(3,2),(3,1),(3,0)}
    \draw<+-> \c circle (0.5cm);
    \end{tikzpicture}

    \vspace{0pt plus 1filll}
    \end{frame}`
    Lascio a cpl il compito di modificare a suo piacimento. Ma i cerchi sono sedici.

    Ciao
    Enrico

    in risposta a: Ridurre didascalie in elenco figure #13708
    Up
    0
    Down
    ::

    Grazie… ora che me lo dici mi sa che l’avevo già letto da qualche parte, ma non sono stato in grado di ritrovarlo 😯 😀

    Prendi la “(mica) tanto breve introduzione a LaTeX”, sezione 2.12, pagina 36 (nella versione che ho io). Cerca \caption e vedrai. Può essere utile cercare le cose sui manuali, sai? 😉

    Come mai se uno deve scoprire le funzioni del forno a microonde legge le istruzioni e se invece vuole far funzionare un software considera la lettura di un manuale come l’ultimissima risorsa? 👿

    Ciao
    Enrico

Stai visualizzando 15 risposte – dal 11,986 al 12,000 (di 13,218 totali)

Go to top▲