![如何调整显示公式的字体大小以自动适应列宽?](https://linux22.com/image/284974/%E5%A6%82%E4%BD%95%E8%B0%83%E6%95%B4%E6%98%BE%E7%A4%BA%E5%85%AC%E5%BC%8F%E7%9A%84%E5%AD%97%E4%BD%93%E5%A4%A7%E5%B0%8F%E4%BB%A5%E8%87%AA%E5%8A%A8%E9%80%82%E5%BA%94%E5%88%97%E5%AE%BD%EF%BC%9F.png)
有没有办法在 LaTeX 中自动调整字体大小显示的方程式是否适合列宽(241 pt
,此处)?
任何想法,将不胜感激。
您可以在下面看到我的等式;请注意,我使用\fontsize{4pt}{4pt}\selectfont
调整字体大小,但我需要每次都自动调整字体大小。
{\fontsize{4pt}{4pt}\selectfont{\begin{gather}\begin{gathered}{\varphi
}_{ij}^{q}\left(t\right)=2\left[\dfrac{{S}_{a}}{{L}_{a}^{2}}{e}^{-({\Vert
{x}_{j}(t)-{x}_{i}(t)-{\Delta }_{ij}^{q}\Vert
}^{2}/{L}_{a}^{2})}-\dfrac{{S}_{r}}{{L}_{r}^{2}}{e}^{-({\Vert
{x}_{j}(t)-{x}_{i}(t)-{\Delta }_{ij}^{q}\Vert
}^{2}/{L}_{r}^{2})}+\left(\dfrac{{S}_{r}}{{L}_{r}^{2}}+\dfrac{{S}_{r}}{{L}_{a}^{2}}\right){e}^{(-1/{L}_{r}^{2}+1/{L}_{a}^{2})({\Vert
{x}_{j}(t)-{x}_{i}(t)-{\Delta }_{ij}^{q}\Vert
}^{2})}\right].\label{eq6}\end{gathered}\end{gather}}}
答案1
这个adjustbox
包很方便。你可以将内容放入adjustbox
环境中
\begin{adjustbox}{max width=241pt}
contents
\end{adjustbox}
那么如果内容宽度大于 241pt,则只调整其大小,否则不调整。
\documentclass{article}
\usepackage{amsmath}
\usepackage{adjustbox}
\begin{document}
\noindent A\hfill Z
\begin{equation}
\begin{adjustbox}{max width=241pt}
$
\varphi_{ij}^q(t) =
2\left[
\dfrac{S_a}{L_a^2}
e^{ -(\Vert x_j(t) - x_i(t) - \Delta_{ij}^q\Vert^2/L_a^2)}
- \dfrac{S_r}{L_r^2}
e^{ -(\Vert x_j(t) - x_i(t) - \Delta_{ij}^q\Vert^2/L_r^2)}
+ \left( \dfrac{S_r}{L_r^2} + \dfrac{S_r}{L_a^2} \right)
e^{(- 1/L_r^2 + 1/L_a^2)
(\Vert x_j(t) - x_i(t) - \Delta_{ij}^q\Vert^2)}
\right]
\label{eq6}
$
\end{adjustbox}
\end{equation}
\end{document}
答案2
包可以调整方程的大小,尤其是来自包resizegather
环境的方程。gather
amsmath
但是小字体难以阅读,因此我添加了一个带有换行符的版本:
\documentclass{article}
\usepackage{amsmath}
\usepackage{resizegather}
\begin{document}
\noindent A\hfill Z
\begin{gather}
\varphi_{ij}^q(t) =
2\left[
\dfrac{S_a}{L_a^2}
e^{ -(\Vert x_j(t) - x_i(t) - \Delta_{ij}^q\Vert^2/L_a^2)}
- \dfrac{S_r}{L_r^2}
e^{ -(\Vert x_j(t) - x_i(t) - \Delta_{ij}^q\Vert^2/L_r^2)}
+ \left( \dfrac{S_r}{L_r^2} + \dfrac{S_r}{L_a^2} \right)
e^{(- 1/L_r^2 + 1/L_a^2)
(\Vert x_j(t) - x_i(t) - \Delta_{ij}^q\Vert^2)}
\right]
\label{eq6}\\
\begin{aligned}
\varphi_{ij}^q(t) =
2\bigg[&
\dfrac{S_a}{L_a^2}
e^{ -(\Vert x_j(t) - x_i(t) - \Delta_{ij}^q\Vert^2/L_a^2)}
\\&
- \dfrac{S_r}{L_r^2}
e^{ -(\Vert x_j(t) - x_i(t) - \Delta_{ij}^q\Vert^2/L_r^2)}
\\&
+ \left( \dfrac{S_r}{L_r^2} + \dfrac{S_r}{L_a^2} \right)
e^{(- 1/L_r^2 + 1/L_a^2)
(\Vert x_j(t) - x_i(t) - \Delta_{ij}^q\Vert^2)}
\bigg]
\label{eq7}
\end{aligned}
\end{gather}
\end{document}
\setlength{\textwidth}{241pt}
在如此狭窄的柱子上resizegather
必须扩大两个都方程式如下:
Package resizegather Warning: Equation line 1 is too large by 267.77846pt
(resizegather) in environment `gather' on input line 35.
Package resizegather Warning: Equation line 2 is too large by 20.76895pt
(resizegather) in environment `gather' on input line 35.
因此我将第二个等式中的第二行和第三行稍微向左移动:
\documentclass{article}
\usepackage{amsmath}
\usepackage{resizegather}
\setlength{\textwidth}{241pt}
\begin{document}
\noindent A\hfill Z
\begin{gather}
\varphi_{ij}^q(t) =
2\left[
\dfrac{S_a}{L_a^2}
e^{ -(\Vert x_j(t) - x_i(t) - \Delta_{ij}^q\Vert^2/L_a^2)}
- \dfrac{S_r}{L_r^2}
e^{ -(\Vert x_j(t) - x_i(t) - \Delta_{ij}^q\Vert^2/L_r^2)}
+ \left( \dfrac{S_r}{L_r^2} + \dfrac{S_r}{L_a^2} \right)
e^{(- 1/L_r^2 + 1/L_a^2)
(\Vert x_j(t) - x_i(t) - \Delta_{ij}^q\Vert^2)}
\right]
\label{eq6}\\
\begin{split}
\varphi_{ij}^q(t) &=
2\bigg[
\dfrac{S_a}{L_a^2}
e^{ -(\Vert x_j(t) - x_i(t) - \Delta_{ij}^q\Vert^2/L_a^2)}
\\&
- \dfrac{S_r}{L_r^2}
e^{ -(\Vert x_j(t) - x_i(t) - \Delta_{ij}^q\Vert^2/L_r^2)}
\\&
+ \left( \dfrac{S_r}{L_r^2} + \dfrac{S_r}{L_a^2} \right)
e^{(- 1/L_r^2 + 1/L_a^2)
(\Vert x_j(t) - x_i(t) - \Delta_{ij}^q\Vert^2)}
\bigg]
\label{eq7}
\end{split}
\end{gather}
\end{document}
答案3
扩展我的评论:您需要使用\resizebox{241pt}{!}{<content>}
。删除gather
和gathered
环境,因为您没有使用它们的任何功能。
以下是代码:
\documentclass{article}
\usepackage{graphicx}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\resizebox{241pt}{!}{%
${\varphi}_{ij}^{q}\left(t\right)=2\left[%
\dfrac{{S}_{a}}{{L}_{a}^{2}}{e}^{-({\Vert{x}_{j}(t)-{x}_{i}(t)-{\Delta }_{ij}^{q}\Vert}^{2}/{L}_{a}^{2})} - %
\dfrac{{S}_{r}}{{L}_{r}^{2}}{e}^{-({\Vert{x}_{j}(t)-{x}_{i}(t)-{\Delta }_{ij}^{q}\Vert}^{2}/{L}_{r}^{2})} + %
\left(\dfrac{{S}_{r}}{{L}_{r}^{2}}+\dfrac{{S}_{r}}{{L}_{a}^{2}}\right){e}^{(-1/{L}_{r}^{2}+1/{L}_{a}^{2})%
({\Vert{x}_{j}(t)-{x}_{i}(t)-{\Delta }_{ij}^{q}\Vert}^{2})}%
\right]$.%
\label{eq6}%
}
\end{equation}
\centering
\rule{241pt}{0.5pt} % just to show width
The above rule is 241\,pt wide and is the same width as Eq.~\ref{eq6}.
\end{document}
输出结果如下:
答案4
首先:无论你做什么,都不要使用大号字体4pt
,甚至更小的字体。这样做几乎肯定会让任何人都无法辨认这些小字符,更不用说理解你想说什么了。
你的等式可能会被自动打破breqn
你的等式可以用这个包如果文本块稍微宽了一点。但是,考虑到您的文本块相当窄(241pt 宽,对吧?),我认为您需要提供自己的换行说明,以便有机会生成具有印刷吸引力的方程式。下面的代码使用split
环境内的环境equation
来执行此操作。它还定义了一个名为的宏\norm
来简化部分代码。
\documentclass{article}
\setlength{\textwidth}{241pt}
\usepackage{mathtools,lmodern}
\DeclarePairedDelimiter{\norm}{\lVert}{\rVert}
\begin{document}\pagestyle{empty}
\begin{equation}\begin{split}
\varphi_{ij}^{q}(t)=
2\biggl[&\frac{S_a}{L_a^2}
e^{[-(1/L_a^2)\norm{x_j(t)-x_i(t)-\Delta_{ij}^{q}}^2]}\\
-&\frac{S_r}{L_r^2}
e^{[-(1/L_r^2)\norm{x_j(t)-x_i(t)-\Delta_{ij}^{q}}^2]}\\
+\biggl(&\frac{S_r}{L_r^2}+\frac{S_r}{L_a^2}\biggr)
e^{[(-1/L_r^2+1/L_a^2)
\norm{x_j(t)-x_i(t)-\Delta_{ij}^{q}}^2]}
\biggr].
\end{split}\end{equation}
\hrule % just to illustrate width of text block
\end{document}