将文本和图像对齐在同一行吗?

将文本和图像对齐在同一行吗?

根据下面的双列示例文档,如何将文本和图像放在同一行?我对如何在图像右对齐Some text here处插入文本感兴趣。more text here

例子:

|     #TEXT######################### |     #TEXT######################### |
| ################################## | ################################## |
| ################################## | ################################## |
| ################################## | ################################## |
| ################################## | ################################## |
| #################                  | ################################## |
|                                    |                                    |
|                      ************* | ################################## |
|   Some text here     ************* | ################################## |
|                      ************* | ################################## |
|                      **IMAGE.JPG** | ################################## |
|   more text here     ************* |                                    |
|                      ************* | ################################## |
|                      ************* | ################################## |
|                      ************* | ################################## |
|                                    |                                    |
|     #TEXT######################### | ################################## |
| ################################## | ################################## |
| ################################## | ################################## |
| ################################## | ################################## |
| ################################## | ################################## |
| #################                  | ################################## |

答案1

既然您提到需要精确定位文本,我可以建议使用 TikZ 吗?下面是一个例子,它使用一个节点作为图像,并使用库放置两个节点,positioning使它们与图像的水平间隙为 5 毫米,其垂直中心位于图像顶部下方 5 毫米和 23 毫米处:

在此处输入图片描述

图片取自维基百科

\documentclass[twocolumn]{article}
\usepackage{tikz,lipsum}
\usetikzlibrary{positioning}
\begin{document}

\lipsum[1]

{
\raggedleft
\begin{tikzpicture}
\node (bottle) {\includegraphics{normflasche}};
\node [left=0.5cm of bottle.north west, yshift=-5mm] {Cap};
\node [left=0.5cm of bottle.north west, yshift=-23mm] {Pearls};
\end{tikzpicture}

}

\lipsum[2-6]
\end{document}

答案2

开发阶段

在此处输入图片描述

生产阶段

在此处输入图片描述

源代码

\documentclass[twocolumn]{article}
\usepackage{graphicx,lipsum,pst-node}

\begin{document}

\lipsum[1]

\noindent
\begin{center}
{
\endlinechar=-1\relax

\newsavebox\IBox
\savebox\IBox{\includegraphics[width=0.5\linewidth]{hen.jpg}}

\newdimen\WIDTH\WIDTH=\linewidth
\newdimen\HEIGHT\HEIGHT=1\ht\IBox

\psset
{
    xunit=0.1\WIDTH,
    yunit=0.1\HEIGHT,
    nodesep=5pt,
    style=gridstyle
}



\pspicture(\WIDTH,\HEIGHT)

% put figure 
\rput[bl]
    (
        \dimexpr\WIDTH-\wd\IBox\relax,
        \dimexpr\HEIGHT-\ht\IBox\relax
    ){\usebox\IBox}

% add an annotation to mouth
\pnode(0.6\WIDTH,0.8\HEIGHT){a}

\rput[rt](0.4\WIDTH,0.8\HEIGHT)
    {
        \rnode[r]{A}{Mouth}
    }
\ncline[linecolor=blue]{->}{A}{a}

% add an annotation to feet
\pnode(0.7\WIDTH,0.1\HEIGHT){b}

\rput[rt](0.4\WIDTH,0.5\HEIGHT)
    {
        \rnode[r]{B}{Feet}
    }
\ncline[linecolor=blue]{->}{B}{b}

% turn of this grid in the production phase!
%\psgrid
\endpspicture
}
\end{center}

\lipsum[2-4]
\end{document}

答案3

wrapfigure有多种方法可以做到这一点,具体取决于您的排版偏好和最终目标(个人使用,或者可能是出版物提交)。除了使用wrapfigure包裹,你可以使用以下minipage环境:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{graphicx,lipsum}
\begin{document}
\lipsum[1]

\newlength{\oldparindent} \setlength{\oldparindent}{\parindent}% Save \parindent
\setbox0=\hbox{\includegraphics[width=0.35\textwidth]{tiger}}% Original image
\noindent\begin{minipage}[t]{0.6\textwidth}
  \hskip\oldparindent\lipsum[2]% Text to the left of image
\end{minipage}\hfill
\begin{minipage}[t]{0.35\textwidth}
  \raisebox{-\ht0}{\usebox0}% Insert image
\end{minipage} \\
\lipsum[3]
\end{document}

tabularx您还可以尝试使用环境(特别是列类型)进行布局X,来自tabularx包裹方式如下:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{graphicx,lipsum,tabularx}
\begin{document}
\lipsum[1]

\smallskip

\newlength{\oldparindent} \setlength{\oldparindent}{\parindent}
\setbox0=\hbox{\includegraphics[width=0.35\textwidth]{tiger}}
\noindent\begin{tabularx}{\textwidth}{@{}Xc@{}}
  \hskip\oldparindent\lipsum[2] & \raisebox{-\ht0}{\usebox0}%
\end{tabularx}

\vspace{-2ex}

\lipsum[3]
\end{document}

使用小页面并排显示文本和图像

如果文档使用该twocolumn选项,则使用\linewidth而不是\textwidth例如tabularx输出以下内容:

在双列文档中使用 tabularx 并排显示文本和图像

我知道我的垂直间距有点不合时宜。但是,根据提供的信息,它可能就足够了。

相关内容