Risposte nei forum create
-
AutoreRisposte
-
::
Sempre a proposito di \newcommand:
Vorrei una macro ` \modifica{data}{ragione}{natura}`
che crea una riga di una tabella con quei tre campi.Ho provato questo, ma non va
`\newcommand{\modifica}[3]{%
\newcommand{\data}{#1}
\newcommand{\ragione}{#2}
\newcommand{\natura}{#3}
\hline \data & \ragione & \natura \\
}`Sicuramente mi sfugge qualche problema di sintassi
Direi che la parte “\hline\data & \ragione & \natura\\” vada nel file della copertina.
Ciao
Enrico
::Perché modificare direttamente \AM@pagecommand se basta l’opzione pagecommand={\thispagestyle{plain}}?
Per l’autore del topic: prima di postare cerca di leggere le documentazioni.
Pagina tre della doc.
http://www.ctan.org/get/macros/latex/contrib/pdfpages/pdfpages.pdfHai ovviamente ragione; dando una veloce occhiata alla documentazione non mi ero accorto dell’opzione.
Ciao
Enrico
::Ho il seguente problema.
Ho scritto un libro ed alla fine ho inserito in appendice un file di 4 pagine che è stato preso direttamente da internet. Esso è un pdf ed è stato inserito col comando \includepdf[pages={1-4}]{GiorgioNapolitano}.Vorrei sapere se sia possibile inserire il numerino di pagina anche in tali ultime pagine, perchè latex considera ai fini del totale di pagine del documento tali 4 pagine, ma naturalmente non va a scrivergli il numerino.
Grazie davvero!`\makeatletter
\renewcommand*{\AM@pagecommand}{\thispagestyle{plain}}
\makeatother`
Con questa magia nel preambolo, le pagine inserite con \includepdf avranno il numerino in basso. Poi sta a te fare in modo che non ci siano sovrapposizioni. Se togli \thispagestyle{plain} avrai lo stile di pagina normale. Vale sempre l’avvertenza di prima.Ciao
Enrico
::Ciao a tutti.
Sto scrivendo un breve documento, con la classe toptesi. Visto la brevità del documento, e il suo stile, mi sembra opportuno che contenga solo \section, senza nessun \chapter.
Vorrei però che le sezioni venissero numerate con 1, 2 , 3 ecc. e non con 0.1, 0.2 … Inoltre vorrei che la numerazione delle pagine fosse quella araba, e non quella romana derivante dal fatto che non è presente nessun capitolo e dunque è come se si fosse ancora nell’indice.
Ho cercato nel forum ma non ho trovato niente di simile,
È evidente che per un documento che non preveda i capitoli va usata una classe che non preveda i capitoli. Poi ognuno è libero di fare come crede. 🙂 Io userei la classe article, eventualmente con \pagestyle{headings} e l’opzione twoside: toptesi non fa molto di più. Se proprio insisti:
`\usepackage{chngcntr}
\counterwithout{section}{chapter}`
Per il secondo problema è sufficiente dichiarare \mainmatter dopo \begin{document}Ciao
Enrico
::Salve a tutti!!!
Sto preparando la mia presentazione per la tesi con beamer.
Devo inserire in una slide una figura , utilizzo il codice seguente :\section{I prodotti in commercio}
\frame{\frametitle{La famiglia Airbus}
\begin{figure}
\includegraphics[scale=0.5]{ fig/ la famille airbus}
\end{figure}il compilatore mi dice che ” la famille aurbus” non esiste
dove sbaglio?Meglio non usare spazi nei nomi di file. C’è uno spazio di troppo anche prima di “fig”. Non serve usare l’ambiente figure in beamer.
Ciao
Enrico
::Ecco il codice:
`\documentclass[10pt,a4paper,twoside, openright]{book}
…`Come puoi notare ci sono cose fatte in maniera barbarica, perchè dovevo stampare e mi sono arrangiato… ad esempio:
`\fancyhead[LO]{\thepage \textcolor[rgb]{1.00,1.00,1.00}{-} \leftmark}
\fancyhead[RE]{\leftmark \textcolor[rgb]{1.00,1.00,1.00}{-} \thepage}`Comunque vorrei ingrandire lo spessore della linea perchè l’ho visto in un libro scritto sicurante con latex e l’effetto mi è piaciuto molto! 🙂
Puoi provare con
`\makeatletter
\renewcommand\footnoterule{{\color{Gray}%
\kern-3\p@
\hrule\@width.4\columnwidth \@height1.5\p@
\kern1.5\p@}}
\makeatother`
ma rimango dell’idea che quei filetti siano brutti. Così come è bruttissima quella scritta fissa minuscola.Perché non provare con
`\fancyhead[LO]{\thepage\ \leftmark}
\fancyhead[RE]{\leftmark\ \thepage}`
per mettere uno spazio fra le due parti della testatina? Se poi insisti a scrivere qualcosa in bianco, \color{white} mi pare meno complicato. Anche \definecolor{Gray}{gray}{0.65} mi pare più semplice. 🙂Il pacchetto subfigure è obsoleto da anni, va sostituito con subfig.
I font Euler e i Computer Modern fanno a pugni.
Ciao
Enrico
::Grazie mille!!!
A questo punto ne approfitto… Per ridimensionarne anche lo spessore…???Già il filetto colorato non mi convince, ingrossarlo sarebbe davvero orribile.
Prova a mostrare che cosa cerchi di fare; non occorre testo, quello lo si aggiunge facilmente. Interessa la parte del preambolo in cui definisci la forma della pagina.
Ciao
Enrico
::Riformulo la domanda, non per impazienza, ma perchè ho il dubbio di essere stato poco chiaro.
Voglio assegnare un colore alla linea che viene inserita sulla footnote ma non so come fare 🙁 … Qualcuno ha qualche idea???`\edef\footnoterule{{\noexpand\color{red}\footnoterule}}`
Al posto di red scrivi il colore che più ti aggrada; ti consiglio di definirlo tramite \definecolor.Lascio come esercizio ai lettori di spiegare come funziona la magia. 🙂
Ciao
Enrico
::Forse non ho capito bene come si usa.. Ho scritto
`\newcommand{\copertina}[1]{%
\input{template/title}}
\copertina{Mio Titolo}
`e nel file template/title ho inserito un #1. Mi dà errore
`:You can't use `macro parameter character #' in vertical mode. { \Huge \bfseries #`No, non hai capito bene. 🙂 In realtà TeX prende il tuo argomento “Mio Titolo” e lo getta via, perché nel testo della definizione non compare #1. Non puoi certo mettere #1 nel file title.tex, perché #1 può andare solo nel testo di una definizione.
Il metodo a cui ho accennato è diverso: scriverai
`\newcommand{\copertina}[1]{%
\newcommand{\Titolo}{#1}%
\input{template/title}}
…
\copertina{Mio Titolo}`
e nel file title.tex, dove deve comparire il titolo scrivi \Titolo. Quando LaTeX trova \copertina, definisce \Titolo come il tuo argomento e, quando legge title.tex sa che cosa sostituire a \Titolo.Ciao
Enrico
::`\newcommand{\copertina}[3]{%
}`
Nel codice per comporre la copertina vorrei mettere un file esterno. Quindi è possibile scrivere
`\newcommand{\copertina}[1]{%
\include{titlepage}}`
per poi comporla usando `\copertina{titolo}`?No, si deve usare \input. Nel codice del file titlepage.tex (il nome è però arbitrario) ci potrebbero anche essere dati variabili.
Per esempio
`\newcommand{\copertina}[2]{
\newcommand{\Data}{#1}
\newcommand{\Autore}{#2}
\input{titlepage}}`
Il codice in titlepage.tex potrà contenere chiamate delle macro \Data e \Autore.Se i campi da riempire sono di più si può usare un metodo indiretto già descritto sul forum.
Ciao
Enrico
28 Novembre 2008 alle 10:37 in risposta a: listings: gli argomenti opzionali di \lstnewenvironment #28999::Ricapitoliamo. La sintassi del comando \lstnewenvironment è la seguente (copiata pari pari dalla doc. di listings):
`\lstnewenvironment
{}[ ][ ]
{}
{}`
Allora, il primo parametro opzionale di \lstnewenvironment, [], rappresenta -se ho ben capito- il numero di argomenti dell’ambiente così definito. In assenza del secondo parametro, [ ], tale numero indica il numero di argomenti obbligatori dell’ambiente . Il secondo parametro opzionale, [
], rappresenta invece il numero di argomenti che può avere l’ambiente . Se vuoto, l’ambiente può anche essere invocato senza alcun argomento. In realtà, sono in alto mare, e non ci sto capendo molto. Per tradurre al meglio quell'[
] (“argomenti opzionali predefiniti?” Boh…) devo capirci di più. Insomma, rem tene, verba sequentur. E io qui la “rem” non la “tengo” affatto… 😳 😥 La sintassi è identica a quella di \newenvironment. Davvero, lo giuro sul mio onore (citazione da Don Giovanni, musica di W. A. Mozart, libretto di L. Da Ponte, naturalmente).
Il comando \lstnewenvironment ha due argomenti opzionali e due argomenti obbligatori. Il primo argomento opzionale indica il numero di argomenti che avrà l’ambiente che si sta definendo. Se compare il secondo argomento opzionale, l’ambiente che si sta definendo avrà un argomento opzionale, il cui valore di default è proprio il contenuto del secondo argomento opzionale a \lstnewenvironment. Vediamo alcuni esempi; in ognuno do la definizione e i modi di uso.
(1) Ambiente per codice Pascal con didascalia obbligatoria, nessuna possibilità di modificare le opzioni predefinite
`\lstnewenvironment{pascalx}[1]
{\lstset{language=pascal,caption={#1}}{}
\begin{pascalx}{Codice importante}
program …
\end{pascalx}`(2) Ambiente per codice Pascal con didascalia obbligatoria, e possibilità di modificare le opzioni predefinite
`\lstnewenvironment{pascaly}[2][]
{\lstset{language=pascal,caption={#2},#1}{}
\begin{pascaly}{Codice importante}
program …
\end{pascaly}
\begin{pascaly}[float]{Codice importante}
program …
\end{pascaly}`
A differenza del caso precedente, con l’argomento opzionale puoi aggiungere opzioni da valutare in \lstset; nella definizione (ma solo nella parte “start”) puoi riferirti all’argomento opzionale con #1, agli argomenti obbligatori con #2 e seguenti (se ce n’è più di uno).Con la prima chiamata l’argomento sostituito al parametro #1 è vuoto, perché questo è il valore di default. Con la seconda chiamata fra le chiavi valutate in \lstset c’è anche “float”.
(3) Ambiente per codice Pascal con didascalia “facoltativa”, senza possibilità di modificare le opzioni predefinite
`\lstnewenvironment{pascalz}[1][Codice Pascal]
{\lstset{language=pascal,caption={#1}}{}
\begin{pascalz}
program …
\end{pascalz}
\begin{pascalz}[Codice Pascal importante]
program …
\end{pascalz}`
Nel primo esempio di uso la didascalia sarà quella “standard”, cioè “Codice Pascal”; nel secondo invece la didascalia sarà “Codice Pascal importante”.Noto solo ora che nell’Arte manca proprio la parte della descrizione di \newcommand e \newenvironment relativa alla definizione di comandi e ambienti con argomento opzionale. Mi pare una mancanza significativa; c’è perfino sulla “(mica tanto) breve introduzione”.
Ciao
Enrico
::ciao a tutti,
vorrei inserire nel mio documento (nella fattispecie un CV)
la numerazione delle pagine al centro del piè di pagina nel formato:
1/3, 2/3, 3/3….oppure anche nel formato: 1 di 3, 2 di 3, 3 di 3…. andrebbe bene (ma con la barra sarebbe meglio)
nessuno ha qualche consiglio da darmi? ho cercato in rete ma non ho trovato niente e nemmeno qui sul forum col tasto cerca 🙂 non ho trovato niente.
Cerca nella documentazione di fancyhdr (c’è anche in italiano nella TeX Live e su CTAN).
Ciao
Enrico
27 Novembre 2008 alle 16:30 in risposta a: listings: gli argomenti opzionali di \lstnewenvironment #28997::Enrico, ti ringrazio della risposta, davvero interessante! Resta però ancora irrisolto questo dubbio:
Più importante, perché se lascio vuoto il secondo argomento opzionale, ottengo un errore in compilazione?
`\lstnewenvironment{pascalx}[1]%[] se elimino questo ottengo un errore
{\lstset{language=pascal,numbers=left,numberstyle=\tiny,float,#1}}
{}`😈 E quale errore, se magari volessi menzionarlo? Ma non è necessario che tu lo faccia in un altro messaggio, visto che dovrebbe essere ovvio che con
`\lstnewenvironment{pascalx}[1]
{\lstset{language=pascal,numbers=left,numberstyle=\tiny,float,#1}}
{}`
stai chiedendo che l’ambiente pascalx abbia un argomento OBBLIGATORIO. Se poi scrivi
`\begin{pascalx}
program …
\end{pascalx}`
listings cerca l’argomento sulla stessa riga (è così e non ci si può fare niente) e va nei pasticci.Ovviamente, con quella definizione,
`\begin{pascalx}{}
program …
\end{pascalx}`
non dà alcun problema.Ciao
Enrico
27 Novembre 2008 alle 12:08 in risposta a: listings: gli argomenti opzionali di \lstnewenvironment #28995::Carissimi, sto cercando di capire la sintassi del comando di listings \lstnewenvironment, che, stando a quel che dice l’autore del pacchetto, dovrebbe essere analoga a \newenvironment:
`\lstnewenvironment
{}[ ][ ]
{}
{}`
Non capisco che cosa sia e a che cosa serva quell'[]. Viene proposto il seguente esempio:
`\lstnewenvironment{pascalx}[1][]
{\lstset{language=pascal,numbers=left,numberstyle=\tiny,float,#1}}
{}`
Come si usa? Nel documento, dove devo scrivere l’argomento corrispondente a #? Mi fate un esempio?Più importante, perché se lascio vuoto il secondo argomento opzionale, ottengo un errore in compilazione?
`\lstnewenvironment{pascalx}[1]%[] se elimino questo ottengo un errore
{\lstset{language=pascal,numbers=left,numberstyle=\tiny,float,#1}}
{}`È molto semplice: con la definizione proposta, puoi aggiungere opzioni al tuo ambiente pascalx:
`\begin{pascalx}[morekeywords=…,= ,…]
codice
\end{pascalx}`
oppure usarlo com’è:
`\begin{pascalx}
codice
\end{pascalx}`
Già che ci siamo, c’è una cosa che penso sia utile quando si usa listings. Supponi di scrivere un pacchetto che definisce un ambiente per il codice TeX:
`\istnewenvironment{texcode}[1][]
{\lstset{language=TeX,basicstyle=\ttfamily}{}`
L’utente del pacchetto usa volentieri questo ambiente, finché nel corso del lavoro gli capita un brano di codice che richiede \small per poter stare nella pagina. Facile, basterebbe dire
`\begin{texcode}[basicstyle=\ttfamily\small]
codice
\end{texcode}`
C’è un problema, come penso ti accorgerai subito: l’utente è obbligato a sapere quale sia il valore di “basicstyle” definito nel pacchetto. Evidente contraddizione con i principi di LaTeX. 🙂Soluzione: metti nel pacchetto anche
`\lst@Key{addtobasicstyle}\relax{%
\toks@=\expandafter{\lst@basicstyle #1}%
\edef\lst@basicstyle{\the\toks@}}`
e insegna all’utente di scrivere, se vuole qualche modifica,
`\begin{texcode}[addtobasicstyle=\small]
codice
\end{texcode}`
Ci sono altre parole chiave che possono essere trattate in modo analogo.Penso che sia un’estensione interessante che si potrebbe proporre al curatore di listings.
Ciao
Enrico
-
AutoreRisposte