数学建模之LaTex-图片问题

时间:2024-11-21 08:43:47

数学建模之LaTex

jpg/png格式图片转eps格式的方法总结

方法一:软件另存为

这是非常简单的一种方法。使用photoshop/gimp等软件打开jpg/png格式图片,然后另存为eps格式。一般情况下,可以保证eps图像的清晰度。

方法二:latex自带命令bmeps

因为对eps格式的需求一般是从latex产生的,所以你应该已经装了了latex。这种方法就是利用latex已经提供的工具 bmeps,不需要你额外下载或安装任何软件。具体步骤如下:

  1. 从Winedt中打开命令行窗口,按钮在latex信息输出窗口的上面,如下图。
    这里写图片描述
  2. 进入需要转化图片的目录
  3. 使用命令 bmeps转换
    使用前,建议你使用 bmeps -h 命令查看bmeps的帮助信息
    注意其中的 -c 参数,默认 -g 是进行无彩色转换,所以如果你想要转换成彩色的,需要使用该选项。
    其中的-t 参数是用来指定输入文件的类型,也可以不设置,程序会根据输入文件后缀自动识别。
    具体命令如下:
bmeps -c example.jpg example.eps
  • 1

使用这种方法转换得到的eps分辨率较高,推荐采用该方法。
这里写图片描述

方法四:在线转换

该网站提供在线的png2eps的转换:/rast2vec/
只要上传你的png图片就可以了。

方法五:小工具转换

有热心网友专门开房了jpg和其他文件格式到eps转换的小工具,可以完成jpg到eps的转换。使用很简单,这里不多做介绍。
点击这里获取

排版:图片宽度大于 textwidth解决

比较简单的解决方法就是使用Latex的box功能中的\makebox命令,\makebox的语法为:

\makebox[width][position]{text}
1. width: 设定盒子中放置内容的宽度
2. position:设定内容在盒子中的排列方式,默认参数为c(居中对齐),还可以是使用参数l(左对齐)、r(右对齐)、s(两端对齐)
3. text:所要放置在盒子中的内容,可以是文本,也可以是图片.

效果示例:

这里的framebox效果和makebox效果一样,只是多了个边框。

\framebox[5cm][c]{This is a makebox test}
\framebox[5cm][l]{This is a makebox test}
\framebox[5cm][r]{This is a makebox test}
\framebox[5cm][s]{This is a makebox test}


\framebox[2cm][c]{This is a makebox test}
\framebox[2cm][l]{This is a makebox test}
\framebox[2cm][r]{This is a makebox test}
\framebox[2cm][s]{This is a makebox test}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

这里写图片描述

虽然说width参数可以用来设置盒子的宽度,但是如果要放入盒子中的内容text的宽度超过了width设置的宽度,position参数所起到的效果将是不一样的。

如上图所示,左边的Latex命令依次产生右边的排版效果,我们看到,当textwidth的宽度大于text宽度时,position的排版以盒子宽度为参考,但是当textwidth的宽度小于text的宽度时,如果文本很长,右对齐或者居中时会超出纸的宽度而溢出,两端对齐则几乎不起作用。

产生并排图片

makebox中的内容无论多长都只放在一行,而不会换行。如果需要换行设置,则需要使用minipage和parbox命令。这里主要讲图片并排设置,关键就是让图形不要自动换行,makebox可以把每张图形当作这一行的一个元素来处理。具体命令如下:

\begin{figure}[H]
  \centering
  \noindent\makebox[\textwidth][c] {
    \includegraphics[width=0.45\paperwidth]{}
    \includegraphics[width=0.45\paperwidth]{} 
    }

  \noindent\makebox[\textwidth][c] {
    \includegraphics[width=0.45\paperwidth]{}
    \includegraphics[width=0.45\paperwidth]{} 
    }
\end{figure}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

这里写图片描述

上面的命令可以放置两行两列图片,每行的图片总宽度为所用纸张宽度的0.9倍。这样子的话,只要设置的图片总宽度不要超过纸的宽度paperwidth,就可以并排放置自己想要的图片数目了。

实现底部标题

\begin{figure}[H]
  \centering
  \noindent\makebox[\textwidth][c] {
    \includegraphics[width=0.45\paperwidth]{} 
    % \caption{关系图}
    \includegraphics[width=0.45\paperwidth]{}
    }
    \caption{关系图}
  \noindent\makebox[\textwidth][c] {
    \includegraphics[width=0.45\paperwidth]{}
    \includegraphics[width=0.45\paperwidth]{} 
    }
    \caption{关系图}
\end{figure}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

这里写图片描述