Форматируйте изображения и текст с помощью TikZ и minipage

Форматируйте изображения и текст с помощью TikZ и minipage

Я хочу отформатировать верхнюю часть своего резюме, но столкнулся с двумя проблемами:

  1. Я хочу отформатировать изображение так, чтобы оно было идеально круглым, и убедиться, что все изображение находится в рамке. Однако, когда я начинаю прикасаться к рамке, изображение «теряет» свою округлость.

  2. Я хочуотформатируйте мой заголовок как на картинке ниже: где у меня есть круглая картинка слева, затем поле с моим именем и мелким текстом ниже. Однако, работая с мини-страницами, я не смог добиться желаемого результата.

введите описание изображения здесь

Вот мой рабочий код на данный момент:

\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}

решение1

Возможно, вы могли бы поместить все в один tikzpicture. Поскольку вы хотите, чтобы круг был того же размера, что и коробка, имеет смысл сначала сделать коробку, а затем задать размер круга таким же, как и высота коробки.

Кстати, обратите внимание, что 8 ptэто недопустимая опция для articleкласса, она ничего не делает 10pt(по умолчанию), 11ptи 12ptтолько они доступны по умолчанию.

Внешняя рамка на этом снимке экрана появилась в результате добавления showframeопции в пакет geometry. С этой опцией рамка добавляется вокруг текстовой области.

введите описание изображения здесь

\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}

Связанный контент