在 moderncv 中控制没有图形环境的图片放置

在 moderncv 中控制没有图形环境的图片放置

我有这个代码:

\documentclass[11pt,a4paper,sans]{moderncv}        
\usepackage{fontenc}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage[scale=0.75]{geometry}

\moderncvstyle{casual}                             
\moderncvcolor{blue}                               

\name{John}{Doe}


\begin{document}
\makecvtitle

\hbox{
    \hspace*{0.2\textwidth}
    \textcolor{color1}{\rule{5pt}{\textwidth}}
    \hspace*{0.05\textwidth}
    \includegraphics[]{/home/toogley/bew/img/passbilder/platzhalter.png}
}

\end{document}

生成结果:

输出

我想将图片移到行的中间。通常,我会尝试使用环境等来解决这个问题figure。但当我在这里使用它时,我收到了错误

LaTeX Error: Environment figure undefined.

根据相关问题,此错误消息意味着,我无法使用它。或者说,使用图形环境的唯一解决方案是改变 moderncv 的工作方式。

因此,我的问题是是否有一种不改变 moderncv 工作方式的方法。

答案1

不要使用\hbox;如果你这样做,你会感到惊讶。

只需将规则和图片向下移动即可。不要忘记保护行尾。

\documentclass[11pt,a4paper,sans]{moderncv}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage[scale=0.75]{geometry}

\moderncvstyle{casual}
\moderncvcolor{blue}

\name{John}{Doe}


\begin{document}
\makecvtitle

\noindent
\hspace{0.2\textwidth}%
\textcolor{color1}{\rule[-.5\textwidth]{5pt}{\textwidth}}%
\hspace{0.05\textwidth}%
\raisebox{-.5\height}{\includegraphics[width=2cm]{example-image-9x16}}

\end{document}

在此处输入图片描述

答案2

这是一个可能适合您的解决方案TikZ

\documentclass[11pt,a4paper,sans]{moderncv}        
\usepackage{fontenc}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage[scale=0.75]{geometry}

\moderncvstyle{casual}                             
\moderncvcolor{blue}                               

\name{John}{Doe}

\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}
\makecvtitle


\begin{tikzpicture}[remember picture,overlay]
  \draw[color1,line width=5pt] 
        ($(current page.north west)+(0.2\columnwidth,-2in)$)
        coordinate (TOP)
        -- ++ (0,-\textwidth)
        coordinate (BOT);
 \node[anchor=west] at ($(TOP)!0.50!(BOT)$)    {\includegraphics[width=1in]{no_you_cant}};
\end{tikzpicture}

\end{document}

在此处输入图片描述

!0.50!通过玩弄

 \node[anchor=west] at ($(TOP)!0.25!(BOT)$)    {\includegraphics[width=1in]{no_you_cant}};

您可以将图像重新定位到页面上所需的位置。

答案3

这里有一个建议,将\raisebox图片向上移动。

\documentclass[11pt,a4paper,sans]{moderncv}        
\usepackage{fontenc}
\usepackage[scale=0.75]{geometry}

\moderncvstyle{casual}                             
\moderncvcolor{blue}                               

\name{John}{Doe}

\begin{document}
\makecvtitle

\hbox{%
    \hspace*{0.2\textwidth}%
    \textcolor{color1}{\rule{5pt}{\textwidth}}%
    \hspace*{0.05\textwidth}%
    \raisebox{\dimexpr.5\textwidth-.5\height\relax}{%
      \includegraphics[width=1in]{example-image-golden-upright}}%
}

\end{document}

在此处输入图片描述

相关内容