
Я пишу article
сначала, но мне также нужна версия в beamer
формате pdf. Но я обнаружил, что для тех длинных уравнений, которые выглядят нормально в "статье", будут превышать ширину страницы в режиме "beamer".Так есть ли способ избежать этого автоматически?
MWE выглядит следующим образом:
\documentclass[12pt]{beamer} \usepackage{amsmath,amssymb,amsthm}
\begin{document}
\begin{equation}\label{}
\int_C {{\mathbf{F}}\left( {x,y} \right) \cdot d{\mathbf{r}}} = \int_C {\left( {f\left( x \right){\mathbf{i}} + g\left( y \right){\mathbf{j}}} \right) \cdot \left( {dx{\mathbf{i}} + dy{\mathbf{j}}} \right)} = \int_C {f\left( x \right)dx} + \int_C {g\left( y \right)dy}
\end{equation}
\end{document}
дает
После изменения documentclass с article
наbeamer
\documentclass[12pt]{beamer}
\usepackage{amsmath,amssymb,amsthm}
\begin{document}
\begin{equation}\label{}
\int_C {{\mathbf{F}}\left( {x,y} \right) \cdot d{\mathbf{r}}} = \int_C {\left( {f\left( x \right){\mathbf{i}} + g\left( y \right){\mathbf{j}}} \right) \cdot \left( {dx{\mathbf{i}} + dy{\mathbf{j}}} \right)} = \int_C {f\left( x \right)dx} + \int_C {g\left( y \right)dy}
\end{equation}
\end{document}
дает
решение1
Я предлагаю вам сделать следующее:
- Вставьте инструкцию разрыва строки (
\\
) и один дополнительный индикатор точки выравнивания (&
). Таким образом, TeX сможет определить, где разрывать строки и по каким точкам выравнивать строки.
При таком изменении получаем:
Я хотел бы настоятельно рекомендовать вам рассмотреть возможность внесения еще нескольких изменений:
Используйте
\notag
инструкцию в конце первой строки, чтобы скрыть номер уравнения в этой строке.Удалить все
\left
и\right
директивы. Это значительно улучшит интервал вокруг скобок. Плюс, они ничего не "делают" в любом случае, с точки зрения измененияразмерскобок: материал, который они заключают, не высокий и не глубокий, и поэтому размер скобок остается на минимально возможном значении. Если вам действительно нужно изменить размер скобок, используйте\bigl(
и\bigr)
, как это сделано в одном случае в коде ниже.Избавьтесь от всех фигурных скобок, за исключением тех, которые связаны с
\mathbf
директивами. В математическом режиме TeX наличие всех этих фигурных скобок, бегающих вокруг,не безобидный: Заключение некоторого материала в фигурные скобки преобразует его тип в «math-ordinary», исключая любую возможность, которую TeX может иметь для точной настройки интервалов вокруг элементов типа «math-open», «math-close» и т. д.Замените
\cdot
директивы на\,
(thinspace) и вставьте\,
перед «дифференциальными операторами» —d\mathbf{r}
,dx
, иdj
.
\documentclass[12pt]{beamer}
\usepackage{amsmath,amssymb,amsthm}
\begin{document}
\begin{frame}
\begin{align}
\int_C \mathbf{F}( x,y ) \, d\mathbf{r}
&= \int_C \bigl( f( x )\,\mathbf{i} + g( y )\,\mathbf{j} \bigr) \,
( dx\,\mathbf{i} + dy\,\mathbf{j} ) \notag\\
&= \int_C f( x )\,dx + \int_C g( y )\,dy
\label{eq:complex_int}
\end{align}
\end{frame}
\end{document}
решение2
Размер шрифта в article
и beamer
не одинаковый. Если вам действительно нравится однострочное уравнение в bemare, вам нужно использовать шрифты поменьше, например scriptsize
:
\documentclass[12pt]{beamer}
\usepackage{amsmath,amssymb,amsthm}
\begin{document}
My important one-line equation is:
\begin{equation}\label{eq:1}\scriptsize
\int_C {{\mathbf{F}}\left( {x,y} \right) \cdot d{\mathbf{r}}} = \int_C {\left( {f\left( x \right){\mathbf{i}} + g\left( y \right){\mathbf{j}}} \right) \cdot \left( {dx{\mathbf{i}} + dy{\mathbf{j}}} \right)} = \int_C {f\left( x \right)dx} + \int_C {g\left( y \right)dy}
\end{equation}
From (\ref{eq:q}) follows: \dots
\end{document}
На мой взгляд, результат не такой уж и хороший, как в ответе @Mico.