- Questo topic ha 16 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 15 anni, 4 mesi fa da
egreg9.
-
CreatoreTopic
-
13 Novembre 2008 alle 0:06 #28597::
Salve a tutti.
Avendo capito come fare ad inserire un’immagine di sfondo per una singola pagina, e tralasciando la (seppur importante) questione estetica, mi chiedevo: è possibile definire un’immagine di sfondo per tutte le pagine, ad eccezione però delle prime x, dove nel mio caso x = 2 (dal momento che per il frontespizio ne uso una diversa e per il verso non uso niente)?Inoltre, per un risultato migliore, sarebbe possibile differenziare le immagini per le pagine pari e le pagine dispari (sempre a partire dalla x+1esima)?
Grazie infinite.
-
CreatoreTopic
-
AutoreRisposte
-
-
13 Novembre 2008 alle 1:38 #28598::
Salve a tutti.
Avendo capito come fare ad inserire un’immagine di sfondo per una singola pagina, e tralasciando la (seppur importante) questione estetica, mi chiedevo: è possibile definire un’immagine di sfondo per tutte le pagine, ad eccezione però delle prime x, dove nel mio caso x = 2 (dal momento che per il frontespizio ne uso una diversa e per il verso non uso niente)?Inoltre, per un risultato migliore, sarebbe possibile differenziare le immagini per le pagine pari e le pagine dispari (sempre a partire dalla x+1esima)?
Lo faresti sapere anche a noi come hai inserito l’immagine di sfondo? Così probabilmente potremmo indirizzarti alla soluzione.
Ciao
Enrico
-
13 Novembre 2008 alle 1:57 #28599::
Nel preambolo:
`\usepackage{graphicx}
\newcommand\Sfondo[1]{\AddToShipoutPicture*{\AtPageCenter{\makebox (0,0){\includegraphics[width=\paperwidth, height=\paperheight]{#1}}}}}`Nel testo (dopo il \begin{document}):
`\newpage %intendo la pagina indicata
\Sfondo{/…/sfondo.png}`
ed è tutto, come riportato nella guida.
Ma il problema è: mica devo fare questo per tutte le pagine??
Anche perché non funziona per il \tableofcontent …
-
13 Novembre 2008 alle 10:55 #28600::
Nel preambolo:
`\usepackage{graphicx}
\newcommand\Sfondo[1]{\AddToShipoutPicture*{\AtPageCenter{\makebox (0,0){\includegraphics[width=\paperwidth, height=\paperheight]{#1}}}}}`Nel testo (dopo il \begin{document}):
`\newpage %intendo la pagina indicata
\Sfondo{/…/sfondo.png}`
ed è tutto, come riportato nella guida.
Ma il problema è: mica devo fare questo per tutte le pagine??
Anche perché non funziona per il \tableofcontent …Con questa macro \Sfondo aggiungi uno sfondo alla sola pagina in cui compare il comando. Puoi modificarla così:
`\makeatletter
\newcommand{\Sfondo}{%
\@ifstar{\def\star@Sfondo{*}\@Sfondo}
{\def\star@Sfondo{}\@Sfondo}}
\def\@Sfondo#1{%
\ClearShipoutPicture
\expandafter\AddToShipoutPicture\star@Sfondo{\AtPageCenter{%
\makebox(0,0){\includegraphics[width=\paperwidth, height=\paperheight]{#1}}}}}
\makeatother`
Dando \Sfondo*{nome} userai per la sola pagina in cui compare lo sfondo indicato; dando \Sfondo{nome} userai quello sfondo da quel punto in poi. Puoi usare il comando \ClearShipoutPicture per cancellare lo sfondo corrente.Ciao
Enrico
-
13 Novembre 2008 alle 12:32 #28601
-
13 Novembre 2008 alle 13:36 #28602::
Beh, è davvero perfetto. Grazie. 😀
Ora però la seconda domanda era: come fare per avere 2 immagini (del tipo \Sfondo ) diverse?
Insomma, per capirci, una per il recto ed una per il verso. 😯`\makeatletter
\newcommand{\Sfondi}[2]{%
\ifodd\value{page}\@Sfondi{#1}\else\@Sfondi{#2}\fi
\EveryShipout{\ClearShipoutPicture
\ifodd\value{page}\@Sfondi{#2}\else\@Sfondi{#1}\fi}}
\def\@Sfondi#1{\AddToShipoutPicture*{\AtPageCenter{%
\makebox(0,0){\includegraphics[width=\paperwidth, height=\paperheight]{#1}}}}}
\makeatother`
Con \Sfondi{dispari}{pari} inserisci lo sfondo corrispondente nelle pagine dispari e pari (naturalmente gli argomenti devono essere i nomi dei file grafici).Ciao
Enrico
-
13 Novembre 2008 alle 15:24 #28603
-
13 Novembre 2008 alle 17:22 #28604
-
13 Novembre 2008 alle 17:55 #28605
-
3 Maggio 2011 alle 13:17 #28606::
Salve.Ho provato a usare \Sfondi come si vede nel codice seguente
`\documentclass[a4paper,11pt,openright]{report}
% imposta i margini in base alla carta intestata
\usepackage[twoside,%
bindingoffset=5mm,%
top=4.5cm,%
bottom=3.55cm,%
left=2.8cm,%
right=3cm,%
heightrounded]%
{geometry}\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[italian]{babel}
\usepackage[pdftex]{graphicx}
\usepackage{eso-pic}
\usepackage{everyshi}
\usepackage{lipsum}\begin{document}
\makeatletter
\newcommand{\Sfondi}[2]{%
\ifodd\value{page}\@Sfondi{#1}\else\@Sfondi{#2}\fi
\EveryShipout{\ClearShipoutPicture
\ifodd\value{page}\@Sfondi{#2}\else\@Sfondi{#1}\fi}}
\def\@Sfondi#1{\AddToShipoutPicture*{\AtPageCenter{%
\makebox(0,0){\includegraphics[width=\paperwidth, height=\paperheight]{#1}}}}}
\makeatother
\author{Nome Cognome}
\title{Prova report}
\maketitle
\Sfondi{provbs_L1.pdf}{provbs_R1.pdf}
\tableofcontents
\newpage
\section{Intro}
\lipsum[1]
\subsection{Sub1}
\lipsum[6-7]
\subsection{Sub2}
\lipsum[9-10]
\section{Sec1}
\lipsum[9-10]
\section{Sec2}
\lipsum[16]
\subsection{End}
\lipsum[17-19]
\end{document}
`ma il PDF che si ottiene presenta a pagina 2 le due immagini di sfondo sovrapposte mentre da pagina 3 in poi la sistemazione è corretta. Che cosa sbaglio?
Grazie e buona giornata,
Michele
-
4 Maggio 2011 alle 13:47 #28607::
Avendo aggiunto la riga evidenziata`
\documentclass[a4paper,11pt,openright]{report}
% imposta i margini in base alla carta intestata
\usepackage[twoside,%
bindingoffset=5mm,%
top=4.5cm,%
bottom=3.55cm,%
left=2.8cm,%
right=3cm,%
heightrounded]%
{geometry}\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[italian]{babel}
\usepackage[pdftex]{graphicx}
\usepackage{eso-pic}
\usepackage{everyshi}
\usepackage{lipsum}
\graphicspath{{figure/}}\begin{document}
\makeatletter
\newcommand{\Sfondi}[2]{%
\ifodd\value{page}\@Sfondi{#1}\else\@Sfondi{#2}\fi
\EveryShipout{\ClearShipoutPicture
\ifodd\value{page}\@Sfondi{#2}\else\@Sfondi{#1}\fi}}
\def\@Sfondi#1{\AddToShipoutPicture*{\AtPageCenter{%
\makebox(0,0){\includegraphics[width=\paperwidth, height=\paperheight]{#1}}}}}
\makeatother
\author{Nome Cognome}
\title{Prova report}
\maketitle
\Sfondi{provbs_L1.pdf}{provbs_R1.pdf}
\setcounter{page}{1}
\tableofcontents
\newpage
\section{Intro}
\lipsum[1]
\subsection{Sub1}
\lipsum[6-7]
\subsection{Sub2}
\lipsum[9-10]
\section{Sec1}
\lipsum[9-10]
\section{Sec2}
\lipsum[16]
\subsection{End}
\lipsum[17-19]
\end{document}
`non si ha più sovrapposizione. Tuttavia mi pare una soluzione sporca. Che ne pensate?
Grazie,
Michele
-
5 Maggio 2011 alle 12:47 #28608::
Metti questa parte del codice nel preambolo:
`
\makeatletter
\newcommand{\Sfondi}[2]{%
\ifodd\value{page}\@Sfondi{#1}\else\@Sfondi{#2}\fi
\EveryShipout{\ClearShipoutPicture
\ifodd\value{page}\@Sfondi{#2}\else\@Sfondi{#1}\fi}}
\def\@Sfondi#1{\AddToShipoutPicture*{\AtPageCenter{%
\makebox(0,0){\includegraphics[width=\paperwidth, height=\paperheight]{#1}}}}}
\makeatother\Sfondi{provbs_L1}{provbs_R1}
\author{Nome Cognome}
\title{Prova report}
`
(Elimina l’estensione .pdf e l’opzione pdftex di graphicx)Ciao
Ivan
-
6 Maggio 2011 alle 8:14 #28609
-
7 Maggio 2011 alle 12:44 #28610::
Grazie Ivan. Non ho inteso se con la tua soluzione proposta anche l’istruzione
`\setcounter{page}{1}`
debba essere rimossa. Purtroppo se la tolgo ho ancora sovrapposizione.Ciao,
MicheleNon serve, ma va aggiunto \cleardoublepage dopo \maketitle.
`
…\makeatletter
\newcommand{\Sfondi}[2]{%
\ifodd\value{page}\@Sfondi{#1}\else\@Sfondi{#2}\fi
\EveryShipout{\ClearShipoutPicture
\ifodd\value{page}\@Sfondi{#2}\else\@Sfondi{#1}\fi}}
\def\@Sfondi#1{\AddToShipoutPicture*{\AtPageCenter{%
\makebox(0,0){\includegraphics[width=\paperwidth, height=\paperheight]{#1}}}}}
\makeatother\author{Nome Cognome}
\title{Prova report}\begin{document}
\maketitle
\cleardoublepage
\Sfondi{fig1.pdf}{fig2.pdf}…
`
Ciao
Ivan
-
9 Maggio 2011 alle 8:54 #28611
-
9 Maggio 2011 alle 9:29 #28612::
Ho fatto ma è inutile: la sovrapposizione si sposta nella pagina successiva 🙁
Non capisco dove stia l’inghippo.Grazie ancora,
MicheleTrovato: usando la versione non asteriscata del comando non c’è più sovrapposizione.
`\def\@Sfondi#1{\AddToShipoutPicture*{\AtPageCenter{%
\makebox(0,0){\includegraphics[width=\paperwidth, height=\paperheight]{#1}}}}} `Saluti,
Michele
-
9 Maggio 2011 alle 9:31 #28613::
Ho fatto ma è inutile: la sovrapposizione si sposta nella pagina successiva 🙁
Non capisco dove stia l’inghippo.Grazie ancora,
MicheleIl problema sta nel fatto che eso-pic adesso usa atbegshi e non più everyshi. Meglio usare atbegshi direttamente:
`\usepackage{atbegshi,picture}
\makeatletter
\newcommand{\Sfondi}[2]{%
\AtBeginShipout{\AtBeginShipoutUpperLeft{%
\put(0.5\paperwidth,-0.5\paperheight){%
\ifodd\value{page}\@Sfondi{#1}\else\@Sfondi{#2}\fi}}}}
\def\@Sfondi#1{%
\makebox(0,0){\includegraphics[width=\paperwidth, height=\paperheight]{#1}}}
\makeatother`
Non caricare più né eso-pic né everyshi. E togli l’opzione pdftex da graphicx. Con
`\maketitle
\cleardoublepage
\Sfondi{}{ }`
otterrai l’alternanza richiesta.Ciao
Enrico
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.