如何强制将图形放在一行的顶部,并将其准确放置在页面上我想要的位置?

如何强制将图形放在一行的顶部,并将其准确放置在页面上我想要的位置?

背景信息如下:图像 A 是右上角的徽标,我将在其周围写上我的名字,图像 B 是我的普通外观,我想将其放置在我的名字和徽标左侧的某个位置(!)。我想让它与将顶部与文本分开的垂直线重叠。我已将其设置为在左侧列中留出一条空白的顶线以容纳图像 B 的位置。图像 B 的向下移动是通过第vspace32 行的命令完成的,但是此命令也会将名称和徽标向上移动。

简而言之,我想要两件事:1)能够将图像 B 放在垂直线的顶部 2)能够独立于文本移动图形,而不会干扰文本。完全自由。

我研究过各种不同的包;wrapfigure,,,,但是作为一个业余爱好者,当我尝试使用它们时,一切只会变得更糟minipageeso-pictikz

这是最小的例子。

\documentclass[12pt,a4paper,onecolumn,oneside,final]{memoir}
    \usepackage{lipsum}
    \usepackage{wrapfig}
    \usepackage{graphicx}
    \usepackage{multicol}
    \usepackage[marginparwidth=2cm,textwidth=18cm,textheight=27cm]{geometry}
    \usepackage{titlesec}
    \usepackage[absolute]{textpos}
    \usepackage[danish]{babel}
    \usepackage[danish]{isodate}
    \usepackage{floatflt}
    \usepackage{wrapfig}
    \usepackage{eso-pic}
    \usepackage{anyfontsize}
    \setlength\columnseprule{.4pt}

    \newcommand{\namesection}[3]{
        \flushright{\sffamily\fontsize{50}{80}\selectfont #1} \includegraphics[height=3cm]{example-image-a} \\
        {\fontsize{50}{80}\selectfont #2}  \\
        \vspace{5pt}
        {\fontsize{11}{14}\selectfont #3}
    }

    \begin{document}

    \pagestyle{empty}

\begin{figure}[t!]
\hspace*{1cm}\includegraphics[height=5cm, width=4cm]{example-image-b}
\end{figure}

\vspace*{-8cm}

\namesection{First name}{Last Name}{\footnotesize Information about all sorts of neat stuff \hspace*{1.5cm}}

    \noindent\makebox[\linewidth]{\rule{1.2\paperwidth}{0.4pt}}
    \vspace{-15pt}

    \begin{multicols}{2}
    \hfill \break
    \flushleft\lipsum
    \lipsum
    \end{multicols}

    \end{document}

答案1

由于您希望完全自由地移动元素,我建议您将它们放置在 TikZ 中\nodes。在下面的示例中,我首先放置了带有名称和信息的节点,然后根据此节点定位了其他两个元素(图像),但是,当然,您现在可以自由选择先放置什么以及每个元素应该出现在哪里。我使用 tikzpagenodes 包来访问current page text area节点系列以定位图像(但这是可选的)。

在此处输入图片描述

代码:

\documentclass[12pt,a4paper,onecolumn,oneside,final]{memoir}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{multicol}
\usepackage[marginparwidth=2cm,textwidth=18cm,textheight=27cm]{geometry}
\usepackage{tikzpagenodes}
\usetikzlibrary{positioning}
\setlength\columnseprule{.4pt}

\newcommand{\namesection}[3]{
\begin{tikzpicture}[remember picture,overlay]
\node[text width=0.45\textwidth,inner sep=0pt]
  at ([yshift=-3.5cm]current page.north)
  (information)
  {\raggedright
    {\sffamily\fontsize{50}{80}\selectfont #1}\par
    {\fontsize{50}{80}\selectfont #2}\par
    {\fontsize{11}{14}\selectfont\footnotesize #3}%
  };
\node[inner sep=0pt,anchor=west]
  at (current page text area.west|-information.west)
  (imageb)
  {\includegraphics[height=5cm, width=4cm]{example-image-b}};
\node[inner sep=0pt,anchor=south east]
  at (current page text area.east|-information.south east)
  (imagea)
  {\includegraphics[height=3cm]{example-image-a}};
\draw[line width=1pt]
  (current page.west|-imageb.south) -- (current page.east|-imageb.south);  
\end{tikzpicture}%
}

\begin{document}

\pagestyle{empty}

\namesection{First name}{Last Name}{Information about all sorts of neat stuff}

\vspace{5cm}

\begin{multicols}{2}
\raggedright
\lipsum
\lipsum
\end{multicols}

\end{document}

相关内容