- Questo topic ha 17 risposte, 6 partecipanti ed è stato aggiornato l'ultima volta 18 anni, 6 mesi fa da
egreg9.
-
CreatoreTopic
-
13 Ottobre 2007 alle 23:48 #17679::
Salve a tutti,
devo mettere del testo a sinistra della pagina e, a destra un grafico.
Girando su questo forum sono riuscito a trovare degli esempi, e, assemblando il tutto, sono riuscito ad ottenere quello che volevo!
Il problema, è che il codice è un po’ “incasinato” (secondo me), e mi sembra impossibile che non ci sia un modo più semplice per fare quello che voglio io.
Il codice che ho fatto è:
`\makebox[\textwidth]{%
\setbox0=\vbox{\hbox{
\parbox{0.5\textwidth}{
$f~~\R \rightarrow \R,~~f_{(x)}=x^2$\\
$f$ è \emph{suriettiva} se e solo se $Im(f)=y$\\
$Im(f)=[0,\infty)$\\
$f$ non è suriettiva perchè $-1 \not\in f$\\
per renderla \emph{suriettiva}:\\
$\overline{f}~~\R \rightarrow [0, +\infty),~~\overline{f}_{(x)}=x^2$\\
$f$ non è \emph{iniettiva} poichè $f_{(1)}=f{(-1)}$\\
per renderla \emph{inettiva}:\\
$f^*~~[0, +\infty) \rightarrow [0, +\infty)$
}
}}%
\copy0
\hfil
\vbox to\ht0 {
\hbox{
\parbox{0.5\textwidth}{
\flushright
\includegraphics{plot1.eps}
}
}
}%
}`
I requisiti minimi è che la larghezza totale sia tutta la pagina e che la larghezza delle due colonne sia del 50% ognuna. Inoltre, l’allineamento verticale deve essere in alto.
Grazie a tutti per i consigli che saprete darmi,
Niccolò
-
CreatoreTopic
-
AutoreRisposte
-
-
14 Ottobre 2007 alle 5:50 #17680
-
14 Ottobre 2007 alle 6:54 #17681::
Per mettere il testo su più righe in modo da non dover sempre uscire ed entrare dalla modalità matematica puoi scrivere:
`
\begin{align*}
& f \approx R \rightarrow R, \approx f_{(x)}=x^2\\
& f \text{è \emph{suriettiva} se e solo se } Im(f)=y\\
& Im(f)=[0,\infty)\\
& \text{f non è suriettiva perchè } -1 \not\in f\\
& \text{per renderla \emph{suriettiva}}:\\
& \overline{f} \approx R \rightarrow [0, +\infty), \approx \overline{f}_{(x)}=x^2\\
& \text{f non è \emph{iniettiva} poichè } f_{(1)}=f{(-1)}\\
& \text{per renderla \emph{inettiva}}:\\
& f^* \approx [0, +\infty) \rightarrow [0, +\infty)
\end{align*}`Ritornado al tuo problema se fossi nei tuoi panni lo risolverei con un:
`
\begin{minipage}{5cm}
\begin{align*}
& f \approx R \rightarrow R, \approx f_{(x)}=x^2\\
& f \text{è \emph{suriettiva} se e solo se } Im(f)=y\\
& Im(f)=[0,\infty)\\
& \text{f non è suriettiva perchè } -1 \not\in f\\
& \text{per renderla \emph{suriettiva}}:\\
& \overline{f} \approx R \rightarrow [0, +\infty), \approx \overline{f}_{(x)}=x^2\\
& \text{f non è \emph{iniettiva} poichè } f_{(1)}=f{(-1)}\\
& \text{per renderla \emph{inettiva}:}\\
& f^* \approx [0, +\infty) \rightarrow [0, +\infty)\\
\end{align*}
\end{minipage}
\hfill
\begin{minipage}{5cm}
\includegraphics[width=,height=]{plot1.eps}
\end{minipage}
`In cui ho creato due piccole pagine affiancate nella pagina della stessa grandezza {5cm} e ho detto a LaTeX di gestire automaticamente la distanza tra di esse con \hfill.
Ciao Alberto
-
14 Ottobre 2007 alle 20:02 #17682::
Il problema non è completamente risolto, perchè ho modificato il tuo suggertimento, inserendo le due \minipage all’interno di una tabella, per sfruttare tutto lo spazio orizzontale disponibile.
Il problema è che l’allineamento verticale è centrato, come di default. Io, invece, vorrei che l’allineamento verticale sia in alto. Cosicchè quando l’altezza del testo di sinistra è maggiore dell’altezza del grafico, il grafico rimanga in alto, e non nel mezzo rispetto al testo.
Il codice che sto utilizzando è:
`\begin{tabular}{lr}
\begin{minipage}{0.5\textwidth}
$f~~\R \rightarrow \R,~~f_{(x)}=x^2$\\
$f$ è \emph{suriettiva} se e solo se $Im(f)=y$\\
$Im(f)=[0,\infty)$\\
$f$ non è suriettiva perchè $-1 \not\in f$\\
per renderla \emph{suriettiva}:\\
$\overline{f}~~\R \rightarrow [0, +\infty),~~\overline{f}_{(x)}=x^2$\\
$f$ non è \emph{iniettiva} poichè $f_{(1)}=f{(-1)}$\\
per renderla \emph{inettiva}:\\
$f^*~~[0, +\infty) \rightarrow [0, +\infty)$
\end{minipage} &
\begin{minipage}{0.5\textwidth}
\flushright
\includegraphics{plot1.eps}~~~~~
\end{minipage}
\\
\end{tabular}`
Per il resto, funziona tutto perfettamente… Apparte quelle tilde che ho messo dopo il grafico, perchè altrimenti mi veniva troppo spostato a destra.
Inoltre, visto che ci sono, vi chiedo anche un’altra cosa: esiste un comando apposta per fare più di uno spazio contemporaneamente (tipo 2 spazi), apparte la tilde?
Grazie a tutti,
Niccolò
-
14 Ottobre 2007 alle 20:10 #17683::
esiste un comando apposta per fare più di uno spazio contemporaneamente (tipo 2 spazi), apparte la tilde?
Il comando \, genera una spaziatura di 3/18 quad, \: di 4/18 quad, \; di 5/18 quad. I comandi \quad e \qquad producono spazi ampi. La dimensione di un \quad corrisponde all’ampiezza del carattere ‘M’ nel font corrente. Cose del tipo:
`Seguono\ \ due spazi.`
sono sintatticamente ammesse, ma non si fanno.Ciao,
L.
-
14 Ottobre 2007 alle 20:15 #17684::
Grazie Lorenzo per l’aiuto.
Riguardo all’altro problema, e cioè, l’allineamento verticale, allego una immagine di come vorrei che fosse il risultato. Almeno è più chiaro…

Come si può vedere dall’immagine, l’allineamento verticale è in alto, e la larghezza è tutta la pagina.
Devo solo riuscire a cambiare l’allineamento verticale, e poi ce l’ho fatta!!!
-
14 Ottobre 2007 alle 21:43 #17685::
Il problema non è completamente risolto, perchè ho modificato il tuo suggertimento, inserendo le due \minipage all’interno di una tabella, per sfruttare tutto lo spazio orizzontale disponibile.
Il problema è che l’allineamento verticale è centrato, come di default. Io, invece, vorrei che l’allineamento verticale sia in alto. Cosicchè quando l’altezza del testo di sinistra è maggiore dell’altezza del grafico, il grafico rimanga in alto, e non nel mezzo rispetto al testo.
Il codice che sto utilizzando è:
`\begin{tabular}{lr}
\begin{minipage}{0.5\textwidth}
$f~~\R \rightarrow \R,~~f_{(x)}=x^2$\\
$f$ è \emph{suriettiva} se e solo se $Im(f)=y$\\
$Im(f)=[0,\infty)$\\
$f$ non è suriettiva perchè $-1 \not\in f$\\
per renderla \emph{suriettiva}:\\
$\overline{f}~~\R \rightarrow [0, +\infty),~~\overline{f}_{(x)}=x^2$\\
$f$ non è \emph{iniettiva} poichè $f_{(1)}=f{(-1)}$\\
per renderla \emph{inettiva}:\\
$f^*~~[0, +\infty) \rightarrow [0, +\infty)$
\end{minipage} &
\begin{minipage}{0.5\textwidth}
\flushright
\includegraphics{plot1.eps}~~~~~
\end{minipage}
\\
\end{tabular}`
Per il resto, funziona tutto perfettamente… Apparte quelle tilde che ho messo dopo il grafico, perchè altrimenti mi veniva troppo spostato a destra.No, non funziona perfettamente, perché ti dà di sicuro un messaggio di Overfull \hbox: infatti il risultato del tuo tabular è probabilmente 39pt maggiore della larghezza di riga.
Inoltre il testo apparirà spostato verso destra, rispetto al margine sinistro. Infatti non hai tenuto conto degli spazi inseriti prima, tra e dopo le colonne.
`\begin{center}
\begin{minipage}[t]{.5\columnwidth}
$f\colon\R \rightarrow \R$, $f(x)=x^2$$f$ è \emph{suriettiva} se e solo se $\im(f)=y$
$\im(f)=[0,\infty)$
$f$ non è suriettiva perchè $-1 \notin\im(f)$
per renderla \emph{suriettiva}:
$\overline{f}\colon\R \rightarrow [0, +\infty)$, $\overline{f}(x)=x^2$
$f$ non è \emph{iniettiva} poichè $f(1)=f(-1)$
per renderla \emph{inettiva}:
$f^*\colon [0, +\infty) \rightarrow [0, +\infty)$
\end{minipage}%
\begin{minipage}[t]{0.5\columnwidth}
\hrule height 0pt
\raggedleft
\includegraphics{plot1.eps}
\hrule height 0pt
\end{minipage}
\end{center}`
Nota che non si mette (x) a pedice di f, in alcun caso. Inoltre il nome della funzione si fa seguire da “:”, senza spazio prima e con spazio dopo (\colon). Ho tolto tutti i \\, perché devi abituarti a non usarlo, anche se lì potrebbero pure andarci.Altri piccoli errori: si usa \notin perché \not\in non dà un buon risultato. Scrivere “$-1\notin f$” non ha senso. L’operatore “Im” va definito: se carichi amsmath puoi semplicemente scrivere nel preambolo
`\DeclareMathOperator{\im}{Im}`
Non puoi usare come nome \Im perché c’è già quel comando.Ultime cose: \flushright non va usato, al suo posto va impiegata la dichiarazione \raggedleft; e non dimenticare il % dopo \end{minipage}.
Con l’argomento opzionale [t] a minipage ottieni l’allineamento che vuoi, ma nella minipage con il grafico devi aggiungere quel trucco con “\hrule 0pt” (motivi TeXnici)
Ciao
Enrico
-
14 Ottobre 2007 alle 22:16 #17686::
Grazie mille Enrico!
Così funziona veramente bene!
Ho creato un comando personale, perchè dovrò riutilzzare questo layout più volte, e funziona tutto alla perfezione!
Grazie anche a tutti gli altri che mi hanno dato degli ottimi suggerimenti per risolvere questo problema!
Grazie a tutti!
Niccolò
-
14 Ottobre 2007 alle 22:56 #17687::
Grazie mille Enrico!
Così funziona veramente bene!
Ho creato un comando personale, perchè dovrò riutilzzare questo layout più volte, e funziona tutto alla perfezione!
Grazie anche a tutti gli altri che mi hanno dato degli ottimi suggerimenti per risolvere questo problema!
Grazie a tutti!`\newcommand{\nomegrafico}{}
\newcommand{\opzionigrafico}{}
\newenvironment{affiancagrafico}[2][]
{\renewcommand{\nomegrafico}{#2}%
\renewcommand{\opzionigrafico}{#1}%
\begin{center}\begin{minipage}[t]{0.5\columnwidth}}
{\end{minipage}\begin{minipage}[t]{0.5\columnwidth}
\hrule height 0pt
\raggedleft
\expandafter\includegraphics\expandafter[\opzionigrafico]{\nomegrafico}
\hrule height 0pt
\end{minipage}\end{center}}`
Lo usi scrivendo
`\begin{affiancagrafico}[opzioni]{file}
testo da mettere sulla sinistra
\end{affiancagrafico}`
In questo modo puoi anche dare le opzioni desiderate al comando \includegraphics; per esempio potresti dover scalare il grafico con “width=.4\columnwidth”. Il tuo originale sarebbe
`\begin{affiancagrafico}{plot1}
$f\colon\R \rightarrow \R$, $f(x)=x^2$$f$ è \emph{suriettiva} se e solo se $\im(f)=y$
…
\end{affiancagrafico}`
perché non hai bisogno di dare opzioni.Ciao
Enrico
-
18 Febbraio 2008 alle 17:26 #17688
-
18 Febbraio 2008 alle 17:47 #17689::
Prova a guardare qui:
http://tug.ctan.org/tex-archive/macros/latex/contrib/wrapfig/La documentazione è all’interno del file wrapfig.sty. Un pacchetto vero e proprio non so se c’è. Che sistema operativo utilizzi?
Ciao Alberto
-
18 Febbraio 2008 alle 18:19 #17690
-
18 Febbraio 2008 alle 18:34 #17691
-
18 Febbraio 2008 alle 18:45 #17692::
Immaginavo, comunque sì MikTeX, Windows, TeXnicCenter.Detto questo ho or ora usato il pacchetto per la prima volta e mi embra un bel po’ da rendere più solido. E’ molto probabile che l’environment wrapfigure venga messo fuori lista, per così dire, nel conteggio delle immagini. Es. Supponiamo che la wrapfigure sia la 1.3, è probabilissimo che la 1.4 o 1.5 sia posta prima della 1.3=wrapfigure.
inoltre con questo scemissimo codice:
`Il lattice è un'emulsione complessa. Vi si possono trovare: alcaloidi, proteine, cellule, enzimi, idrocarburi e altre sostanze. La composizione del lattice può variare a seconda della specie o dell'individuo vegetale che lo secerne. La particolare consistenza è da attribuire alla presenza degli idrocarburi.
Le migliori e più pregiate qualità di lattice naturale si estraggono dall'Hevea brasiliensis nelle foreste tropicali asiatiche, Malesia e Sri Lanka in particolare. Qualità di lattice naturale leggermente inferiori si estraggono anche dall'Hevea guianensis, dall'Hevea benthamiana e da altri alberi produttori di lattice.%IMMAGINE SINGOLA INCORNICIATA
\begin{wrapfigure}[5]{l}[34pt]{2cm}%righe di testo al fianco, posizione (right, left, etc.), distanza dal bordo, width figura
\includegraphics{Logo.PNG}
\caption{Logo}
\label{fig:Logo1p}
\end{wrapfigure}Il lattice possiede straordinarie e naturali caratteristiche anallergiche e antibatteriche. È in assoluto il materiale più elastico che si conosca. Altra sua fondamentale caratteristica è la cd. “resilienza”, cioè la naturale e istantanea capacità di riassumere la forma originale quantunque sottoposto a pressione o allungamento. Per tale ragione è il miglior prodotto per produrre guanti per uso medico o materassi ergo-anatomici. Questa straordinaria capacità si riscontra solo nella pelle umana.`
LaTeX impazzisce e mi da tre Bad Box.
-
18 Febbraio 2008 alle 18:55 #17693::
Risolto da me. Allora:
`\begin{wrapfloat}{figure}{l}{0pt}
\includegraphics[height=3cm]{Logo.PNG}
\caption{Dida.}
\label{fig:prova}
\end{wrapfloat}`
Con l’accortezza di usare sto wrapfloat soltanto alll’inizio di un capoverso: per intendersi sopra \begin{wrapfloat} ci deve essere una riga vuota. Piccole accortezze. Comunque questo pacchetto devono assolutamente migliorarlo, perché è molto interessante.
-
24 Febbraio 2008 alle 11:11 #17694
-
24 Febbraio 2008 alle 11:41 #17695::
quel parametro è la larghezza della zona in cui risiede la figura. Se metti 200pt, il testo che circonda la figura rientra di 200pt. Se metti 0pt il pacchetto fa da solo.Può risultare utile se vuoi dare più spazio alla figura e più margini ai suoi lati. Io lascio sempre a 0pt. il parametro è utile se con una dichiarazione del genere
`\begin{wrapfigure}[9]{l}[2cm]{4cm}
…`vuoi una zona alta 9 righe, larga 4cm e che per 2 dei 4cm sporga verso il margine sinistro.
In pratica la figura sporge per 2cm verso il margine e i per restanti 2cm rimane dentro il testo che rientra di altrettanto.`\usepackage{wrapfig}
\begin{document}
Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio. Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio.Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio.Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio. Disegni Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio. Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio.Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio.Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio.
\begin{wrapfigure}[9]{l}[2cm]{4cm}
\centering
\rule{3cm}{2cm}
\caption{figura wrapfig}
\end{wrapfigure}Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio. Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio.Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio.Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio. Disegni Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio. Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio.Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio.Testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio testo fittizio.
\end{document}`In questo caso il tuo parametro vale 4cm.
Ciao
Andrea
-
24 Febbraio 2008 alle 12:09 #17696::
Messaggio numero 100!
L’unica cosa che non ho capito dell’ambiente wrapfloat è il secondo parametro.
`\begin{wrapfloat}{figure}{l}{0pt}`
{l} =left (o right se uno vuole)
{0pt}=ma che distanza è?
Messaggio numero 2713 🙂
La documentazione dice che se usi 0pt (o 0cm o 0
), viene usata la larghezza naturale del contenuto dell’ambiente. Puoi dare un valore positivo se desideri lasciarne di più. Può essere necessario se ti serve una didascalia. Ciao
Enrico
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.