当前位置: 首页 > news >正文

overleaf(latex) 公式过大,需要调小字体,同时公式编号字体不变的方法

提问:用latex编辑的双列排版的论文中,如果一个包含矩阵的公式中,矩阵过大,导致超出列的范围,一般该如何调整呢?

回答:如果你在LaTeX中的双列排版中遇到了一个矩阵过大而导致超出列范围的问题,有几种可能的解决方案:

  1. 调整字体大小:在开始你的数学环境之前,你可以尝试使用 \small, \tiny 或其他命令来调整字体大小。例如,你可以这样写你的公式:

    \begin{equation}
    \tiny
    \begin{bmatrix}
    ...
    \end{bmatrix}
    \end{equation}
    

    注意,使用这种方法可能会导致你的矩阵中的元素难以阅读,尤其是在大矩阵中。

  2. 分割矩阵:如果你的矩阵可以被合理地分割成更小的部分,你也可以考虑这种方法。例如,如果你有一个非常大的对角矩阵,你可以将其分割成多个小的对角矩阵,并使用省略号来表示。

  3. 使用全宽环境:在双列文档中,可以使用全宽的公式环境,如figure*table*等,这些环境会跨越整个页面宽度。请注意,这些环境通常只能出现在页面的顶部或底部,而不能在文本中任意位置。例如:

    \begin{figure*}
    \begin{equation}
    ...
    \end{equation}
    \end{figure*}
    

    注意,在此环境中的公式通常不会直接与它们在文本中的引用位置相邻,而是排在下一页的顶部或底部。

这些只是一些可能的解决方案,具体的解决方案可能会根据你的具体需求和矩阵的具体形式而变化。

追问:我采用了第一个办法,效果很好,但是有一个问题,就是公式编号的字体也同步变小了,我需要让编号的字体不变,该怎么做呢?有没有现有的库解决这个问题呢?

回答:一个更简单的方法是使用 adjustbox 包,它可以让你调整公式的大小,而不影响公式的编号。你可以在你的导言区添加以下语句来使用它:

\usepackage{adjustbox}

然后,你可以在你的 equation 环境中使用 adjustbox 命令,如下所示:

\begin{equation}
\begin{adjustbox}{max width=\linewidth}
$
\begin{bmatrix}
...
\end{bmatrix}
$
\end{adjustbox}
\end{equation}

在这个例子中,adjustbox 将你的矩阵缩放到适合你的 \linewidth 的最大大小。你也可以使用 max height 选项来限制你的矩阵的高度,或者使用 scale 选项来手动设置缩放因子。

这样,你的矩阵的大小将会改变,而你的公式编号的大小将会保持不变。

追问:

\begin{equation}
C_{RB}(\mathcal V) =
\begin{adjustbox}{max width = \linewidth}
\begin{bmatrix} 0_{3\times 3} & -mS(\mathcal V_1)-mS(S(\mathcal V_2)r_g^b) \ -mS(\mathcal V_1)-mS(S(\mathcal V_2)r_g^b) & mS(S(\mathcal V_1)r_g^b - S(I_o \mathcal V_2)) \end{bmatrix}
\end{adjustbox}
{6 \times 6}
\end{equation}
我这么写,为什么会在"\begin{bmatrix} 0
{3\times 3} & -mS(\mathcal V_1)-mS(S(\mathcal V_2)r_g^b) \ -mS(\mathcal V_1)-mS(S(\mathcal V_2)r_g^b) & mS(S(\mathcal V_1)r_g^b - S(I_o \mathcal V_2)) \end{bmatrix}"语句位置报错missing $ inserted呢?

回答:

注意:你在 LaTeX 代码中的 adjustbox 中使用了 bmatrix 环境,该环境是数学模式,它需要放在数学环境中($...$, $$...$$, \[...\]alignequation 等环境)。但是在 adjustbox 环境中,我们不再处于数学模式,因此你需要显式的声明一个数学环境。所以你应该这么做:

\begin{equation}
C_{RB}(\mathcal V) = 
\begin{adjustbox}{max width = \linewidth}
$ \begin{bmatrix} 0_{3\times 3} & -mS(\mathcal V_1)-mS(S(\mathcal V_2)r_g^b) \\ -mS(\mathcal V_1)-mS(S(\mathcal V_2)r_g^b) & mS(S(\mathcal V_1)r_g^b - S(I_o \mathcal V_2)) \end{bmatrix}$
\end{adjustbox}
_{6 \times 6}
\end{equation}

如上,我在 adjustbox 环境内部为 bmatrix 环境添加了一个 $...$ 来声明数学环境。这样应该就可以解决你的问题了。

http://www.lryc.cn/news/100588.html

相关文章:

  • flink采用thrift读取tablets一个天坑
  • Android 面试题 异常捕获 四
  • 自动化测试:让软件测试更高效更愉快!
  • SpringCloud学习—Feign负载均衡
  • 5G时代的APP开发:机遇与挑战
  • Python基础入门教程(上)
  • 【环境配置】Windows下WSL将ubuntu挪位置-系统盘清理
  • 【前端知识】React 基础巩固(三十三)——Redux的使用详解
  • 如何进行SQL优化
  • docker 部署 mysql8.0 无法访问
  • 理解构建LLM驱动的聊天机器人时的向量数据库检索的局限性 - (第1/3部分)
  • IntersectionObserver实现小程序长列表优化
  • Nginx动静分离、资源压缩、负载均衡、黑白名单、防盗链等实战
  • Rust之枚举与模式匹配
  • nfs服务器的描述,搭建和使用
  • libuv库学习笔记-filesystem
  • 记录vue的一些踩坑日记
  • Mybatis学习笔记
  • 网络编程(11):三次握手和四次挥手部分细节(后续补充)
  • MySQL学习笔记 ------ 子查询
  • 自然语言处理应用程序设计
  • LeetCode 436. Find Right Interval【排序,二分;双指针,莫队】中等
  • 正则表达式 —— Sed
  • TypeScript中数组,元组 和 枚举类型
  • MyBatis-Plus-Join 多表查询的扩展
  • 认清现实重新理解游戏的本质
  • LeetCode 2050. Parallel Courses III【记忆化搜索,动态规划,拓扑排序】困难
  • ETHERNET/IP转RS485/RS232网关什么是EtherNet/IP?
  • 使用node内置test runner,和 Jest say 拜拜
  • 《面试1v1》Kafka的架构设计是什么样子