如何调整显示公式的字体大小以自动适应列宽?

如何调整显示公式的字体大小以自动适应列宽?

有没有办法在 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环境的方程。gatheramsmath

但是小字体难以阅读,因此我添加了一个带有换行符的版本:

\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>}。删除gathergathered环境,因为您没有使用它们的任何功能。

以下是代码:

\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}

相关内容