找回密码
 立即注册
首页 业界区 科技 $\LaTeX{}$之图片使用

$\LaTeX{}$之图片使用

即息极 10 小时前
本文介绍了在 \(\LaTeX{}\) 中插入图片的基本语法和一些常用的技巧,并且给出了一些在排版中常用的模板样例。
基本语法

\(\LaTeX{}\) 本身不支持插图功能,需要由 graphicx 宏包辅助支持。
使用 \(\textrm{latex + dvipdfmx}\) 编译命令时,调用 graphicx 宏包时要指定 \(\textrm{dvipdfmx}\) 选项;而使用 \(\textrm{pdflatex}\) 或 \(\textrm{xelatex}\) 命令编译时不需要。
不同编译命令支持的图片格式种类各异,见下表。这个表格也能解答诸如“为什么 \(\textrm{.eps}\) 格式图片在 \(\textrm{pdflatex}\) 编译命令下出错”之类的问题。本表格也再一次说明,使用 \(\textrm{xelatex}\) 命令是最推荐的方式。
1.png
在调用了 graphicx 宏包以后,就可以使用 \includegraphics 命令加载图片了:
  1. \includegraphics[⟨options⟩]{⟨filename⟩}
复制代码
其中  为图片文件名,文件名可能需要用相对路径或绝对路径表示。图片文件的扩展名一般可不写。另外一定要注意,文件名里既不要有空格也不要有多余的英文点号,否则宏包在解析文件名的过程中会出错。
另外 graphicx 宏包还提供了 graphicspath 命令,用于声明一个或多个图片文件存放的目录,使用这些目录里的图片时可不用写路径:
  1. % 假设主要的图片放在 figures 子目录下,标志放在 logo 子目录下
  2. \graphicspath{{figures/}{logo/}}
复制代码
在 \includegraphics 命令的可选参数 中可以使用  =  的形式,常用的参数如下:
2.png
graphicx 宏包也支持 \(\textrm{draft}\)/\(\textrm{final}\) 选项。当 graphicx 宏包或文档类指定 \(\textrm{draft}\) 选项时,图片将不会被实际插入,取而代之的是一个包含文件名的与原图片等大的方框。(加快编译过程)
并排和子图表

时常有在一个浮动体里面放置多张图的用法。最简单的用法就是直接并排放置,也可以通过分段或者换行命令 \\ 排版多行多列的图片。以下为示意代码,效果大致如图所示。
  1. \begin{figure}[htbp]
  2.   \centering
  3.   \includegraphics[width=...]{...}
  4.   \qquad
  5.   \includegraphics[width=...]{...} \\[...pt]
  6.   \includegraphics[width=...]{...}
  7.   \caption{...}
  8. \end{figure}
复制代码
3.png
由于标题是横跨一行的,用 \caption 命令为每个图片单独生成标题就需要借助前文提到的 parbox 或者 \(\textrm{minipage}\) 环境,将标题限制在盒子内。效果见图所示。
  1. \begin{figure}[htbp]
  2.   \centering
  3.   \begin{minipage}{...}
  4.     \centering
  5.     \includegraphics[width=...]{...}
  6.     \caption{...}
  7.   \end{minipage}
  8.   \qquad
  9.   \begin{minipage}{...}
  10.     \centering
  11.     \includegraphics[width=...]{...}
  12.     \caption{...}
  13.   \end{minipage}
  14. \end{figure}
复制代码
4.png
当需要更进一步,给每个图片定义小标题时,就要用到 subcaption 宏包的功能了。这里仅举一例,效果见图。更详细的用法请参考 subcaption 宏包的帮助文档。
  1. \begin{figure}[htbp]
  2.   \centering
  3.   \begin{subfigure}{...}
  4.     \centering
  5.     \includegraphics[width=...]{...}
  6.     \caption{...}
  7.   \end{subfigure}
  8.   \qquad
  9.   \begin{subfigure}{...}
  10.     \centering
  11.     \includegraphics[width=...]{...}
  12.     \caption{...}
  13.   \end{subfigure}
  14. \end{figure}
复制代码
5.png
subcaption 依赖上文提到过的 caption 宏包,因此也支持子图表标题样式的定制。并排子图表的功能也可通过 subfig 宏包的 subfloat 命令实现,具体请参考宏包文档。
示例模板

并排子图
  1. % \usepackage{graphicx}
  2. % \usepackage{subcaption}
  3. % \usepackage{float}
  4. \begin{figure}[H]
  5.     \centering
  6.     % 第一行:2个子图
  7.     \begin{subfigure}[b]{0.48\textwidth}
  8.         \includegraphics[width=\linewidth]{tree}
  9.         \caption{子图1}
  10.     \end{subfigure}
  11.     \hfill % 填充水平间距
  12.     \begin{subfigure}[b]{0.48\textwidth}
  13.         \includegraphics[width=\linewidth]{tree}
  14.         \caption{子图2}
  15.     \end{subfigure}
  16.     % 第二行:2个子图
  17.     \begin{subfigure}[b]{0.48\textwidth}
  18.         \includegraphics[width=\linewidth]{tree}
  19.         \caption{子图3}
  20.     \end{subfigure}
  21.     \hfill
  22.     \begin{subfigure}[b]{0.48\textwidth}
  23.         \includegraphics[width=\linewidth]{tree}
  24.         \caption{子图4}
  25.     \end{subfigure}
  26.     % 第三行:单独居中的子图
  27.     % \vspace{0.5cm} % 调整垂直间距
  28.     \centering
  29.     \begin{subfigure}[c]{0.48\textwidth}
  30.         \includegraphics[width=\linewidth]{tree}
  31.         \caption{子图5}
  32.     \end{subfigure}
  33.     \caption{整体标题}
  34.     \label{fig:my_figure}
  35. \end{figure}
复制代码
6.png
上一下二
  1. % \usepackage{graphicx}
  2. % \usepackage{subcaption}
  3. % \usepackage{float}
  4. \begin{figure}[H]
  5.     \centering
  6.         \begin{subfigure}[b]{0.8\textwidth}
  7.     \includegraphics[width=\linewidth]{tree}
  8.     \caption{Diagram.}\label{fig:1a}
  9.     \end{subfigure}
  10.     %\vspace{0.5cm} % 调整垂直间距
  11.     \begin{subfigure}[b]{0.48\textwidth}
  12.     \includegraphics[width=\linewidth]{tree}
  13.     \caption{Grid.}\label{fig:1b}
  14.     \end{subfigure}
  15.     \hfill
  16.     \begin{subfigure}[b]{0.48\textwidth}
  17.     \includegraphics[width=\linewidth]{tree}
  18.     \caption{Arrangement.}\label{fig:1c}
  19.     \end{subfigure}
  20.     \caption{Structural.}
  21.     \label{fig:1}
  22. \end{figure}
复制代码
7.png
边注旋转加图片
  1. % \usepackage{graphicx}
  2. % \usepackage{subcaption}
  3. % \usepackage{float}
  4. \begin{figure}[H]
  5.                 \centering
  6.                 % 三行四列子图布局
  7.                 \begin{tabular}{rcccc}
  8.                         % 第一行
  9.                         \rotatebox{90}{10dB} &
  10.                         \begin{subfigure}[c]{0.23\textwidth}
  11.                                 \centering
  12.                                 \includegraphics[width=\linewidth]{tree} % 替换为你的图片
  13.                                 %\caption{子图1}
  14.                                 \label{fig:sub1}
  15.                         \end{subfigure} &
  16.                         \begin{subfigure}[c]{0.23\textwidth}
  17.                                 \centering
  18.                                 \includegraphics[width=\linewidth]{tree}
  19.                                 %\caption{子图2}
  20.                                 \label{fig:sub2}
  21.                         \end{subfigure} &
  22.                         \begin{subfigure}[c]{0.23\textwidth}
  23.                                 \centering
  24.                                 \includegraphics[width=\linewidth]{tree}
  25.                                 %\caption{子图3}
  26.                                 \label{fig:sub3}
  27.                         \end{subfigure} &
  28.                         \begin{subfigure}[c]{0.23\textwidth}
  29.                                 \centering
  30.                                 \includegraphics[width=\linewidth]{tree}
  31.                                 %\caption{子图4}
  32.                                 \label{fig:sub4}
  33.                         \end{subfigure} \\
  34.                        
  35.                         % 第二行
  36.                         \rotatebox{90}{10dB} &
  37.                         \begin{subfigure}[c]{0.23\textwidth}
  38.                                 \centering
  39.                                 \includegraphics[width=\linewidth]{tree}
  40.                                 %\caption{子图5}
  41.                                 \label{fig:sub5}
  42.                         \end{subfigure} &
  43.                         \begin{subfigure}[c]{0.23\textwidth}
  44.                                 \centering
  45.                                 \includegraphics[width=\linewidth]{tree}
  46.                                 %\caption{子图6}
  47.                                 \label{fig:sub6}
  48.                         \end{subfigure} &
  49.                         \begin{subfigure}[c]{0.23\textwidth}
  50.                                 \centering
  51.                                 \includegraphics[width=\linewidth]{tree}
  52.                                 %\caption{子图7}
  53.                                 \label{fig:sub7}
  54.                         \end{subfigure} &
  55.                         \begin{subfigure}[c]{0.23\textwidth}
  56.                                 \centering
  57.                                 \includegraphics[width=\linewidth]{tree}
  58.                                 %\caption{子图8}
  59.                                 \label{fig:sub8}
  60.                         \end{subfigure} \\
  61.                        
  62.                         % 第三行
  63.                         \rotatebox{90}{10dB} &
  64.                         \begin{subfigure}[c]{0.23\textwidth}
  65.                                 \centering
  66.                                 \includegraphics[width=\linewidth]{tree}
  67.                                 \caption{a}
  68.                                 \label{fig:sub9}
  69.                         \end{subfigure} &
  70.                         \begin{subfigure}[c]{0.23\textwidth}
  71.                                 \centering
  72.                                 \includegraphics[width=\linewidth]{tree}
  73.                                 \caption{b}
  74.                                 \label{fig:sub10}
  75.                         \end{subfigure} &
  76.                         \begin{subfigure}[c]{0.23\textwidth}
  77.                                 \centering
  78.                                 \includegraphics[width=\linewidth]{tree}
  79.                                 \caption{c}
  80.                                 \label{fig:sub11}
  81.                         \end{subfigure} &
  82.                         \begin{subfigure}[c]{0.23\textwidth}
  83.                                 \centering
  84.                                 \includegraphics[width=\linewidth]{tree}
  85.                                 \caption{d}
  86.                                 \label{fig:sub12}
  87.                         \end{subfigure}
  88.                 \end{tabular}
  89.                 \caption{边注旋转加图片}
  90.                 \label{fig:grid}
  91. \end{figure}
复制代码
8.png

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册