使用 LaTeX 中的屏幕截图格式化教程

使用 LaTeX 中的屏幕截图格式化教程

我想用 LaTeX 格式化分步教程,使每个步骤显示一张屏幕截图和该步骤的一小段文本。我可以想到一种格式,在每个步骤中,屏幕截图位于左侧,文本位于右侧。但是,如果我使用\includegraphics图像,则会在文档中动态定位。

我怎样才能实现这种格式?

答案1

绝对没有必要将\includegraphics命令放置在figure环境内。

如果文本没有溢出图形的高度,则可以使用一种简单的方法:

\documentclass[a4paper]{article}
\usepackage[demo]{graphicx}
\usepackage{adjustbox}
\usepackage{lipsum}

\newenvironment{explanation}[2][]
  {\begin{flushleft}
   \adjustbox{center=6cm,valign=t}{\includegraphics[width=5cm,#1]{#2}}%
   \begin{minipage}[t]{\dimexpr\textwidth-6cm\relax}}
  {\end{minipage}\end{flushleft}}

\begin{document}
\lipsum[2]

\begin{explanation}{screenshot1}
This is the text that accompanies the first screen shot
and explains it.
\end{explanation}

\lipsum[2]
\end{document}

注意demo图形只是为了避免有真正的图形文件。这里我为屏幕截图提供了 6 厘米的空间,排版为 5 厘米宽,以便给它一些空间。可能会有变化,请参阅调整框

如果需要标题,可以使用captioncaptionof包并使用类似

\newenvironment{explanation}[2][]
  {\noindent\begin{minipage}{\textwidth}\vspace{\topsep}
   \adjustbox{center=6cm,valign=t}{\includegraphics[width=5cm,#1]{#2}}%
   \begin{minipage}[t]{\dimexpr\textwidth-6cm\relax}}
  {\end{minipage}
   \par
   \if\relax\detokenize\expandafter{\expcaptiontext}\relax\else
     \captionof{figure}{\expcaptiontext}
   \fi
   \gdef\expcaptiontext{}%
   \vspace{\topsep}
   \end{minipage}}
\newcommand{\expcaption}[1]{\gdef\expcaptiontext{#1}}

\begin{explanation}{screenshot1}
This is the text that accompanies the first screen shot
and explains it.

\expcaption{This is the caption}
\end{explanation}

如果文本超出屏幕截图几行,则包裹图应该考虑这个包。

答案2

正如@egreg所建议的,这里有一个例子wrapfigure

\documentclass[12pt,a4paper]{article}

\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{wrapfig}

\begin{document}

\lipsum[1]

\begin{wrapfigure}{l}{7cm}
\includegraphics[width=6cm]{<image file>}
\end{wrapfigure}

\lipsum[2]

\end{document}

将环绕图形的段落放置在这个图形本身。

值得一看的是文档的 wrapfig 包,因为它的行为与常规浮点略有不同。关于在页面上放置图形所需的参数,这里只简短引用一下:

参数 #2(必需)是图形放置代码,但有效代码与常规图形不同。它们成对出现:大写版本允许图形浮动,小写版本将图形“精确地放置在此处”。

r R – 文本的右侧

l L – 文本左侧

i I – 内侧边缘 – 靠近装订处(如果是 [twoside] 文档)

o O – 外边缘 – 远离装订线

相关内容