Formate imagem e texto com TikZ e minipágina

Formate imagem e texto com TikZ e minipágina

Quero formatar a parte superior do meu currículo, mas encontrei dois problemas:

  1. Quero formatar a imagem para que fique perfeitamente redonda e garantir que toda a imagem esteja dentro do quadro. Porém, quando começo a tocar no enquadramento a imagem “perde” a redondeza.

  2. Eu queroformatar meu cabeçalho como na imagem abaixo: onde tenho uma imagem redonda à esquerda, depois uma caixa com meu nome e um pequeno texto abaixo. Porém, trabalhando com minipáginas não consegui produzir o resultado desejado.

insira a descrição da imagem aqui

Aqui está meu código de trabalho neste momento:

\documentclass[letterpaper,8 pt]{article}

\usepackage{titlesec}
\usepackage[margin=0.3in]{geometry}
\usepackage{longtable}
\usepackage{marvosym}
\usepackage{amsmath}

\usepackage{underscore}
\renewcommand{\familydefault}{\sfdefault}
\renewcommand{\sfdefault}{ppl}

\newcommand{\at}{\makeatletter @\makeatother}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{tikzpagenodes}
\usetikzlibrary{calc}

\titleformat{\section}{\large\scshape\raggedright}{}{1em}{}[\titlerule]
\titlespacing{\section}{0pt}{3pt}{3pt}

\begin{document}
\pagenumbering{gobble}
\hfill
\begin{minipage}[t]{5cm}
    \hspace*{-3cm}
    \begin{tikzpicture}[baseline=(frog.center),inner sep=0pt]
    \clip (0,0)  circle (2cm) node (frog) {\includegraphics[width=6cm]{frog.jpg}};
    \end{tikzpicture}
\end{minipage}
\hfill
\begin{minipage}[t]{5cm}
    \vspace{-1.5cm} \centerline{\Huge \textbf{My Name Here}}
\end{minipage} 
%\hfill
\begin{minipage}[t]{5cm}
    \vspace{0cm} \hspace{-2cm}\begin{tabular}{rl}
        \textsc{Email:} & My_eMail\at gmail.com \\ 
        \textsc{Telefon:} & \ xxx \ xx \ xxx \\
        \textsc{Sted:} & xxxx, xxxxx \\
    \end{tabular}
\end{minipage}

\end{document}

Responder1

Talvez você possa colocar tudo em um tikzpicture. Como você deseja que o círculo tenha o mesmo tamanho da caixa, faz sentido fazer a caixa primeiro e depois definir o tamanho do círculo para ser igual à altura da caixa.

Note a propósito que 8 ptnão é uma opção válida para a articleclasse, não faz nada. 10pt(padrão) 11pte 12ptsão os disponíveis por padrão.

O quadro externo nesta captura de tela vem da adição da showframeopção ao geometrypacote. Com essa opção, um quadro é adicionado ao redor da área de texto.

insira a descrição da imagem aqui

\documentclass[letterpaper,10pt]{article}

\usepackage{titlesec}
\usepackage[margin=0.3in]{geometry}
\usepackage{longtable}
\usepackage{marvosym}
\usepackage{amsmath}

\usepackage{underscore}
\renewcommand{\familydefault}{\sfdefault}
\renewcommand{\sfdefault}{ppl}

\newcommand{\at}{\makeatletter @\makeatother}
\usepackage{tikzpagenodes} % loads tikz which loads graphicx
\usetikzlibrary{calc,positioning}

\titleformat{\section}{\large\scshape\raggedright}{}{1em}{}[\titlerule]
\titlespacing{\section}{0pt}{3pt}{3pt}
\begin{document}
\pagenumbering{gobble}
%\hfill
\noindent\hfill\begin{tikzpicture}[
  declare function={
     boxwidth=\textwidth-4cm; % you may need to change 4cm so something else, depending on the height of the box
     boxinnersep=2mm; 
     }
  ]
    \node [
       text width=boxwidth,
       align=left,
       draw,
       fill=green!30,
       inner sep=boxinnersep] (box) {%
       {\Huge \textbf{My Name Here}} \\[5pt]
       \begin{tabular}{rl}
        \textsc{Email:} & MyeMail\at gmail.com \\ 
        \textsc{Telefon:} & \ xxx \ xx \ xxx \\
        \textsc{Sted:} & xxxx, xxxxx \\
    \end{tabular}
    };       

    \path
    let
       \p1=(box.north),
       \p2=(box.south),
       \n1={\y1-\y2},
       \n2={(\textwidth-boxwidth-\n1-2*boxinnersep-2\pgflinewidth)/2}
    in
    node [
      minimum size=\n1,
      circle,
      path picture={
         \node [anchor=center] {\includegraphics[width=6cm]{example-image}};
         },
      left=\n2 of box
      ] {};

\end{tikzpicture}

\end{document}

informação relacionada