beamer – impaginazione column all’interno di block?

  • Questo topic ha 4 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 17 anni fa da vevo.
  • Creatore
    Topic
  • #36341
    Up
    0
    Down
    ::


    Salve,

    avrei due domande:
    1)quale’ la misura della larghezza di un block?e’ \textwidth?

    lo chiedo per sapere qual’e il modo migliore per impaginare le colonne all’interno di un blocco, come nel secondo blocco del frame del seguente esempio:

    `\documentclass[10pt]{beamer}

    \usepackage[english]{babel}
    \usepackage{multimedia}
    \usepackage{graphicx}

    \usetheme{Frankfurt}
    \useoutertheme[subsection=false,footline=authorinstitutetitle]{miniframes}
    \useinnertheme[shadow=true]{rounded}

    \title{title}
    \author{author}
    \institute{University of}
    \date{\today}

    \begin{document}

    \begin{frame}
    \frametitle{Power Assist Devices Requirements and Control}
    \begin{block}{Power Assist Devices Requirements}
    \begin{itemize}
    \item \alert<3>{Safety: work with human being}
    \item \alert<3>{Assistance: not a constrain, not do all the work}
    \item Adaptive to different people and situations
    \item Light but enough powerful
    \item Backdriveable: easy to move when OFF
    \item Slow: how fast who needs power assist moves?
    \end{itemize}
    \end{block}

    \begin{block}<2->{Power Assist Devices Control: Knowledge of user applied force}
    \vspace{-10pt} %is there a better way to do this?
    \begin{columns}[c,totalwidth=100pt]
    \column{.20\textwidth}
    Force Sensor
    \column{.30\textwidth}
    \begin{figure}[]
    \pgfimage[height=60pt]{img1}
    \end{figure}
    \column{.30\textwidth}
    \begin{figure}
    \pgfimage[height=60pt]{img2}
    \end{figure}
    \column{.20\textwidth}
    \alert<3>{Force Sensor-less Control}
    \end{columns}
    \end{block}
    \end{frame}

    \end{document}`

    2)Visto che riguarda sempre l’imaginazione di colonne all’interno di un block, c’e’ un modo migliore per modificare lo spazio verticale prima dell’inizio dell’ambiente columns (\vspace{-10pt} %is there a better way to do this?)?

    Grazie,
    vevo

    ps. le immagini che ho usato possono essere scaricate qui:

Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #36342
      Up
      0
      Down
      ::

      1)quale’ la misura della larghezza di un block?e’ \textwidth?

      A occhio direi di si. Per visualizzarlo basta scrivere prima di block \rule{\textwidth}{2pt} e poi rifarlo dentro block.

      Se vogliamo essere più precisi, basta controllare quanto vale \textwidth fuori e dentro block. Per conoscere quanto vale in un punto \textwidth basta scrivere textwidth qui vale = \the\textwidth. Se poi la vuoi in cm allora usa il pacchetto layouts e il comando \printinunitsof{cm}\prntlen{\textwidth}.

      Invece non sono daccordo col tuo uso delle colonne. Perché dai totalwidth=… ?

      Osservazioni minori: innanzitutto toglierei l’ambiente figure che non serve a nulla, sostiuirei inoltre \pgfimage con \includegraphics.

      Osservazioni: toglierei lo spazio verticale negativo e sceglierei la larghezza e non l’altezza delle figure (se forzi l’altezza devi essere sicuro che poi la larghezza non sfori la dimensione della colonna). Bisogna inoltre considerare lo spazio fra colonne (che qui vale \the\columsep=10pt). È probabilmente quello il tuo problema rispetto a \textwidth: tu hai che la somma delle larghezze delle colonne è effettivamente \textwidth ma non hai considerato il \columsep.

      Tuttavia la seconda immagine è illeggibile con queste dimensioni, allora o la togli o la metti più grande, il che significa che o ripensi tutta la slide o fai una slide a parte con le due figure.

    • #36343
      Up
      0
      Down
      ::


      Per essere più chiara ti mostro visyualmente come sono distribuiti gli spazi disegnando una riga nera per il \textwidth dentro il secondo block e poi i vari pezzi: verde le colonne testo, blu le colonne immagine e rosso lo spazio fra colonne. Ho messo una formuletta (che ottieni con i pacchetto calc) nella larghezza delle colonne testo.

      `
      \documentclass[10pt]{beamer}

      \usepackage[english]{babel}
      \usepackage{multimedia}
      \usepackage{graphicx,calc}

      \usetheme{Frankfurt}
      \useoutertheme[subsection=false,footline=authorinstitutetitle]{miniframes}
      \useinnertheme[shadow=true]{rounded}

      \title{title}
      \author{author}
      \institute{University of}
      \date{\today}

      \begin{document}

      \begin{frame}
      \frametitle{Power Assist Devices Requirements and Control}

      \begin{block}<2->{Power Assist Devices Control: Knowledge of user applied force}
      % \vspace{-10pt} %is there a better way to do this?

      \rule{\textwidth}{5pt}%

      \color{green}\rule{.20\textwidth-1.5\columnsep}{5pt}%
      \color{red}\rule{\columnsep}{5pt}%
      \color{blue}\rule{.30\textwidth}{5pt}%
      \color{red}\rule{\columnsep}{5pt}%
      \color{blue}\rule{.30\textwidth}{5pt}%
      \color{red}\rule{\columnsep}{5pt}%
      \color{green}\rule{.20\textwidth-1.5\columnsep}{5pt}
      \begin{columns}[c,totalwidth=\textwidth]
      \column{.20\textwidth-1.5\columnsep}
      Force Sensor
      \column{.30\textwidth}
      \begin{figure}[]
      \includegraphics[width=\textwidth,height=60pt,keepaspectratio]{img/force_sensor_6dof}
      \end{figure}
      \column{.30\textwidth}
      \begin{figure}
      \includegraphics[width=\textwidth,height=60pt,keepaspectratio]{img/FSPAC_bd}
      \end{figure}
      \column{.20\textwidth-1.5\columnsep}
      \alert<3>{Force Sensor-less Control}
      \end{columns}
      \end{block}
      \end{frame}
      \end{document}
      `

      Se prima del block metti \setlength{\columnsep}{0pt} vedrai che lo spazio fra le colonne scompare.

    • #36344
      Up
      0
      Down
      ::

      Se vogliamo essere più precisi, basta controllare quanto vale \textwidth fuori e dentro block. Per conoscere quanto vale in un punto \textwidth basta scrivere textwidth qui vale = \the\textwidth. Se poi la vuoi in cm allora usa il pacchetto layouts e il comando \printinunitsof{cm}\prntlen{\textwidth}.

      Grazie minnolina, è un pacchetto fantastico!
      😉

      LuCa

    • #36345
      Up
      0
      Down
      ::


      Innanzitutto grazie mille della puntalissima e precisissima risposta.

      Invece non sono daccordo col tuo uso delle colonne. Perché dai totalwidth=… ?

      perche’ non sapevo di \coulmnsep era un vano tentativo di impaginare come volevo.

      Osservazioni minori: innanzitutto toglierei l’ambiente figure che non serve a nulla, sostiuirei inoltre \pgfimage con \includegraphics.

      non so la differenza tra i due ancora.. comunque accetto il consiglio.

      Osservazioni: toglierei lo spazio verticale negativo e sceglierei la larghezza e non l’altezza delle figure (se forzi l’altezza devi essere sicuro che poi la larghezza non sfori la dimensione della colonna). Bisogna inoltre considerare lo spazio fra colonne (che qui vale \the\columsep=10pt). È probabilmente quello il tuo problema rispetto a \textwidth: tu hai che la somma delle larghezze delle colonne è effettivamente \textwidth ma non hai considerato il \columsep.

      Hai centrato, il problema era proprio che non sapevo di \columnsep.
      togliendo l’ambiente figure non serve piu’ lo spazio verticale negativo per far entare le figure nel frame.
      ho scelto l’altezza invece della larghezza, perche’ altrimenti le figure uscivano dal frame (verso il basso).

      Tuttavia la seconda immagine è illeggibile con queste dimensioni, allora o la togli o la metti più grande, il che significa che o ripensi tutta la slide o fai una slide a parte con le due figure.

      Hai ragione, e’ illeggibile. L’obiettivo era dare un’idea di contrasto tra 2 soluzioni per risolvere lo stesso problema, una di tipo hardware (sensore di forza) e una di tipo software (disegnare un controllore come quello in figura). Nella slide successiva, che qui non ho postato, spiego il contenuto di quella immagine. Comunque ho ripensato la slide e forse e’ meglio affiancare i due blocchi invece di metterli uno sotto l’altro.

      Comunque la spiegazione su \textwitdh in ambiente block e \columnsep sono utilissime!

      Grazie mille,
      vevo

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

Go to top