将图形元素与流程图对齐

将图形元素与流程图对齐

在此处输入图片描述我是 Latex 的新手!我已经成功地将文本设置为正确的格式,但在将单个图形定位到需要的位置时遇到了问题。基本上,它应该位于页面的左侧,左侧框架文本位于其上方。

但是它并没有完全发挥作用。如果您需要知道,symbol_strip 是一个 4 x 20cm 的图像;我已将其注释掉,因为它会出现在错误的位置。

% Left frame
\begin{figure}
\hfill
% \includegraphics{symbol_strip.jpg}
\vspace{-2cm}
\end{figure}
\begin{flushright}

Tractor beat trailer give backwoods hee-haw gold frogskin plumb nugget. Liniment fancy rightly work chicken what cipherin' how ya. Heapin' backwoods her hospitality em got creosote overalls rodeo up. Townfolk soap out.

\end{flushright}\normalsize
\framebreak

是的,我正在使用 Hillbilly,因为我的 Lorem ipsum 已经生疏了 ;)

我也尝试使用这里的例子语法类似于 \centering 左右?通过将图形环绕在右侧,这次文本消失了。困惑。

\documentclass[a4paper,11pt,final]{memoir}

\pagestyle{empty}

\usepackage{flowfram}
\usepackage{graphicx}  

% left frame
\newflowframe{0.2\textwidth}{\textheight}{0pt}{0pt}[left]
  \newlength{\LeftMainSep}
  \setlength{\LeftMainSep}{0.2\textwidth}
  \addtolength{\LeftMainSep}{2\columnsep}
% right frame
\newflowframe{0.7\textwidth}{\textheight}{\LeftMainSep}{0pt}[main01]


\begin{document}

\begin{figure}
\begin{flushright}
\includegraphics{symbol_strip.jpg}
\vspace{-2cm}
 Tractor beat trailer give backwoods hee-haw gold frogskin plumb nugget. Liniment fancy rightly work chicken what cipherin' how ya. Heapin' backwoods her hospitality em got creosote overalls rodeo up. Townfolk soap out.
\end{flushright}
\end{figure}

\end{document}

我还附上了一张图片。蓝色匕首状部分就是我们讨论的图片。

答案1

很难说清楚你到底想做什么,所以我不确定这是你想要的。不过,你确实说过你想把文字打印在图片的“上面”。我不确定这是否意味着多于图片或超过图片。

这段代码将图片在下面文本,使文本打印在图片上方。即图片形成背景。文本打印在背景上。

\documentclass[a4paper,11pt,draft]{memoir}

\pagestyle{empty}

\usepackage{flowfram}
\usepackage{graphicx}
\usepackage{tikz}

% left frame
\newflowframe{0.2\textwidth}{\textheight}{0pt}{0pt}[left]
  \newlength{\LeftMainSep}
  \setlength{\LeftMainSep}{0.2\textwidth}
  \addtolength{\LeftMainSep}{2\columnsep}
% right frame
\newflowframe{0.7\textwidth}{\textheight}{\LeftMainSep}{0pt}[main01]


\begin{document}

\begin{tikzpicture}[remember picture, overlay, x=4cm, y=20cm]
    \node at (0,0) {\includegraphics[width=4cm,height=20cm]{symbol_strip.jpg}};
\end{tikzpicture}

\begin{figure}
\begin{flushright}
\vspace{-2cm}
 Tractor beat trailer give backwoods hee-haw gold frogskin plumb nugget. Liniment fancy rightly work chicken what cipherin' how ya. Heapin' backwoods her hospitality em got creosote overalls rodeo up. Townfolk soap out.
\end{flushright}
\end{figure}

\end{document}

请注意,我使用了草稿选项来消除未找到图像的错误。这会产生以下结果:

文本叠加在图像上作为背景

我不确定你为什么要把它做成一个图形。如果你想要精确定位,你不会希望 TeX 移动它们,而这正是图形环境告诉它要做的事情!

编辑(删除):

根据您编辑的问题,我假设您不想要文本多于图像。由于这会将内容推离页面,因此我将删除原始答案的这一部分。

编辑(根据更新的问题进行更新):

根据您发布的图像,您可以尝试以下操作,但用您手头上的背景图像替换 tikzpicture。

\documentclass[a4paper,11pt,final]{memoir}

\pagestyle{empty}

\usepackage{flowfram}
\usepackage{graphicx}% not needed to produce my demo
\usepackage{xcolor}% not needed if you use a background image
\usepackage{tikz}

% left frame - alternatively, specify a larger proportion of \textwidth or set this width absolutely
\newflowframe{0.2\paperwidth}{\textheight}{0pt}{0pt}[left]
  \newlength{\LeftMainSep}
  \setlength{\LeftMainSep}{0.2\paperwidth}
  \addtolength{\LeftMainSep}{2\columnsep}
% right frame - alternatively, specify a smaller proportion of \textwidth or calculate width from the absolute width of the left flow frame etc.
\newflowframe{0.7\paperwidth}{\textheight}{\LeftMainSep}{0pt}[main01]

% recalculate left/right margins - or see alternatives above
\newlength{\mywidth}
\setlength{\mywidth}{\LeftMainSep}
\addtolength{\mywidth}{0.7\paperwidth}
\settypeblocksize{\textheight}{\mywidth}{*}

\begin{document}

  \begin{tikzpicture}[remember picture, overlay]
      \fill [fill=blue!20] (0,1cm) -- (0,-14cm) -- (4cm,-19cm) -- (4cm,1cm) -- cycle;
  \end{tikzpicture}

\vfill% or set \vspace*{whatever you like}
\hspace*{\parindent}% text in specimen is set into page somewhat
\begin{minipage}[c]{3cm}% adjust to taste
  \raggedleft
  Tractor beat trailer give backwoods hee-haw gold frogskin plumb nugget. Liniment fancy rightly work chicken what cipherin' how ya. Heapin' backwoods her hospitality em got creosote overalls rodeo up. Townfolk soap out.
\end{minipage}
\hspace*{1em}% avoid text hitting edge of frame or background - adjust to taste
\vfill\vfill% adjust to taste or reduce to one \vfill if setting \vspace*{} to a specific value above

\framebreak% force following text to next flow frame

\section*{Sphinx of black quartz}% demonstrate relative positioning of text in next frame

Peter Piper picked a pickled pepper.

\end{document}

生成结果:

演示中,tikzpicture 上的文本代替了缺失的背景图像,文本的位置非常粗略,如添加到更新问题中的目标图像中所示

请注意 \paperwidth 和 \textwidth 之间的区别。除非您将左/右边距几乎归零,否则 \textwidth 的五分之一不足以容纳 4cm 宽的图像。因此,假设您想要看起来与您发布的图像大致相同的图像,并且您不想更改该图像,我猜您希望左侧流动框架更宽。我保持比例相同,并根据结果宽度设置边距。所以边距现在非常小。如果这不是您想要的,您可以增加左侧流动框架相对于主流动框架所占页面宽度的比例,或者将左侧流动框架设置为绝对宽度(例如 4cm 或其他值)并据此计算主流动框架的宽度。

如果文本应该位于更高的位置,请增加小页面后面的 \vfill 命令的数量,调整小页面的位置,或者将小页面前的 vspace 量设置为您想要的任何值。

相关内容