Beamer: Blasen auf der Abbildung/ beigefügtes PDF (in der Mitte)

Beamer: Blasen auf der Abbildung/ beigefügtes PDF (in der Mitte)

Ich habe versucht, ein PDF-Dokument einzubinden und würde gerne in der Mitte Sprechblasen/Kommentarrahmen hinzufügen. Hier ist ein Teil meines Codes (da das Projekt zu lang ist) (ich verwende Beamer): Grundsätzlich funktioniert es gut, aber nicht, wenn ich sie sehen möchte. Ich würde sie gerne in die Mitte jedes PDFs setzen. Ich habe eine Abbildung angefügt, damit das Problem leicht zu erkennen ist. Figur bearbeitet Link zum gesamten Projekt

\PassOptionsToPackage{many}{tcolorbox}
\documentclass{bredelebeamer}
\setbeamertemplate{caption}[numbered]{}
 \usepackage[absolute,overlay]{textpos}
  %%%%%%%%%%%%%%%%
  \usepackage{array,colortbl,xcolor}
  \usepackage{array}
  \usepackage{booktabs}
  %\setbeamertemplate{caption}[numbered]
  \numberwithin{figure}{section}
  \usepackage[export]{adjustbox}
  \setbeamercovered{dynamic}
  \usepackage{pgfplots}
  \usetikzlibrary{positioning}
  \usetikzlibrary{fit}
  \usetikzlibrary{backgrounds}
  \usetikzlibrary{calc}
  \usetikzlibrary{shapes}
  \usetikzlibrary{mindmap}
  \usetikzlibrary{decorations.text}
  % tikzmark command, for shading over items
  %\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}


  \usepackage{lmodern}

  \usepackage{tikz}
   \usetikzlibrary{shapes.callouts}

  \usepackage{xparse}

   \tikzset{
   invisible/.style={opacity=0,text opacity=0},
    visible on/.style={alt=#1{}{invisible}},
    alt/.code args={<#1>#2#3}{%
     \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't 
    change the path
      },
    }

   \NewDocumentCommand{\mycallout}{r<> O{opacity=0.8,text opacity=1} m m}{%
   \tikz[remember picture, overlay]\node[align=center, fill=cyan!20, text 
    width=2cm,
    #2,visible on=<#1>, rounded corners,
    draw,rectangle callout,anchor=pointer,callout relative pointer=
    {(230:1cm)}]
    at (#3) {#4};
    }

    \newcommand{\tikzmark}[1]{\tikz[overlay,remember 
    picture,baseline=-0.5ex] \node (#1) {};}
     % standard enumeration
    \setbeamertemplate{enumerate items}{(\arabic{enumi})}

    % default itemize
    \setbeamertemplate{itemize items}[circle]

     % transparency
     \setbeamercovered{transparent=15}

      % for resuming lists across frames
      \newcounter{savedenum}
      \newcommand*{\saveenum}{\setcounter{savedenum}{\theenumi}}
       \newcommand*{\resume}{\setcounter{enumi}{\thesavedenum}}

     \tikzset{
     invisible/.style={opacity=0},
      visible on/.style={alt=#1{}{invisible}},
     alt/.code args={<#1>#2#3}{%
     \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't 
     change the path
     },
     }
     \title[]{efijrj iejijdfikj ldlckd,dkf}
     % Titre du diaporama

     \subtitle{}
     % Sous-titre optionnel

     \author{Majikdid Mkks}
     % La commande \inst{...} Permet d'afficher l' affiliation de 
      l'intervenant.
     % Si il y a plusieurs intervenants: Marcel Dupont\inst{1}, Roger 
     Durand\inst{2}
    % Il suffit alors d'ajouter un autre institut sur le modèle ci-dessous.

    \institute[]
     {
     MASTER RECHERCHE\\
     Gestion \\

     }

    \date{\today}
    %\date{18 Brumaire 2015}
    % Optionnel. La date, généralement celle du jour de la conférence

   \subject{Sujet de votre diaporama}
    % C'est utilisé dans les métadonnes du PDF

   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   \begin{document}
   \section{IAL \& feature ordering}
   \begin{frame}{Danhjhuiiu hhyhuui yhgyygtyt (1/2)}
   \includegraphics[page=1,height=0.80\textheight,scale=0.90]
   {images/file.pdf} \tikzmark{mf1}
   \mycallout<1>[opacity=1,yshift=1cm]{mf1}{gvhh hhj: 2.929}
    \includegraphics[page=1,height=0.90\textheight,scale=0.90]
    {images/file1.pdf}\tikzmark{mf2}
    \mycallout<1>[opacity=1]{mf2}{ddfb jjhg: 5}
    \end{frame}

    \begin{frame}{Danhjhuiiu hhyhuui yhgyygtyt(2/2)}
    \includegraphics[page=1,height=0.90\textheight,scale=0.90]
    {images/file3.pdf}\tikzmark{mf1}
    \mycallout<1>[opacity=1]{mf1}{tftgt jjjb: 0.31}
    \includegraphics[page=1,height=0.90\textheight,scale=0.90]
     {images/file2.pdf}\tikzmark{mf2}
     \mycallout<1>[opacity=1]{mf2} {fgh nhhjj: 1.457}
    \end{frame}


   \end{document}

Antwort1

Wenn Sie das Bild in einen TikZKnoten einfügen, können Sie es als Referenz (mit remember pictureund overlayOptionen) für die Callout-Knoten verwenden.

\documentclass{beamer} 
\usepackage{tikz}
\usetikzlibrary{shapes.callouts, calc}

\begin{document}
\begin{frame}
\centering
\begin{tikzpicture}[remember picture, overlay]
\node (a) {\includegraphics[width=.75\linewidth]{example-image-a}};
\node<2->[ellipse callout, draw=blue, fill=blue!30] at ($(a.center)!.5!(a.north east)$) (b)  {Hello!};
\end{tikzpicture}
\end{frame}
\end{document}

Bildbeschreibung hier eingeben

Aktualisieren: Auf miretteKommentar antworten.

Ihr Code ist korrekt und das Ergebnis ist das erwartete. tikzmarkerstellt einen Verweis auf seine Position, die in Ihrem Fall nach dem includegraphicsBefehl liegt und mycalloutentsprechend diesem Verweis platziert wird, der sich in diesem Fall unterhalb der unteren linken Ecke der eingefügten Abbildung befindet.

Die vorgeschlagene Lösung ersetzt tikzmarkdurch ein node, das die ganze Seite umfasst. Anschließend können Sie jede beliebige Position auf der Seite verwenden, um die Sprechblase zu platzieren.

Da mycalloutder Befehl bereits innerhalb einer Umgebung definiert ist, tikzpictureist es besser, ihn außerhalb des für eingeschlossene Seiten definierten Tikzpicture zu verwenden.

Der folgende Code zeigt ein Beispiel mit zwei Figuren auf einem Frame. Beide Figuren wurden mithilfe der Beamer- columnsUmgebung verteilt.

\documentclass{beamer} 
\usepackage{tikz}
\usetikzlibrary{shapes.callouts, calc}
\usepackage[most]{tcolorbox}

\tikzset{
   invisible/.style={opacity=0,text opacity=0},
    visible on/.style={alt=#1{}{invisible}},
    alt/.code args={<#1>#2#3}{%
     \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't 
    change the path
      },
    }

\NewDocumentCommand{\mycallout}{r<> O{opacity=0.8,text opacity=1} m m}{%
   \tikz[remember picture, overlay]\node[align=center, fill=cyan!20, text 
    width=2cm,
    #2,visible on=<#1>, rounded corners,
    draw,rectangle callout,anchor=pointer,callout relative pointer=
    {(230:1cm)}]
    at (#3) {#4};
    }

\begin{document}
\begin{frame}{Test callouts}

\begin{columns}[onlytextwidth]
\column{.5\linewidth}
\centering
\begin{tikzpicture}[remember picture, overlay]
\node (a) {\includegraphics[width=.85\linewidth, height=.7\textheight]{example-image-a}};
\end{tikzpicture}
\mycallout<1>[opacity=1,yshift=1cm]{a}{gvhh hhj: 2.929}
\column{.5\linewidth}
\centering
\begin{tikzpicture}[remember picture, overlay]
\node (b) {\includegraphics[width=.85\linewidth, height=.7\textheight]{example-image-b}};
\end{tikzpicture}
\mycallout<1>[opacity=1,yshift=1cm]{[shift={(-1cm,-2cm)}]b.center}{gvhh hhj: 2.929}
\end{columns}
\end{frame}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen