図を行の上に強制的に配置して、ページ上の希望する場所に正確に配置するにはどうすればよいですか?

図を行の上に強制的に配置して、ページ上の希望する場所に正確に配置するにはどうすればよいですか?

背景情報は次のとおりです。画像 A は右上隅のロゴで、その周りに自分の名前を書きます。画像 B は私の平均的な外見で、名前とロゴの左側のどこか (!) に配置します。上部とテキストを分ける垂直線と重なるようにしたいと思います。画像 B を配置できるように、左側の列の上部に空の行があるようにしました。画像 B を下に移動するのはvspace32 行目のコマンドで行いますが、このコマンドは名前とロゴも上に移動します。

つまり、私が希望するのは次の 2 つです。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。以下の例では、最初に名前と情報を含むノードを配置し、次にこのノードを基準にして他の 2 つの要素 (画像) を配置しましたが、もちろん、最初に何を配置するか、各要素をどこに表示するかを自由に選択できます。current page text area画像を配置するためのノード ファミリにアクセスできるように、tikzpagenodes パッケージを使用しました (ただし、これはオプションです)。

ここに画像の説明を入力してください

コード:

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

関連情報