根据下面的双列示例文档,如何将文本和图像放在同一行?我对如何在图像右对齐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
输出以下内容:
我知道我的垂直间距有点不合时宜。但是,根据提供的信息,它可能就足够了。