letteracdp

Risposte nei forum create

Stai visualizzando 15 risposte – dal 136 al 150 (di 713 totali)
  • Autore
    Risposte
  • in risposta a: “Doppi” comandi #112860
    Up
    0
    Down
    ::


    Oh, naturalmente funziona anche
    `
    \newcommand*{\inizializza}[1]{\COPYinVarName{0}{totale#1}}
    `
    con la definizione di [tt]\COPYinVarName[/tt] sempre data da
    `
    \newcommand*{\COPYinVarName}[2]{%
    \PreProcessArguments{\COPY}{%
    \PassArgumentAsIs{#1}%
    \MakeCSFromString{#2}%
    }%
    }
    `
    Ciao.


    Gustavo

    in risposta a: “Doppi” comandi #112859
    Up
    0
    Down
    ::

    Matteo Dann” post=113307Meraviglioso grazie mille, se ora volessi far funzionare un comando simile dentro un altro comando, come potrei fare? Io ho provato con`\newcommand{\inizializza}[1]{%
    \PreProcessArguments{\COPYinVarName}{%
    \MakeCSFromString{0}
    \MakeCSFromString{totale#1}%
    }%
    }`
    ma non funziona… (Qui sarebbe per “inizializzare” un valore a zero)

    Stai sbagliando due cose:

    1. nel primo argomento di [tt]\PreProcessArguments[/tt] devi passare il comando del pacchetto calculator sul quale il tuo comando è basato;
    2. tu vuoi passare la costante zero «così com’è», dunque devi usare come «inviluppo» [tt]\PassArgumentAsIs[/tt], non [tt]\MakeCSFromString[/tt].

    Dunque scriverai:
    `
    \newcommand*{\inizializza}[1]{%
    \PreProcessArguments{\COPY}{%
    \PassArgumentAsIs{0}%
    \MakeCSFromString{totale#1}%
    }%
    }
    `
    Ecco un esempio completo e compilabile:
    `
    % My standard header for TeX.SX answers:
    \documentclass[a4paper]{article} % To avoid confusion, let us explicitly
    % declare the paper format.

    \usepackage[T1]{fontenc} % Not always necessary, but recommended.
    % End of standard header. What follows pertains to the problem at hand.

    \usepackage[italian]{babel}
    \usepackage{calculator}

    \makeatletter

    \newcommand*\PreProcessArguments[2]{%
    \edef\@tempa{\noexpand#1#2}%
    % \show\@tempa % diagnostic message, disabled by default
    \@tempa
    }
    \newcommand*\PassArgumentAsIs[1]{{\unexpanded{#1}}}
    \newcommand*\MakeCSFromString[1]{%
    \expandafter\noexpand \csname #1\endcsname
    }

    \makeatother

    \newcommand*{\inizializza}[1]{%
    \PreProcessArguments{\COPY}{%
    \PassArgumentAsIs{0}%
    \MakeCSFromString{totale#1}%
    }%
    }

    \begin{document}

    \COPY{123}{\totalePippo}

    Qui \( \verb|\totalePippo| = \totalePippo \).

    \inizializza{Pippo}

    Ora, per\`{o}, \( \verb|\totalePippo| = \totalePippo \).

    \end{document}
    `

    Ciao.


    Gustavo

    in risposta a: “Doppi” comandi #112857
    Up
    0
    Down
    ::

    Matteo Dann” post=113241Ciao, scusate se chiedo ancora, ma la sintassi per definire `\newcommand*\MakeCSFromSecondFourthAndFifthArgument[5]` e collega, e mi farebbe molto comodo avere anche quello per fare la somma di due “variabili” a cui è già stato assegnato un valore tramite `\COPYinVarName`
    […]

    Chiedo scusa se rispondo molto di fretta, in compenso ho incluso dei commenti nel codice che spero sufficienti a illustrare l’uso delle macro che propongo. Ho riorganizzato la preelaborazione degli argomenti in modo molto più ordinato, ora si può scrivere qualcosa del tipo
    `
    \newcommand*{\COPYinVarName}[2]{%
    \PreProcessArguments{\COPY}{%
    \PassArgumentAsIs{#1}%
    \MakeCSFromString{#2}%
    }%
    }
    `
    dove si usa [tt]\PassArgumentAsIs{#[/tt]i[tt]}[/tt] se si vuole passare l’i-esimo argomento inalterato, [tt]\MakeCSFromString{#[/tt]i[tt]}[/tt] se l’i-esimo argomento deve essere trasformato da stringa a nome di comando.

    Esempio compilabile:
    `
    % My standard header for TeX.SX answers:
    \documentclass[a4paper]{article} % To avoid confusion, let us explicitly
    % declare the paper format.

    \usepackage[T1]{fontenc} % Not always necessary, but recommended.
    % End of standard header. What follows pertains to the problem at hand.

    \usepackage[italian]{babel}
    \usepackage{calculator}

    \makeatletter

    % Suppose you have a command “\COMM” (e.g., “\COMM” = “\COPY”), with
    % n arguments; suppose some of these argument must be command names,
    % and that you want to define a variant of “\COMM”, named “\MYCOMM”,
    % that builds some of those command names from strings of characters
    % passed in corresponding arguments of “\MYCOMM”. For example,
    % let's say that you want
    %
    % \MYCOMM{dividend}{13}{quotient}{\remainder}
    %
    % (note that the last argument is already a command name, and not a
    % string from which a command name should be built) to have the same
    % outcome as
    %
    % \COMM{\dividend}{13}{\quotient}{\remainder}
    %
    % The following macros help you do so.
    %
    % – \PreProcessArguments{<\COMM>}{}
    % The first argument is the original command you want to invoke.
    % The second argument contains a sequence of items of the form
    % {#i}
    % (one for each argument of <\COMM>), where
    is either
    % “\PassArgumentAsIs” or “\MakeCSFromString”, and i is the number
    % of the item (that is, of the argument the item describes); this
    % sequence specifes how each argument of the command you are defining
    % should be forwarded to <\COMM>, the names of the two wrappers being
    % self-explanatory.
    %
    % IMPORTANT: it is also possible, when using “\MakeCSFromString”,
    % to add a costant prefix (or a suffix, or both) to the given string
    % before it is converted to a command name: see example below.

    \newcommand*\PreProcessArguments[2]{%
    \edef\@tempa{\noexpand#1#2}%
    % \show\@tempa % diagnostic message, disabled by default
    \@tempa
    }
    \newcommand*\PassArgumentAsIs[1]{{\unexpanded{#1}}}
    \newcommand*\MakeCSFromString[1]{%
    \expandafter\noexpand \csname #1\endcsname
    }

    \makeatother

    % \COPYinVarName{123}{duck} -> \COPY{123}{\duck}
    % ^ ^
    % | |
    % pass argument “as is” ——-+ |
    % make comm. name from string ——+
    \newcommand*{\COPYinVarName}[2]{%
    \PreProcessArguments{\COPY}{%
    \PassArgumentAsIs{#1}%
    \MakeCSFromString{#2}%
    }%
    }

    % \INTEGERDIVISIONwithVarQuotientVarRemainder{987}{654}{aa}{bb}
    % -> \INTEGERDIVISION{987}{654}{\aa}{\bb}
    % ^ ^ ^ ^
    % | | | |
    % pass argument “as is” ——-+ | | |
    % pass argument “as is” ————+ | |
    % make comm. name from string ———–+ |
    % make comm. name from string —————-+
    \newcommand*{\INTEGERDIVISIONwithVarQuotientVarRemainder}[4]{%
    \PreProcessArguments{\INTEGERDIVISION}{%
    \PassArgumentAsIs{#1}%
    \PassArgumentAsIs{#2}%
    \MakeCSFromString{#3}%
    \MakeCSFromString{#4}%
    }%
    }

    % \INTEGERDIVISIONwithVarDividendVarQuotientVarRemainder{aa}{654}{bb}{cc}
    % -> \INTEGERDIVISION{\aa}{654}{\bb}{\cc}
    % ^ ^ ^ ^
    % | | | |
    % make comm. name from string -+ | | |
    % pass argument “as is” ————+ | |
    % make comm. name from string ———–+ |
    % make comm. name from string —————-+
    \newcommand*{\INTEGERDIVISIONwithVarDividendVarQuotientVarRemainder}[4]{%
    \PreProcessArguments{\INTEGERDIVISION}{%
    \MakeCSFromString{#1}%
    \PassArgumentAsIs{#2}%
    \MakeCSFromString{#3}%
    \MakeCSFromString{#4}%
    }%
    }

    % Etc. etc.
    \newcommand*{\INTEGERDIVISIONwithVarDividendVarQuotient}[4]{%
    \PreProcessArguments{\INTEGERDIVISION}{%
    \MakeCSFromString{#1}%
    \PassArgumentAsIs{#2}%
    \MakeCSFromString{#3}%
    \PassArgumentAsIs{#4}%
    }%
    }

    % An example where a constant prefix/suffix are added:
    \newcommand*{\INTEGERDIVISIONwithVarDividendVarQuotientAdorned}[4]{%
    \PreProcessArguments{\INTEGERDIVISION}{%
    \MakeCSFromString{#1}%
    \PassArgumentAsIs{#2}%
    \MakeCSFromString{A#3Z}%
    \PassArgumentAsIs{#4}%
    }%
    }

    \begin{document}

    \COPYinVarName{33.333}{pippo}

    Ora \( \verb|\pippo| = \pippo \).

    \COPYinVarName{-12.345}{pippo}

    Adesso, per\`{o}, \( \verb|\pippo| = \pippo \).

    \INTEGERDIVISIONwithVarQuotientVarRemainder{38}{5}{quoziente}{resto}

    Il quoziente di $138$ diviso~$15$ \`{e} $\quoziente$ con resto~$\resto$
    perch\'{e}
    \[
    \quoziente \times 15 + \resto = 138
    \]

    \INTEGERDIVISIONwithVarQuotientVarRemainder{187}{17}{quoziente}{resto}

    Il quoziente di $187$ diviso~$17$ \`{e} $\quoziente$ con resto~$\resto$
    perch\'{e}
    \[
    \quoziente \times 17 + \resto = 187
    \]

    \COPYinVarName{357}{dividendo}
    \INTEGERDIVISIONwithVarDividendVarQuotientVarRemainder
    {dividendo}{12}{quoziente}{resto}

    Il quoziente di $\dividendo$ diviso~$12$ \`{e} $\quoziente$ con resto~$\resto$
    perch\'{e}
    \[
    \quoziente \times 12 + \resto = \dividendo
    \]

    \COPYinVarName{10}{divisore}
    \INTEGERDIVISIONwithVarDividendVarQuotient
    {dividendo}{\divisore}{quoziente}{\resto}

    Il quoziente di $\dividendo$ diviso~$\divisore$ \`{e} $\quoziente$ con resto~$\resto$
    perch\'{e}
    \[
    \quoziente \times \divisore + \resto = \dividendo
    \]
    Quest'ultimo esempio mostra chiaramente che \verb|\PassArgumentAsIs| funziona
    anche se l'argomento da passare <> \`{e} il nome di un
    comando.

    \INTEGERDIVISIONwithVarDividendVarQuotientAdorned
    {dividendo}{\divisore}{quoziente}{\resto}

    Con pre-\slash suffisso: il quoziente di $\dividendo$ diviso~$\divisore$ \`{e}
    $\AquozienteZ$ con resto~$\resto$ perch\'{e}
    \[
    \AquozienteZ \times \divisore + \resto = \dividendo
    \]

    \end{document}
    `

    Ciao.


    Gustavo

    in risposta a: Latex to Word #112956
    Up
    0
    Down
    ::

    Sectioaurea2″ post=113286[…] In realtà mi serve da convertire una pagina in cui non sono presenti formule, ma solo caratteri e un’immagine. […]

    Sectioaurea2″ post=113290[…] Mi è stato richiesto dalla tipografia per stampare il frontespizio sulla copertina della tesi rilegata.

    Scusa, ma non capisco: se è così, non facevate molto prima, tu e la tipografia, a ricomporre direttamente, ex novo, la pagina del frontespizio con Word?

    Ciao.


    Gustavo

    in risposta a: Percorso con spazi non funziona con hyperref #112902
    Up
    0
    Down
    ::

    claudio.ferroni” post=113268[…]
    Al momento aprendo con Adobe se clicco sul link e do il conferma, si apre una pagina di Google con Z:/SIT/TP%20Link come testo in ricerca. 😮
    […]

    Al momento non posso fare esperimenti, ma succede anche se scrivi`\href{file://Z:/SIT/TP Link}{qui}`per generare il collegamento?

    Ciao.


    Gustavo

    in risposta a: Percorso con spazi non funziona con hyperref #112899
    Up
    0
    Down
    ::


    Se nel testo da «cliccare» non compaiono spazi, non c’è bisogno della riga`\usepackage[obeyspaces]{url}`che si può semplicemente omettere.

    claudio.ferroni” post=113260[…]
    Quando cerco di aprire il link con Acrobat, mi appare questo messaggio:

    Il documento sta tentando di stabilire una connessione a:
    Z:/SIT/TP%20Link

    Se il sito è affidabile, scegliere Consenti. In caso contrario, scegliere Blocca.

    Come vedete è stato sostituito %20 al posto dello spazio, robaccia alla Windows 🙁
    Cosa posso fare? C’è qualche impostazione di Acrobat da sistemare, a questo punto?

    […]

    Fai clic su «Consenti», ovviamente! Credo comunque che si possa evitare questo avviso di sicurezza impostando opportunamente le impostazioni di sicurezza avanzate (in «Security (Enhanced)», impostare le «Privileged Locations»).

    Ciao.


    Gustavo

    in risposta a: Percorso con spazi non funziona con hyperref #112897
    Up
    0
    Down
    ::


    In parte è anche un problema del visualizzatore PDF. Il codice seguente
    `
    % My standard header for TeX.SX answers:
    \documentclass[a4paper]{article} % To avoid confusion, let us explicitly
    % declare the paper format.

    \usepackage[T1]{fontenc} % Not always necessary, but recommended.
    \usepackage[utf8]{inputenc} % Not always necessary, but recommended.
    % End of standard header. What follows pertains to the problem at hand.

    \usepackage[obeyspaces]{url}
    \usepackage{hyperref}

    \begin{document}

    A link to \url{http://www.w3.org/A file.html}.

    \end{document}
    `
    produce un collegamento che viene correttamente codificato da hyperref come [tt]http://www.w3.org/A\040file.html[/tt] (ciò può essere accertato con [tt]\showlists[/tt]), ma né TeXShop né Skim, a quanto pare, sono capaci di interpretare questa codifica. Con Adobe Reader, invece, il collegamento funziona come ci si aspetta.

    Ciao.


    Gustavo

    in risposta a: “Doppi” comandi #112852
    Up
    0
    Down
    ::


    È colpa mia, che ho risposto frettolosamente e — lo ammetto! — senza leggere affatto la tua replica alla prima risposta di @OldClaudio, nella quale delineavi lo scenario di utilizzo che sottostà al tuo problema: non bisognerebbe mai fare così, e mi scuso per averlo fatto. 😳

    Le macro [tt]\@nameuse[/tt] e [tt]\@namedef[/tt] vanno bene per essere usate da sole, ma, in generale, non possono essere usate per “fabbricare” nomi di comandi che debbano essere passati come argomenti ad altri comandi. Quello che vuoi fare tu è complicato, e vedo tre modi per farlo, l’ultimo dei quali vira alquanto sul tacón (nel senso @egreg9-iano del termine):

    1. studiare l’implementazione del pacchetto calculator e implementare il comportamento desiderato direttamente al suo interno, modificandone il codice;
    2. imparare il LaTeX3 😉 ;
    3. pre-processare gli argomenti da passare ai comandi del pacchetto calculator mediante i vecchi trucchi di basso livello a base di [tt]\edef[/tt], [tt]\expandafter[/tt], [tt]\noxepand[/tt] e [tt]\unexpanded[/tt].

    Vediamo come potrebbe essere realizzato il punto 3, limitandoci a una proof of concept. Il codice seguente definisce tre macro che consentono di richiamare un dato comando, il quale si aspetta che certi suoi argomenti siano dei nomi di comando (più esattamente, delle sequenze di controllo), costruendo tali nomi a partire da altrettante sequenze di caratteri passate in argomenti corrispondenti per posizione. Per esempio, nel codice che segue, le linee
    `
    \COPYinVarName{357}{dividendo}
    \INTEGERDIVISIONwithVarDividendVarQuotientVarRemainder
    {dividendo}{12}{quoziente}{resto}
    `
    generano le due chiamate
    `
    \COPY{357}{\dividendo}
    \INTEGERDIVISION{\dividendo}{12}{\quoziente}{\resto}
    `
    L’esempio in questione utilizza la primitiva [tt]\unexpanded[/tt], che non fa parte del «TeX di Knuth», sebbene sia disponibile da parecchi anni nella variante di TeX di più comune utilizzo, cioè pdf(e)TeX. In teoria, si potrebbe ottenere un comportamento equipollente anche col puro TeX knuthiano, utilizzando la primitiva [tt]\the[/tt] applicata a un token register: si forniscono due esempi, per il momento commentati, di implementazioni alternative mediante questa tecnica, che potrai sperimentare decommentandole (e commentando, naturalmente, le corrispondenti implementazioni tramite [tt]\unexpanded[/tt]).

    `
    % My standard header for TeX.SX answers:
    \documentclass[a4paper]{article} % To avoid confusion, let us explicitly
    % declare the paper format.

    \usepackage[T1]{fontenc} % Not always necessary, but recommended.
    % End of standard header. What follows pertains to the problem at hand.

    \usepackage[italian]{babel}
    \usepackage{calculator}

    \makeatletter

    %
    % Implementation with e-TeX's “\unexpanded”:
    \newcommand*\MakeCSFromSecondArgument[2]{%
    \edef\@tempa{%
    \unexpanded{#1}%
    \expandafter\noexpand \csname #2\endcsname
    }%
    \@tempa
    }
    % %
    % % “Purely Knuthian” implementation:
    % \newcommand*\MakeCSFromSecondArgument[2]{%
    % \toks@ {#1}%
    % \expandafter\the \expandafter\toks@
    % \csname #2\endcsname
    % }

    %
    % Implementation with e-TeX's “\unexpanded”:
    \newcommand*\MakeCSFromSecondAndThirdArgument[3]{%
    \edef\@tempa{%
    \unexpanded{#1}%
    \expandafter\noexpand \csname #2\endcsname
    \expandafter\noexpand \csname #3\endcsname
    }%
    \@tempa
    }
    % %
    % % “Purely Knuthian” implementation:
    % \newcommand*\MakeCSFromSecondAndThirdArgument[3]{%
    % \toks@ {#1}%
    % \expandafter\the \expandafter\toks@
    % \csname #2\expandafter\endcsname
    % \csname #3\endcsname
    % }

    %
    % Implementation with e-TeX's “\unexpanded”:
    \newcommand*\MakeCSFromSecondFourthAndFifthArgument[5]{%
    \edef\@tempa{%
    \unexpanded{#1}%
    {\expandafter\noexpand \csname #2\endcsname}%
    \unexpanded{#3}%
    \expandafter\noexpand \csname #4\endcsname
    \expandafter\noexpand \csname #5\endcsname
    }%
    \@tempa
    }
    %
    % No “purely Knuthian” version fot this one!

    \makeatother

    \newcommand*{\COPYinVarName}[2]{%
    \MakeCSFromSecondArgument{\COPY{#1}}{#2}%
    }
    \newcommand*{\INTEGERDIVISIONwithVarQuotientVarRemainder}[4]{%
    \MakeCSFromSecondAndThirdArgument
    {\INTEGERDIVISION{#1}{#2}}%
    {#3}{#4}% variable names
    }
    \newcommand*{\INTEGERDIVISIONwithVarDividendVarQuotientVarRemainder}[4]{%
    \MakeCSFromSecondFourthAndFifthArgument
    \INTEGERDIVISION
    {#1}% variable name
    {{#2}}%
    {#3}{#4}% variable names
    }

    \begin{document}

    \COPYinVarName{33.333}{pippo}

    Ora \( \verb|\pippo| = \pippo \).

    \COPYinVarName{-12.345}{pippo}

    Adesso, per\`{o}, \( \verb|\pippo| = \pippo \).

    \INTEGERDIVISIONwithVarQuotientVarRemainder{38}{5}{quoziente}{resto}

    Il quoziente di $138$ diviso~$15$ \`{e} $\quoziente$ con resto~$\resto$
    perch\'{e}
    \[
    \quoziente \times 15 + \resto = 138
    \]

    \INTEGERDIVISIONwithVarQuotientVarRemainder{187}{17}{quoziente}{resto}

    Il quoziente di $187$ diviso~$17$ \`{e} $\quoziente$ con resto~$\resto$
    perch\'{e}
    \[
    \quoziente \times 17 + \resto = 187
    \]

    \COPYinVarName{357}{dividendo}
    \INTEGERDIVISIONwithVarDividendVarQuotientVarRemainder
    {dividendo}{12}{quoziente}{resto}

    Il quoziente di $\dividendo$ diviso~$12$ \`{e} $\quoziente$ con resto~$\resto$
    perch\'{e}
    \[
    \quoziente \times 12 + \resto = \dividendo
    \]

    \end{document}
    `

    Permettetemi di chiudere con una nota mestamente nostalgica per gli arditi [tt]\edef[/tt], le delicate collanine di [tt]\expandafter[/tt], fragili e iridescenti come trine di brina, le espansioni controllate dei [tt]\the[/tt] applicati a un token register, gli ossimorici [tt]\expandafter\noexpand[/tt]… Tutte cose che, con il LaTeX3, sono destinate a scomparire… 😥

    Ciao.


    Gustavo

    in risposta a: “Doppi” comandi #112847
    Up
    0
    Down
    ::


    Sì, direi che senz’altro ciò di cui sei in cerca è il costrutto [tt]\csname …\endcsname[/tt], il quale permette di costruire un comando at run-time; se si preferisce, è il meccanismo con il quale il TeX realizza l’indirezione nei comandi. Il nucleo del LaTeX rende disponibile la stessa funzione tramite la macro [tt]\@nameuse[/tt].

    Esempio minimo compilabile:
    `
    % My standard header for TeX.SX answers:
    \documentclass[a4paper]{article} % To avoid confusion, let us explicitly
    % declare the paper format.

    \usepackage[T1]{fontenc} % Not always necessary, but recommended.
    % End of standard header. What follows pertains to the problem at hand.

    \newcommand*{\comando}[1]{\csname comando#1\endcsname}

    % % Definizione alternativa:
    % \makeatletter
    % \newcommand*\comando[1]{\@nameuse{comando#1}}
    % \makeatother

    \newcommand*{\comandoA}{Pippo}
    \newcommand*{\comandoB}{Pluto}
    \newcommand*{\comandoC}{Paperino}

    \begin{document}

    \comando{A}, \comando{B} e \comando{C}.

    \end{document}
    `

    Se poi vuoi anche definire un comando con (parte de) il nome variabile, devi anche imparare l’uso di [tt]\expandafter[/tt] :smile:, oppure usare [tt]\@namedef[/tt].

    Ciao.


    Gustavo

    in risposta a: Conclusione e indice #16219
    Up
    0
    Down
    ::

    Giorgio_89″ post=113182[…]

    Ho usato questo metodo anche io. Però così facendo mi ritrovo nella seconda pagina dell’introduzione la testatina con scritto indice. (stessa cosa nella seconda pagina delle conclusioni in cui mi compare la testatina con il titolo dell’ultimo capitolo). Come posso risolvere??

    Per fornirti istruzioni precise, bisognerebbe almeno sapere quale classe di documento usi; meglio ancora srebbe se tu affiggessi un esempio minimo compilabile. Per intanto, posso suggerirti di cercare nelle guide i comandi [tt]\chaptermark[/tt] (prima di tutto), [tt]\markboth[/tt] e [tt]\markright[/tt] (in seconda istanza).

    Ciao.


    Gustavo

    in risposta a: Problemi con tabelle #112807
    Up
    0
    Down
    ::

    Aimè” post=113133Grazie per il pronto intervento. Voglio scusarmi in merito alle osservazioni che mi sono state rivolte:

    […]

    Ma no, dai, non volevo mica farti dei rimproveri: volevo solo darti dei consigli! 🙂

    Ciao.


    Gustavo

    in risposta a: Problemi con tabelle #112801
    Up
    0
    Down
    ::


    Alcune osservazioni:

    1. Quando includi nelle domande un E.M.C., è meglio includerlo come codice in linea, non come allegato, così lo si può leggere senza bisogno di scaricarlo sul proprio calcolatore; se poi uno lo vuole compilare, farà un semplice «copia e incolla» dal testo del messaggio. Naturalmente, l’«esempio» deve essere veramente «minimo» e «compilabile», e il tuo lo era (a parte il caricamento di alcuni pacchetti inutili…). 🙂
    2. Il tuo uso dell’argomento opzionale dell’ambiente [tt]tabularx[/tt] è completamente sbagliato, ed è questa la causa del tuo problema. In quell’argomento opzionale puoi specificare come la «scatola» prodotta dall’ambiente stesso va allineata con le «scatole» adiacenti: [tt]t[/tt] = allinea il bordo superiore, [tt]b[/tt] = allinea il bordo inferiore (più o meno), [tt]c[/tt] = allinea lungo l’asse mediano (più o meno). Nel tuo caso non ci sono «scatole» adiacenti, dunque quell’argomento non serve (non per nulla è opzionale!). Chi diavolo ti ha detto che potevi metterci un comando per cambiare il corpo dei caratteri?
    3. Il cambiamento di corpo, però, non può nemmeno essere specificato subito dopo il [tt]\begin{tabularx}[/tt], perché resterebbe in vigore solo nella prima cella della prima linea. La cosa più semplice da fare è impostarlo subito prima dell’ambiente [tt]tabularx[/tt], e tenere confinata questa impostazione creando un gruppo che inviluppi tale ambiente. Questo gruppo può essere costituito da un ulteriore ambiente, più esterno, oppure può essere creato, per così dire, manualmente.
    4. Sempre nel tuo caso, è comunque caldamente raccomandabile inviluppare l’ambiente [tt]tabularx[/tt] con un ambiente [tt]center[/tt], il quale fornisce anche il gruppo di cui hai bisogno; quindi, la soluzione naturale è collocare, per esempio, una dichiarazione [tt]\footnotesize[/tt] dentro l’ambiente [tt]center[/tt], ma fuori dell’ambiente [tt]tabularx[/tt]. Più sotto accludo un E.M.C. che mostra in dettaglio come fare.
    5. La tua impostazione dei margini è tipograficamente assai povera, perché la larghezza della gabbia di testo è eccessiva. Se lo fai per farci stare la tabella, ti dirò che è possibile, con un trucco «garibaldino», farla sconfinare parzialmente nei margini; non so però se faccio bene a insegnare questo trucco… 🙂

    Ecco un esempio di come potresti fare (ho «commentato via» i pacchetti non rilevanti‚:
    `
    \documentclass[10pt,a4paper]{report}
    \usepackage[T1]{fontenc}
    % \usepackage[ascii]{inputenc} % quando affiggo in Rete, uso solo ASCII
    \usepackage[italian]{babel}
    \usepackage[top=3cm,bottom=2.5cm,left=3cm,right=3cm]{geometry}
    \usepackage{tabularx}
    \usepackage{booktabs}
    % \usepackage{xskak}
    % \usepackage{graphicx}
    % \usepackage{xcolor}
    % \usepackage{microtype}
    % \usepackage{tikz}

    \begin{document}

    Testo di riferimento, che serve per vedere qual \`{e} la dimensione dei
    caratteri nel corpo principale del documento.

    \begin{center} % per lasciare un po' di spazio sopra e sotto la tabella e, al
    % tempo stesso, tenere confinato il cambio di corpo

    \footnotesize % deve essere impostato prima della tabella

    \begin{tabularx}{\textwidth}{lXlll}
    \toprule
    &&+& =& -\\
    \midrule
    1966&<>&5- &10- &0\\
    1966&Campionato giovanile a squadre dell'URSS (prima scacchiera)&5- &3- &0\\
    1966&Incontro giovanile a squadre URSS-Scandinavia (sesta scacchiera)&1- &1- &0\\
    1966-67&Trscinez (primo posto)&9- &4- &0\\
    1967&Torneo eliminatorio per il campionato mondiale giovanile (quinto posto)&3- &1- &3\\
    1967&Spartakiade RSFSR (seconda scacchiera)&4- &1- &2\\
    ecc&ecc&ecc&ecc&ecc\\
    \bottomrule
    \end{tabularx}

    \end{center}

    Dell'altro testo di riferimento.

    \end{document}
    `

    Ciao.


    Gustavo

    in risposta a: Consigliereste Tex o Latex per tesi giurisprudenza? #112778
    Up
    0
    Down
    ::


    Tieni presente che, per passare a LaTeX, devi preventivare almeno una settimana sottratta alla redazione della tesi e passata solo a studiare, a tempo pieno, come esso si usa: si tratta infatti di un sistema piuttosto sofisticato, simile, per certi aspetti, a un linguaggio di programmazione. D’altra parte, una settimana di studio serio dovrebbe essere sufficiente a consentirti di padroneggiare con sicurezza quanto in genere basta per scrivere una tesi di laurea.

    Ciao.


    Gustavo

    in risposta a: Interlinea #112774
    Up
    0
    Down
    ::

    Bialetti” post=113106Ho soltanto inviato il codice sbagliato. Avevo utilizzato il \begin{center} per vedere se evitava l’inserimento dello spazio tra le righe, cosa che sapevo già che \begin{equation} facesse.

    Cara/o @Bialetti, permettimi di farti notare che, con il mio, siamo già al settimo messaggio di replica alla tua domanda, senza che si sia ancora iniziato ad attaccare il problema. Se vuoi ottenere risposte, devi porre la cura adeguata nel formulare le domande; questo non significa soltanto che devi almeno fermarti un secondo e mezzo a pensare se il codice che stai affiggendo a mo’ di esempio è quello giusto, ma anche che devi essere sollecita/o nel mettere le persone alle quali chiedi di aiutarti nelle condizioni migliori per poterlo fare. In particolare:

    1. Prepara e rendi disponibile all’interno della tua domanda un Esempio Minimo Compilabile (E.M.C.), cioè un codice sorgente LaTeX il quale:
      • illustri adeguatamente il tuo problema (serva come esempio dello stesso);

      • sia il più corto possibile e carichi solo i pacchetti indispensabili per riprodurre il problema (sia minimo);
      • sia compilabile, il che vuol dire che un frequentatore del forum deve poterlo copiare così com’è sul proprio calcolatore e, senza bisogno di aggiungere o cambiare alcunché, possa farlo compilare da LaTeX, ottenendo esattamente lo stesso comportamento che viene descritto nella domanda; in particolare, esso deve potersi compilare producendo soltanto i messaggi d’errore descritti nella domanda, se la domanda fa riferimento a errori ottenuti durante la compilazione, e senza alcun errore se la domanda non parla di messaggi d’errore, ma solo di (asseriti) difetti nella stampa prodotta.
      • [/ul]
        In base all’ultimo punto, un E.M.C. deve dunque avere la seguente struttura:
        `
        \documentclass[…]{…}
        %
        % Preambolo…
        %

        \begin{document}

        %
        % Corpo del documento…
        %

        \end{document}
        `
        [/li]

      • Riporta sempre per intero gli eventuali messaggi d’errore del compilatore (non è questo il caso della presente domanda).
      • Se ritieni che LaTeX stia producendo una stampa difettosa, cerca di spiegare il motivo per cui la ritieni tale, includendo le informazioni che possano aiutare chi ti legge a comprendere quali siano le tue particolari esigenze e perché mai la stampa che produce LaTeX, la quale solitamente è di livello altamente professionale e rispettosa degli usi e delle regole dell’arte tipografica, nonché delle migliori tradizioni tramandate dai suoi maestri, non risulti adeguata nel tuo caso particolare.

      Per esempio, nel tuo caso non si capisce affatto perché diavolo la spaziatura verticale che LaTeX inserisce prima e dopo le formule fuori corpo, e che qualsiasi manuale di tipografia ti descriverà come indispensabile, a te, invece, non vada bene. Dall’immagine che hai allegato al tuo ultimo messaggio, vedo che stai componendo nella cosiddettà «modalità a un’interlinea e mezzo», cioè a scartamento aumentato: è per questo che lo spazio in più attorno alle equazioni ti dà fastidio? È perché componi a scartamento aumentato?

      Ciao.


      Gustavo

      in risposta a: Punto fermo dopo tabella #112723
      Up
      0
      Down
      ::


      I commenti sono nel codice:
      `
      % My standard header for TeX.SX answers:
      \documentclass[a4paper]{article} % To avoid confusion, let us explicitly
      % declare the paper format.

      \usepackage[T1]{fontenc} % Not always necessary, but recommended.
      % End of standard header. What follows pertains to the problem at hand.

      \usepackage[italian]{babel}
      \usepackage{amsmath}

      \begin{document}

      Stai dicendo che ti hanno davvero imposto di fare una schifezza del genere?
      \begin{equation}
      \begin{array}{|c|c|c|c|}
      \hline
      0 & 1 & 2 & 3\\
      \hline
      4 & 5 & 6 & 7\\
      \hline
      8 & 9 & 10 & 11\\
      \hline
      12 & 13 & 14 & 15\\
      \hline
      \end{array}\,.
      \end{equation}
      Non ci credo! E magari, adesso mi dirai pure che vuoi che il numero
      dell'equazione sia centrato?
      \begin{equation}
      \begin{gathered}
      \begin{array}{|c|c|c|c|}
      \hline
      0 & 1 & 2 & 3\\
      \hline
      4 & 5 & 6 & 7\\
      \hline
      8 & 9 & 10 & 11\\
      \hline
      12 & 13 & 14 & 15\\
      \hline
      \end{array}\,.
      \end{gathered}
      \end{equation}
      Se posso permettermi, faresti meglio a spiegare in dettaglio che formula stai
      cercando di esprimere, e a farti consigliare sul modo migliore di comunicare
      tipograficamente il tuo pensiero.

      \end{document}
      `

      Ciao.


      Gustavo

    Stai visualizzando 15 risposte – dal 136 al 150 (di 713 totali)

    Go to top