LaTeX中的框以及框中的子图

您所在的位置:网站首页 流程图中的框怎么设置出来 LaTeX中的框以及框中的子图

LaTeX中的框以及框中的子图

2024-07-08 07:55| 来源: 网络整理| 查看: 265

目录

文章目录 目录框(盒子)\fboxframed包framed环境leftbar环境 mdframed包fcolorbox命令tcolorbox包adjustbox包调整盒子的宽度和高度旋转盒子 框中的子图问题一:框中插入图片问题二:给框中图片加上图名、编号caption包 问题三:框中加入含有子图的图subcaption包

框(盒子)

在LaTeX中,有几个包或命令可以用来生成框。以下是其中一些常用的包和命令:

\fbox

\fbox{内容}命令可以用来创建一个简单的方框,将指定的内容放在框内。但是,不会自动换行,并且如果其中的内容过长,会超出页面边界。因此,除非是很少的文字加框,一般不建议使用。

\setlength{\fboxrule}{3pt} \setlength{\fboxsep}{7pt} \fbox{这是一个简单的fbox框。}

在这里插入图片描述

framed包

这个包提供了更多灵活的框架命令。

framed环境

你可以使用\begin{framed}…\end{framed}环境来创建一个带有标题的框。在framed环境中放置了一段文本。framed环境会自动为其中的内容添加边框,默认情况下边框的样式是实线,宽度是1pt。 你也可以根据需要对framed环境进行定制。以下是一些常用的设置选项: \setlength{\FrameRule}{2pt}:设置边框线的宽度为2pt。 \setlength{\FrameSep}{10pt}:设置边框与其中的内容之间的间距为10pt。 \setlength{\fboxrule}{1pt}:设置边框线的宽度为1pt(适用于\fbox命令)。 \setlength{\fboxsep}{10pt}:设置边框与其中的内容之间的间距为10pt(适用于\fbox命令)。 你可以将这些设置可以放在导言区或者在文档中使用framed环境之前进行设置。

\setlength{\FrameRule}{2pt} % 设置边框线的宽度 \setlength{\FrameSep}{10pt} % 设置边框线与内容之间的间距 \setlength{\leftmargin}{0pt} % 将左边框与左边距对齐 \begin{framed} This is a customized framed text. \end{framed}

在这里插入图片描述

leftbar环境

使用\begin{leftbar}…\end{leftbar}环境来创建一个带有左边栏的框。

\setlength{\FrameRule}{2pt} \setlength{\FrameSep}{10pt} \begin{leftbar} 这是一个简单的leftbar环境创建的“框”。 \end{leftbar}

在这里插入图片描述

mdframed包

这个包提供了高度可定制的框架环境。它支持不同的边框样式、阴影效果、背景色等。你可以使用\begin{mdframed}…\end{mdframed}环境来创建一个框。

\begin{mdframed}[ linecolor=blue, linewidth=2pt, backgroundcolor=yellow, innertopmargin=10pt, innerbottommargin=10pt, leftmargin=20pt, rightmargin=20pt] 这是一个定制的mdframed环境创建的框。 \end{mdframed}

在这里插入图片描述

fcolorbox命令

在color包和xcolor包中都有fcolorbox这个命令。但xcolor更好一些。所以我们只说xcolor包里的fcolorbox命令。fcolorbox的语法是 \fcolorbox{边框颜色}{背景色}{内容} 该命令可以用来创建一个带有自定义边框颜色和背景色的框。 例如:

\fcolorbox{red}{yellow}{This is a colored box.} \linebreak \fcolorbox{red}{gray}{ \parbox{\textwidth}{ This is a colored box with a wider text. } } \linebreak \fcolorbox{red}{yellow}{这是一个简单的fcolorbox框。}

在这里插入图片描述 实际上,虽然fcolorbox能够设置背景颜色,框线颜色等。它可以设置的参数并不多。所以灵活性稍差。

tcolorbox包

这个包提供了非常强大的定制框的功能,支持多种边框样式、背景色、渐变色、阴影效果、圆角等。你可以使用\begin{tcolorbox}...\end{tcolorbox}环境来创建一个高度定制化的框。

\begin{tcolorbox}[colframe=red,colback=yellow] This is a colored box. \end{tcolorbox} \begin{tcolorbox}[colframe=blue,colback=cyan,sharp corners] This is a colored box with a wider text and sharp corners. \end{tcolorbox} \begin{tcolorbox}[title=这是一个框, colback=white, colframe=blue, colbacktitle=yellow, coltitle=black, sharp corners] 这是一段文字,它出现在彩色框内。这个彩色框使用了tcolorbox宏包创建。 \end{tcolorbox}

在这里插入图片描述

adjustbox包

这个包提供了对盒子的调整和定制功能。虽然它主要用于调整盒子的大小和位置,但也可以用于生成框。你可以使用\adjustbox{frame}{内容}命令来创建一个带有边框的框。 adjustbox宏包为LaTeX提供了对盒子和图像进行调整和定制的功能。它提供了一系列选项和命令,可以控制盒子的大小、位置、旋转、裁剪等操作。

下面是一些使用adjustbox宏包的示例,展示了如何进行常见的盒子和图像调整操作:

调整盒子的宽度和高度 \adjustbox{width=5cm,height=3cm}{This is an adjusted box.}

在这里插入图片描述

在上述示例中,我们使用adjustbox宏包的width和height选项来调整盒子的宽度和高度。

旋转盒子 \adjustbox{width=10cm,height=3cm,rotate=45}{This is a rotated box.}

在这里插入图片描述

这个示例中,我们使用adjustbox宏包的rotate选项将盒子旋转了45度。 需要注意的是,这里并没有出现盒子的框线。要想得到一个框线,还需要结合其它宏包进行设置。 这些示例只展示了adjustbox宏包的一小部分功能。你可以根据具体需求,进一步探索和使用adjustbox宏包提供的其他选项和命令。

在这些包中,tcolorbox包是功能最强大的。推荐使用。

框中的子图 问题一:框中插入图片

在很多的盒子中,是不能使用figure环境来插入图片的。因为,figure环境是一个浮动环境,它允许内容在页面中自由地浮动,以便LaTeX可以找到最佳的位置来放置它,例如顶部、底部或特定页面的文本中。这种浮动机制是为了处理大块内容(如图形和表格)的页面布局而设计的。

但是并不是说盒子中就不能插入图片,而是不用figure环境插入,直接插入就行了。 例如:

\documentclass{article} \usepackage{ctex} \usepackage{graphicx} % 引入graphicx包来使用\includegraphics \usepackage{xcolor} % 引入xcolor包来使用\fcolorbox \begin{document} \noindent % 确保fcolorbox不会缩进 \fcolorbox{blue}{gray!30}{% 创建一个边框颜色为蓝色、背景颜色为浅灰色的文本框 \parbox{\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}{% 创建一个parbox来正确处理文本和图片的宽度 这是一段文字,后面会紧跟一张图片。\\ % 文本内容 \centering \includegraphics[width=0.6\linewidth]{a.jpg} % 插入图片,宽度设为\linewidth } } \end{document}

这里a.jpg是一张图片。你要保证你的代码所在的文件夹中有这张图片。这个代码编译后显示: 在这里插入图片描述

问题二:给框中图片加上图名、编号

但是这个图片没有图名。当你尝试在\includegraphics[width=0.6\linewidth]{a.jpg} 的下一行加入图名时,会出现错误。

\caption outside float. ^^I}

大概意思是你这个图名设置没有在figure环境中设置。

解决这个问题的办法就是用caption包。将上面的代码改为:

\documentclass{article} \usepackage{ctex} \usepackage{graphicx} % 引入graphicx包来使用\includegraphics \usepackage{xcolor} % 引入xcolor包来使用\fcolorbox \usepackage{caption}%自定义浮动环境的标题 \begin{document} \noindent % 确保fcolorbox不会缩进 \fcolorbox{blue}{gray!30}{% 创建一个边框颜色为蓝色、背景颜色为浅灰色的文本框 \parbox{\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}{% 创建一个parbox来正确处理文本和图片的宽度 这是一段文字,后面会紧跟一张图片。\\ % 文本内容 \captionsetup{type=figure} \includegraphics[width=0.6\linewidth]{a.jpg} % 插入图片 \caption{示例图片} } } \end{document}

编译后,结果为:

在这里插入图片描述

caption包

LaTeX 中的 caption 宏包提供了广泛的功能来自定义浮动环境的标题(caption)。这个包对于那些需要对图表、算法、子图表等的标题进行格式化以适应其出版需求的用户来说非常有用。

使用 caption 宏包,你可以改变标题的许多方面,包括字体、颜色、大小、对齐方式、间距、分隔符和标签等。此外,这个包还能与其他宏包如 subcaption、float、hyperref 等协同工作,为LaTeX文档添加更多的灵活性和功能。

以下是一些 caption 宏包的主要功能:

自定义格式:可以定义标题的整体布局和风格,比如是否挂起(悬挂)、居中或者采用其他格式。

字体选项:可以指定标题的字体大小(如 small、footnotesize 等),以及是否加粗或斜体等样式。

支持双语标题:可以为图表提供主要语言和辅助语言的双语标题。

细粒度控制:可以对标题宽度进行限制,或者对标题的单行/多行表现形式进行调节。

兼容性和扩展性:caption 宏包旨在与其他宏包和文档类兼容,同时也支持用户定义新的标题类型。

列表定制:可以定制图形目录(List of Figures)和表格目录(List of Tables)中的项。

要使用 caption 包中的功能,需要在文档的导言区(preamble)包含这个包:

\usepackage{caption}

一旦包含了 caption 宏包,就可以使用 \captionsetup 命令进行配置,如:

\captionsetup{options}

在这里,options 是一个键值列表,用于指定你想要的标题格式。

例如,如果你想要所有的表格标题都居中并且字体为小号,你可以写:

\captionsetup[table]{justification=centering, font=small}

这行代码将会影响所有表格的标题,使其居中并且使用小号字体。

问题三:框中加入含有子图的图

问题是子图的命令也需要figure环境中才能实现。所以带来了麻烦,后来我用了subcaption包,放弃了使用subfigure包。代码更改如下:

\documentclass{article} \usepackage{ctex} \usepackage{graphicx} % 引入graphicx包来使用\includegraphics \usepackage{xcolor} % 引入xcolor包来使用\fcolorbox \usepackage{caption}%自定义浮动环境的标题 \usepackage{subcaption}%插入子图 \begin{document} \noindent % 确保fcolorbox不会缩进 \fcolorbox{blue}{gray!30}{% 创建一个边框颜色为蓝色、背景颜色为浅灰色的文本框 \parbox{\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}{% 创建一个parbox来正确处理文本和图片的宽度 这是一段文字,后面会紧跟一张图片。\\ % 文本内容 \captionsetup{type=figure} \begin{center} \begin{minipage}{0.9\linewidth} \centering \captionsetup{type=figure} % 第一个子图 \begin{subfigure}{0.45\linewidth} \centering \includegraphics[width=0.95\linewidth]{a.jpg} \caption{空间域图像} \label{fig:spatial} \end{subfigure}\hfill % 第二个子图 \begin{subfigure}{0.45\linewidth} \centering \includegraphics[width=0.95\linewidth]{b.jpg} \caption{傅里叶变换后的频率域图像} \label{fig:freq} \end{subfigure} % 总标题 \caption{图像的傅里叶变换} \label{fig:pic_fft} \end{minipage} \end{center} } } \end{document}

编译结果:

在这里插入图片描述

subcaption包

在LaTeX中,subcaption 宏包主要用于为浮动环境(如图形和表格)中的子对象提供标题。这个宏包特别适用于当你有多个子图(subfigures)或子表(subtables)在一个浮动环境中,并且希望每个子对象都有自己的标题和可选的子标签。这些子标题可以帮助读者更好地理解每个子对象的内容,并且它们也可以被引用。

subcaption 宏包提供了\subcaption、\subfigure 和 \subtable 等命令,这些命令可以在包含它们的父浮动环境内部使用。每个子对象都可以有其自己的标题和标签,并且它们的列表也可以被包含在总的图形目录或表格目录中。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3