如何將圖形強制在線上,並將其準確放置在頁面上我想要的位置?

如何將圖形強制在線上,並將其準確放置在頁面上我想要的位置?

背景資訊是這樣的:圖片A是右上角的一個標誌,我會在它周圍寫上我的名字,圖片B是我的平均外觀,我想放在我的名字和左邊的某個地方(!)標識。我想我希望它與將頂部與文字分開的垂直線重疊。我這樣做是為了在左側列中有一個空的頂行來容納圖像 B 的位置vspace。移動。

簡而言之,我想要兩件事; 1) 能夠將影像 B 置於垂直線上方 2) 能夠獨立於文字移動圖形,而不會幹擾文字。完全的自由。

我看過各種不同的包包;wrapfigure, minipage, eso-pic, tikz,但作為一個業餘愛好者,當我嘗試使用它們時,我只是讓一切變得更糟。

這是最小的例子。

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

相關內容