Rotazione immagini

  • Creatore
    Topic
  • #112382
    Up
    0
    Down
    ::


    Ciao a tutti,

    dovrei inserire dei grafici in latex, e affinchè si vedano bene, vorrei ruotarli verticalmente; i margini della pagina sono impostati per ottenere un layout compatibile con il formato B5.

    Usando l’ambiente sideways non ottengo l’effetto voluto, l’immagine “naviga” nella pagina, si posiziona al di fuori dei margini, non ruota in accordo con la didascalia, non riesco a posizionarla specularmente in accordo alla numerazione delle pagine (la stampa deve essere fronte-retro).

    L’effetto che vorrei ottenere l’ho composto banalmente nell’immagine allegata.

    Il mio preambolo, formato obbligatorio imposto dal mio professore:

    `\documentclass[envcountsame,envcountchap]{svmono}

    %\usepackage[latin1]{inputenc}
    \usepackage[utf8]{inputenc}
    \usepackage{eurosym}
    \usepackage{makeidx} % allows index generation
    \usepackage{graphicx} % standard LaTeX graphics tool
    \usepackage{xtab} % when including figure files
    \usepackage{multicol}
    \usepackage{qtree}
    \usepackage{booktabs}
    \usepackage{latexsym}
    \usepackage{psfig} % used for the two-column index
    \usepackage[bottom]{footmisc} % places footnotes at page bottom
    \usepackage[italian]{babel}
    \usepackage{my_listings}
    \usepackage[hyphens]{url}
    \usepackage{algorithm}
    \usepackage{algorithmic}
    \usepackage{multirow}
    \usepackage{xcolor}
    \usepackage{float}
    \usepackage{titlesec}
    \usepackage{csquotes}
    \usepackage{python}
    \usepackage{verbatim}
    \usepackage{eurosym}
    \usepackage{rotating}
    \usepackage{pdflscape}
    %\setcounter{secnumdepth}{3}
    %\setcounter{tocdepth}{3}
    \makeatletter
    \titleformat{\section}[display]%
    {\Large\bfseries\boldmath}{\color{azzurro}{\thesection}}{-1.1em}{\hspace{2em}\color{azzurro}}[{\titlerule[0pt]}]
    \makeatother

    \makeatletter
    \titleformat{\subsection}[display]%
    {\large\bfseries\boldmath}{\color{gold}{\thesubsection}}{-1em}{\hspace{3em}\color{gold}}[{\titlerule[0pt]}]
    \makeatother

    \makeatletter
    \titleformat{\subsubsection}[display]%
    {\normalsize\bfseries\boldmath}{\color{gold}{\thesubsubsection}}{-1em}{\color{gold}}[{\titlerule[0pt]}]
    \makeatother

    \definecolor{gold}{rgb}{0.64,0.54,0.29}
    \definecolor{azzurro}{rgb}{0,0.29,0.57}

    \def\lstlistlistingname{\textbf{Elenco dei listati}}
    \addto\captionsitalian{\renewcommand{\contentsname}{\textbf{Indice}}}
    \addto\captionsitalian{\renewcommand{\listfigurename}{\textbf{Elenco delle figure}}}

    \makeatletter
    \let\old@rule\@rule
    \def\@rule[#1]#2#3{\textcolor{gold}{\old@rule[#1]{#2}{#3}}}
    \makeatother

    \setlength{\textwidth}{12.7cm}
    \setlength{\textheight}{20.0cm}
    \setlength{\oddsidemargin}{3.50cm}
    \setlength {\evensidemargin}{-0.3cm}
    \setlength {\topmargin}{-1cm}

    \makeindex

    \author{}

    \date{13 marzo 2018}

    \begin{document}

    ciao \cite{art:rif.1}
    bello \cite{book:rif.2}
    ok \cite{book:rif.3}

    \”{o}

    \begin{math}{IMP(x,y)={\log {p(x,y) \over p(x)p(y)}}} \end{math}
    \begin{quote}
    {\sf ?Questa auto bella \bf e \sf spaziosa.?}
    \end{quote}
    hfhfhhjjfkfk (Figura \ref{fig:Tempo}).

    Per tale motivo, ai fini delle nostre analisi, stato opportuno
    selezionare quei temi che rispecchiassero tutte quelle
    problematiche che, in generale, potrebbero affliggere qualunque citt,
    e che spesso e volentieri sono argomento di discussione e di lamentele
    tra i cittadini.
    I temi selezionati sono i seguenti:

    \begin{sidewaysfigure}
    \centering
    {\includegraphics[width=10cm, angle=180]{Risorse/Piattaforma.eps}}
    \caption{Creazione di figure in “landscape''. La didascalia
    di questa figura \`e \emph{volutamente} molto lunga
    \label{fig:esempioSideways}
    }
    \end{sidewaysfigure}

    Per tale motivo, ai fini delle nostre analisi, stato opportuno
    selezionare quei temi che rispecchiassero tutte quelle
    problematiche che, in generale, potrebbero affliggere qualunque citt,
    e che spesso e volentieri sono argomento di discussione e di lamentele
    tra i cittadini.

    \pagenumbering{{\color{azzurro}Roman}}
    %\include{frontespizio/frontespizio}
    %\newpage\null\thispagestyle{empty}\newpage
    %\include{dedica/dedica}
    %\tableofcontents \listoffigures
    %\lstlistoflistings

    \pagenumbering{arabic} \setcounter{page}{1}

    \nocite{*}
    \bibliography{Bibliografia/biblio}
    \bibliographystyle{plain}
    %\include{Ringraziamenti/ringraziamenti}
    \end{document}
    `

    Diciamo che è un preambolo che uso per fare delle prove, come potete vedere.
    Per la figura ho provato a mettere diverse combinazioni delle opzioni, ma niente da fare.

    Help me.

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #112383
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Credo di averti già detto in un messaggio precedente di non toccare mai, assolutamente senza saper quello che stati facendo. \topmargin, \evensidemargin e \oddsidemargin. Credo di averti già detto di non caricare due volete lo stesso pacchetto più di una volata (cosa che invece fai con eurosym). Credo anche di averti già detto che psfig NON serve per l’indice a due colone (indice o indice analitico?); per l’indice analitico credo di averti già detto di usare il pacchetto imakeidx che fa tutto da solo, liberandoti dalle successive compilazioni per avere l’indice analitico coerente con il testo.

        Poi dici che hai impostato le dimensioni della pagina prevedendo un formato B5; lo sai quali sono le dimensioni di questo formato di carta? no, perché quando vai a definire i margini, senza sapere quello che stai facendo, dimostri di non sapere di quanto spazio disponi per mettere testo e figure.

        Allora vediamo di fare un po’ di chiarezza; la pagina B5 ha le dimensioni di 176mm per 250 mm. Tu imposti la larghezza del testo a 127mm e l’altezza a 200mm.

        Nella larghezza di 176mm se togli la larghezza di 127mm ti restano complessivamente 49mm da dedicare ai margini interno ed esterno. Pochini, decisamente pochini, comunque vediamo come proseguire. Per l’altezza se togli 200mm dai 250mm della carta, ti restano 50mm, e qui non siamo nelle ristrettezze.

        Bene, guardiamo i margini laterali: \oddsidem6rgin =35mm vuol dire che già questo numero, che NON è il margine interno che usa LaTeX, sono già troppo visto che lo spazio totale per i due margini interno ed esterno ammontano complessivamente a 49mm e ne resterebbero solo 144mm per l’altro margine. Andiamo proprio male, ma la realtà è ancora peggiore. Poi ti spiego perché.

        Impostando \evensidemargin a -3mm non è che le cose migliorino.

        Tuttavia il grosso inghippo che riguarda anche \topmargin oltre a \oddsidemargin e \evensidemargin è che queste grandezze partono dal presupposto che ci sia un offset di un pollice sia in verticale sia in orizzontale. Quindi se aggiungi 1 pollice a quelle impostazioni, ricordando che 1 in = 25,4mm, ti ritrovi con un margine interno (che in fronte retro coincide con \oddsidemargin) di 35mm +25,4mm = 60,4mm (alla faccia dei 49 mm da destinare complessivamente ad entrambi i margini); per il margine esterno (che in fronte retro coincide con \evensidemarign) esso vale 25.4mm -3mm = 22,4mm (e anche questo da solo si mangia di più dei dei 14mm disponibili per questo marignie).

        Per il margine superiore abbiamo 25,4mm – 10mm = 15,4mm e ne restano 50mm – 15.4mm= 34,6mm per il margine inferiore.

        Ti rendi conto di che cosa hai impostato? Ora io non credo che tu non sia capace di fare questi conti da terza elementare ( ho dei nipotini che hanno imparato a fare somme e differenza di numeri con la virgola in terza elementare). Credo che tu abbia frainteso le indicazioni di formato del tuo prof. o che ti sia sbagliata a trascrivele in quei comandi LaTeX che non dovresti usare.

        Il problema di quei calcoli è che non è chiare se il formato prescritto dal tuo prof contenga anche la riga della testatina e del piedino, oppure se questi elementi siano esterni alla gabbia che ha indicato; non è nemmeno chiaro se quella giustezza debba contenere anche eventuali note nel margine, che ovviamente non ci stanno nei 49mm da destinare complessivamente ai margini laterali.

        Infine posso ipotizzare che il tuo prof non conosca LaTeX o l’abbia solo orecchiato; certo è che che le lunghezze che hai riportato non sono compatibili con il formato della carta B5; forse lo sono con la carta A4 di 210mm per 297mm, ma il tutto sarebbe comunque posizionato sul foglio molto male.

        Veniamo poi alla tua immagine ruotata. e alla didascalia; se usassi l’ambiente sideways creato dal pacchetto rotating, le cose sarebbero più semplici, ma supponiamo che tu voglia ruotare di 90° solo la figura, lasciando la didascalia in posizione normale; allora il codice della tua figura è completamante sbaglato, perché ruoti il conenut di 180°.

        Se vuoi ruotare sia la figure sia la sua ddascalia devi usare l’ambiente sideways come dice la documentazione di rotating.

        Infine le norme ISO dicono che il materiale ruotato va sempre ruotato di 90° in senso antiorario sia se l’oggetto cade in una paigna dispari, sia se cade in una pagina pari. Questo affinché il lettore debba sempre ruotar il documento che sta leggendo so di 90° in senso orario , indipendentemente dal fatto che la figura cada in una pagina pari o dispari. In questo senso la figura che hai allegato, esempio.jpg è sbagliata. non puoi per giunta volere che almeto una figura sia ruotata nel verso sbagliato.

        Scusami @cri, ma non so proprio come aiutarti (evitando di tirarti ulteriormente le orecchie, da buon nonno 🙂 , non da cattivaccio misogino 👿 ) se non ci dai informazioni anche numeriche che siano consistenti.

        PS—————–

        Supponiamo che testatine, piedini e note a margine sia fuori della griglia identificata da defintia d a\textwidth e \textheigh e di voler usare una pagina di carta B5 di 176mm per 250mm.

        Supponiamo che \textheight sia pari a \paperwidth =176mm e supponiamo che \textwidth stia a \textheigth come \paprwidthh sta a \paperheight; ne viene fuori che \textheight vale 176mm e \textwidth vale 124mm. Perciò complessivamente per i due margini superiore/inferiore abbiamo 250mm=176mm = 74mm;
        per i margini laterali, analogamente, abbiamo 176mm – 124mm = 48mm.
        Supponiamo di voler mettere la griglia del testo centrata nella pagina; quindi per lo spazio marginale verticale possiamo assegnarne la meta a ciascuno dei due margini verticali; analogamente per il margini orizzontali; questi diventano pertanto: margine superiore di 37mm, margine interno di 24mm. Togliamo ora il pollice {arrotondato a 25mm} e ricaviamo che \odsidemargin=\evensidemarign=-1mm e \topmargin=12mm.
        Questi sono valori ragionevoli, ma naturalmente non sono nella testa del tuo prof, ho fatto i calcoli sotto determinate ipotesi, che probabilmente non sono quelle del tuo prof. Ma gli orini di grandezza ci sono quindi se non ritrovi questi ordini di grandezza, vuol dire che veramente hai sbagliato a interpretare le specifiche del prof.

      • #112384
        Up
        0
        Down
        ::


        A me dispiace che hai perso tutto questo tempo a rispondere.
        Non ho preso appunti, il professore rilascia un esempio di tesi su cui adattare la propria, quindi tutto quello che vedi è deciso da lui, ed è per tutti uguale. Inoltre è fissatissimo con Latex, poi non so dirti fino a dove arrivino le sue conoscenze.

        Per quanto riguarda le figure, quello con 180 era uno dei tentativi che ho fatto; se mi dici che è più opportuno che la rotazione sia la medesima per pagine pari e dispari, ci credo.

        Il doppio eurosym si rende necessario, perchè mi veniva richiesto anche se era già incluso, e io non me n’ero accorta.

      • #112385
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          La classe che stai usando è molto particolare, e infatti \sidewaysfigure non funziona correttamente, in quanto qualunque oggetto to metta dentro quell’mabinete, lo tratta come un oggetto quadrato e non rettangolare.

          Io ho provato con questo esempio minimo compilabile`\documentclass[b5paper,envcountsame,envcountchap]{svmono}% aggiunta la forma della carta

          %\usepackage[latin1]{inputenc}
          \usepackage[utf8]{inputenc}
          \usepackage{eurosym}
          \usepackage{makeidx} % allows index generation
          \usepackage{graphicx} % standard LaTeX graphics tool
          \usepackage{xtab} % when including figure files
          \usepackage{multicol}
          \usepackage{qtree}
          \usepackage{booktabs}
          \usepackage{amsmath,amssymb}
          %\usepackage{psfig} % used for the two-column index
          \usepackage[bottom]{footmisc} % places footnotes at page bottom
          \usepackage[italian]{babel}
          %\usepackage{my_listings}
          \usepackage[hyphens]{url}
          \usepackage{algorithm}
          \usepackage{algorithmic}
          \usepackage{multirow}
          \usepackage{xcolor}
          \usepackage{float}
          \usepackage{titlesec}
          \usepackage{csquotes}
          \usepackage{python}
          \usepackage{verbatim}
          %\usepackage{eurosym}% già caricato prima
          \usepackage[figuresright]{rotating}% l'opzione serve per fare sempre la rotazione antioraria, ma vedi sotto, perché non funziona il pacchetto.
          \usepackage{pdflscape}
          \usepackage{kantlipsum}% Usato per rimepire con testo fittizio
          %\setcounter{secnumdepth}{3}
          %\setcounter{tocdepth}{3}
          \makeatletter
          \titleformat{\section}[display]%
          {\Large\bfseries\boldmath}{\color{azzurro}{\thesection}}{-1.1em}{\hspace{2em}\color{azzurro}}[{\titlerule[0pt]}]
          \makeatother

          \makeatletter
          \titleformat{\subsection}[display]%
          {\large\bfseries\boldmath}{\color{gold}{\thesubsection}}{-1em}{\hspace{3em}\color{gold}}[{\titlerule[0pt]}]
          \makeatother

          \makeatletter
          \titleformat{\subsubsection}[display]%
          {\normalsize\bfseries\boldmath}{\color{gold}{\thesubsubsection}}{-1em}{\color{gold}}[{\titlerule[0pt]}]
          \makeatother

          \definecolor{gold}{rgb}{0.64,0.54,0.29}
          \definecolor{azzurro}{rgb}{0,0.29,0.57}

          \def\lstlistlistingname{\textbf{Elenco dei listati}}
          \addto\captionsitalian{\renewcommand{\contentsname}{\textbf{Indice}}}
          \addto\captionsitalian{\renewcommand{\listfigurename}{\textbf{Elenco delle figure}}}

          \makeatletter
          \let\old@rule\@rule
          \def\@rule[#1]#2#3{\textcolor{gold}{\old@rule[#1]{#2}{#3}}}
          \makeatother

          \setlength{\textwidth}{127mm}
          \setlength{\textheight}{200mm}
          \setlength{\oddsidemargin}{1mm}
          \setlength {\evensidemargin}{-1mm}
          \setlength {\topmargin}{-10mm}

          \makeindex

          \author{}

          \date{13 marzo 2018}

          \begin{document}

          ciao \cite{art:rif.1}
          bello \cite{book:rif.2}
          ok \cite{book:rif.3}

          \”{o}

          \begin{math}{IMP(x,y)={\log \dfrac{p(x,y)}{p(x)p(y)}}} \end{math}
          \begin{quote}
          {\sf ?Questa auto bella \bf e \sf spaziosa.?}
          \end{quote}
          hfhfhhjjfkfk (Figura \ref{fig:esempioSideways}).

          Per tale motivo, ai fini delle nostre analisi, stato opportuno
          selezionare quei temi che rispecchiassero tutte quelle
          problematiche che, in generale, potrebbero affliggere qualunque città,
          e che spesso e volentieri sono argomento di discussione e di lamentele
          tra i cittadini.
          I temi selezionati sono i seguenti:

          Per tale motivo, ai fini delle nostre analisi, stato opportuno
          selezionare quei temi che rispecchiassero tutte quelle
          problematiche che, in generale, potrebbero affliggere qualunque citt,
          e che spesso e volentieri sono argomento di discussione e di lamentele
          tra i cittadini.

          \kant[1-3]

          \newpage
          \noindent\frame{\phantom{\rule{\textwidth}{\textheight}}}

          \kant[3-5]

          \newpage
          \hrule

          %\showthe\textheight \showthe\textwidth

          %\begin{sidewaysfigure}
          %\makeatletter
          %\centering
          %%\unitlength=0.1pt
          %%\begin{picture}(\strip@pt\textheight,\strip@pt\textwidth)
          %%\put(0,0){\framebox(\strip@pt\textheight,\strip@pt\textwidth){}}
          %%\end{picture}
          %%\frame{$\vcenter to\textwidth{\vss\hbox{\hss\includegraphics[width=10cm]{Esempio.png}\hss}\vss}$}
          %\frame{\phantom{\rule{\textwidth}{\textheight}}}
          %\caption{Creazione di figure in “landscape''. La didascalia
          %di questa figura \`e \emph{volutamente} molto lunga}
          %\label{fig:esempioSideways}
          %
          %\end{sidewaysfigure}

          \begin{figure}[p]
          \hrule

          \centering
          \begin{lrbox}{0}
          \parbox{\dimexpr\textheight-2\fboxrule}{\centering
          \includegraphics[width=100mm]{esempio.png}%
          \caption{Creazione di figure in “landscape''. La didascalia
          di questa figura \`e \emph{volutamente} molto lunga, lunghissima, estremamente lunga, e ancora più lunga}
          \label{fig:esempioSideways}}
          \end{lrbox}

          \rotatebox[origin=lB]{90}{\frame{\box0}}

          \end{figure}

          \kant[6-10]

          %\pagenumbering{{\color{azzurro}Roman}}
          %\include{frontespizio/frontespizio}
          %\newpage\null\thispagestyle{empty}\newpage
          %\include{dedica/dedica}
          %\tableofcontents \listoffigures
          %\lstlistoflistings

          %\pagenumbering{arabic} \setcounter{page}{1}

          %\nocite{*}
          %\bibliography{Bibliografia/biblio}
          %\bibliographystyle{plain}
          %\include{Ringraziamenti/ringraziamenti}
          \end{document}`
          Nella senda pagina ho messo un rule fantasma per vedere che margini venivano con le tue impostazioni per la gabbia e le mie per i margini.
          Come vedi nella parte di codice commentato ne ho provate tante, ma poi sono dovuto ricorrere al trucco dell’ambiente lrbox che contiene una parbox larga quanto l’altezza della gabbia; dentro ci ho messo una figure fittizia, con una lunghissima didascalia, e il tutto è venuto doveva doveva venire.

          Se vuoi puoi definirti una macro che contenga il mio codice e che abbia come argomento qualunque cosa to voglia metterci dentro \da includegraphics fino a \label cl suo argomento; Una semplice macro ti replica la stessa rotazione antioraria quante volte vuoi, senza dovre reinventarti il codice ogni volta.

        • #112386
          Up
          0
          Down
          ::


          Grazie per il suggerimento, funziona perfettamente.
          Se riuscirò a rendere invisibili le linee nere che risultano nella pagina, lo sfrutterò senz’altro.

        • #112387
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            togli i \frame e gli \hrule che io ho lasciato nel mio esempio; Li avevo messi per visualizzare le dimensioni dell’oggetto inserito e per verificare se stavano nel centro della pagina.

          • #112388
            Up
            0
            Down
            ::


            Grazie, è perfetto!

        Visualizzazione 5 filoni di risposte
        • Devi essere connesso per rispondere a questo topic.

        Go to top