First version
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,366 @@
|
||||
%% Examples of a widetext macro for setting wide equations in the asmejour class.
|
||||
%%
|
||||
%% Copyright (c) 2025 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit
|
||||
%%
|
||||
%%
|
||||
%% USAGE: * \begin{widetext} ...wide material here... \end{widetext}
|
||||
%% OPTIONAL ARGUMENTS:
|
||||
%% * \begin{widetext[N] .. changes upper/lower separation of wide material from default 10pt to Npt
|
||||
%% * \begin{widetext}[][tbn]: t = top line only; b = bottom line only; n = no lines. BOTH arguments are REQUIRED, even if first is left empty.
|
||||
%%
|
||||
%% The widetext environment can only appear once per page. It clashes with floats and footnotes, as discussed herein.
|
||||
%%
|
||||
%% NB: the strip environment from cuted is incompatible with the [lineno] option to asmejour!
|
||||
%%
|
||||
\DocumentMetadata{%
|
||||
pdfstandard=A-3u,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
|
||||
pdfversion=1.7,
|
||||
lang=en-US,
|
||||
}
|
||||
|
||||
\documentclass[nocopyright,nolists]{asmejour}
|
||||
|
||||
%% This file's version and date are:
|
||||
\def\AJwidetextversion{1.04}
|
||||
\def\AJverdate{April 5, 2025}
|
||||
%
|
||||
\usepackage{asmewide}
|
||||
\usepackage{lipsum}% Latin filler text (lipsum generates a message about 'unused global options' - this can be ignored)
|
||||
%
|
||||
%%%% asmejour template inputs %%%%
|
||||
\JourName{Applied Mechanics}
|
||||
\date{Version~\AJwidetextversion. Revised \AJverdate}
|
||||
%
|
||||
\makeatletter
|
||||
\definecolor{JAMBlue}{rgb}{0.090, 0.574, 0.637} % 23, 147, 163 - similar to JAM masthead color
|
||||
\renewcommand\asmejour@barcolor{JAMBlue!80!white}
|
||||
\makeatother
|
||||
%
|
||||
%%%%
|
||||
%
|
||||
\begin{filecontents}{asme-wide-equations.bib}
|
||||
@online{lienhard2021,
|
||||
author = {Lienhard, V, John H.},
|
||||
title = {Preprint Template for {ASME} Journal Papers: \texttt{asmejour.cls}},
|
||||
organization = {Comprehensive \TeX\ Archive Network},
|
||||
version = {{\versionno}},
|
||||
year = {2021},
|
||||
url = {https://ctan.org/pkg/asmejour},
|
||||
urldate = {{\today}},
|
||||
}
|
||||
@online{tolucsis1,
|
||||
author = {Sigitas Tolu\v{s}is},
|
||||
year = {2021},
|
||||
title = {The \texttt{cuted} package},
|
||||
version = {2.0},
|
||||
organization = {Comprehensive \TeX\ Archive Network},
|
||||
url = {https://ctan.org/pkg/cuted},
|
||||
urldate = {Dec. 30, 2021},
|
||||
}
|
||||
@online{tolucsis2,
|
||||
author = {Sigitas Tolu\v{s}is},
|
||||
year = {2021},
|
||||
title = {The \texttt{sttools} collection},
|
||||
version = {3.0},
|
||||
organization = {Comprehensive \TeX\ Archive Network},
|
||||
url = {https://ctan.org/pkg/sttools},
|
||||
urldate = {Dec. 30, 2021},
|
||||
}
|
||||
@book{stakgold,
|
||||
author = {Ivar Stakgold},
|
||||
title = {Boundary Value Problems of Mathematical Physics},
|
||||
year = {1967},
|
||||
publisher = {Macmillan},
|
||||
address = {New York},
|
||||
}
|
||||
\end{filecontents}
|
||||
%
|
||||
\hypersetup{%
|
||||
pdfauthor={John H. Lienhard},
|
||||
pdftitle={Wide Equations in asmejour.cls},
|
||||
pdfkeywords={ASME journal paper, LaTeX template, wide equations, widetext},
|
||||
pdfsubject = {Examples of setting wide equations in the asmejour LaTeX template},
|
||||
pdfurl={https://ctan.org/pkg/asmejour},
|
||||
pdflicenseurl={https://ctan.org/pkg/asmejour},
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{document}
|
||||
|
||||
\PreprintString{PREPRINT}
|
||||
|
||||
\SetAuthorBlock{John H.\ Lienhard V}{%
|
||||
Fellow of ASME \\
|
||||
Rohsenow Kendall Heat Transfer Laboratory, \\
|
||||
Department of Mechanical Engineering,\\
|
||||
Massachusetts Institute of Technology, \\
|
||||
Cambridge, MA 02139 USA \\
|
||||
email: lienhard@mit.edu
|
||||
}
|
||||
|
||||
\title{Wide Equations in asmejour.cls}
|
||||
\keywords{ASME journal, paper, {\upshape\LaTeX} template, wide equations, asmejour}
|
||||
|
||||
\begin{abstract}
|
||||
This paper gives several examples of typesetting very wide equations with {\upshape\LaTeX} in the {\upshape\texttt{asmejour}} class~{\upshape\cite{lienhard2021}} using
|
||||
{\upshape\texttt{asmewide.sty}}. The style defines is a version of the {\upshape\texttt{widetext}} enviroment built on the 2021 release of
|
||||
{\upshape\texttt{cuted.sty}}~{\upshape\cite{tolucsis1}} from the
|
||||
{\upshape\texttt{sttools}} bundle~{\upshape\cite{tolucsis2}}, which is available from CTAN, \href{http://ctan.org}{ctan.org}.
|
||||
Significant hand-fitting around page breaks, floats, and footnotes is required to obtain good results. \textcolor{red}{Only the text
|
||||
in \textbf{red} in this document meant to be read---the rest is simply filler to aid in layout.}
|
||||
\end{abstract}
|
||||
|
||||
\maketitle
|
||||
|
||||
\section{Introduction}
|
||||
\lipsum[1-3]
|
||||
\section{Section}
|
||||
\lipsum[4]
|
||||
|
||||
%%%%%%%%%%%%%%%%% begin two column figure %%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{figure*}[t]
|
||||
\begin{subfigure}[c]{0.495\textwidth}
|
||||
\centering{\includegraphics{zonal-harmonic2.pdf}}%
|
||||
\subcaption{\label{fig:zonal}}
|
||||
\end{subfigure}
|
||||
%%%%%%%% don't leave a break here
|
||||
\begin{subfigure}[c]{0.495\textwidth}
|
||||
\centering{\includegraphics{tesseral-harmonic.pdf}}%
|
||||
\subcaption{\label{fig:tesseral}}%
|
||||
\end{subfigure}%
|
||||
\caption{A figure with two subfigures: (a) Zonal harmonic $n=1, m=0$, (b) Tesseral harmonic $n=2, m=3$. See Appendix~\ref{sec:sph-har}.\label{fig:1}}
|
||||
\end{figure*}
|
||||
%%%%%%%%%%%%%%%%%%% end two column figure %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\lipsum[5-8]
|
||||
\section{Section}
|
||||
\lipsum[9-12]
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%% Example WT1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Single Wide Equation on the Page}
|
||||
|
||||
\textcolor{red}{Equation~\eqref{eqn:WT1} is an equation with a matrix that is too large to fit into one column. A multiline math environment will not help because the equation cannot be broken into parts that each fit into a column.}
|
||||
|
||||
\textcolor{red}{A two-column wide figure, Fig.~\ref{fig:1}, has floated from a previous page to the top of this page, but this figure does not interfere with the \texttt{widetext} environment (a single column figure would cause problems).}
|
||||
|
||||
% let's have this work with either pdftex or luatex
|
||||
\newcommand*\MyBoldPhi{\ifPDFtex\bm{\Phi}\else\symbfup{\Phi}\fi}
|
||||
|
||||
\begin{widetext}
|
||||
\begin{equation}\label{eqn:WT1}
|
||||
\mathbf{WT1:}\quad
|
||||
\mathfrak{W}(\MyBoldPhi)= \begin{Vmatrix}
|
||||
\dfrac\varphi{(\varphi_1,\varepsilon_1)} & 0 & \hdotsfor{4} & 0 & \\[\jot]
|
||||
\dfrac{\varphi k_{21}}{(\varphi_2,\varepsilon_1)} & \dfrac\varphi{(\varphi_2,\varepsilon_2)} & 0 & \hdotsfor{3} & 0 \\[\jot]
|
||||
\dfrac{\varphi k_{31}}{(\varphi_3,\varepsilon_1)} &\dfrac{\varphi k_{32}}{(\varphi_3,\varepsilon_2)} & \dfrac\varphi{(\varphi_3,\varepsilon_3)}& 0 & \hdotsfor{2} & 0 \\[\jot]
|
||||
\vdots & & & \smash{\rotatebox{15}{$\ddots$}} & & & \vdots \\[\jot]
|
||||
\dfrac{\varphi k_{n-2\, 1}}{(\varphi_{n-2},\varepsilon_1)} &
|
||||
\dfrac{\varphi k_{n-2\, 2}}{(\varphi_{n-2},\varepsilon_2)} &\hdotsfor{1} & \dfrac{\varphi k_{n-2\,n-3}}{(\varphi_{n-2},\varepsilon_{n-3})} & \dfrac\varphi{(\varphi_{n-2},\varepsilon_{n-2})}& 0& 0 \\[\jot]
|
||||
\dfrac{\varphi k_{n-1\, 1}}{(\varphi_{n-1},\varepsilon_1)} & \dfrac{\varphi k_{n-1\, 2}}{(\varphi_{n-1},\varepsilon_2)} &\hdotsfor{2} &
|
||||
\dfrac{\varphi k_{n-1\,n-2}}{(\varphi_{n-1},\varepsilon_{n-2})}& \dfrac{\varphi}{(\varphi_{n-1},\varepsilon_{n-1})} & 0 \\[\jot]
|
||||
\dfrac{\varphi k_{n1}}{(\varphi_n,\varepsilon_1)} & \dfrac{\varphi k_{n2}}{(\varphi_n,\varepsilon_2)} & \hdotsfor{3} &
|
||||
\dfrac{\varphi k_{n\,n-1}}{(\varphi_n,\varepsilon_{n-1})} & \dfrac{\varphi}{(\varphi_n,\varepsilon_n)}
|
||||
\end{Vmatrix}
|
||||
\end{equation}
|
||||
\end{widetext}
|
||||
|
||||
\lipsum[12-13]
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%% Examples WT2 & WT3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Two Wide Equations on the Page}
|
||||
|
||||
\lipsum[14-16]
|
||||
|
||||
\begin{widetext}%
|
||||
\begin{equation}\mathbf{WT2:}
|
||||
\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2]
|
||||
-2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy
|
||||
\ne \frac{1}{\sqrt{\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2
|
||||
\int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy}}
|
||||
\end{equation}
|
||||
|
||||
\textcolor{red}{In this case, we have a pair of wide equations on the same page. The \texttt{widetext} environment cannot be used twice on the same page! To resolve the conflict, we remain in single column mode between the two equations.}
|
||||
|
||||
\textcolor{red}{This page also includes a single column float, Table~\ref{tab:2}. This float must come after the \texttt{widetext} environment. We use the \texttt{\textbackslash begin\{table\}[b]} option to force the table to the bottom of the column. The two column table, Table~\ref{tab:4}, floats to the top of the next page and creates no problems.}
|
||||
|
||||
\begin{equation}\mathbf{WT3:}
|
||||
\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2]
|
||||
-2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy
|
||||
\ne \frac{1}{\sqrt{\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2
|
||||
\int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy}}
|
||||
\end{equation}
|
||||
\end{widetext}
|
||||
\lipsum[17]
|
||||
|
||||
%%%%%%%%%%%%%%% begin single column table %%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{table}[b]
|
||||
\caption{Table with more complicated columns}\label{tab:2}%
|
||||
\centering{%
|
||||
\begin{tabular}{!{\hspace*{0.5cm}} >{\raggedright\hangindent=1em} p{3cm} d{3} @{\hspace*{1cm}} d{3} !{\hspace*{0.5cm}}}
|
||||
\hline\hline
|
||||
\rule{0pt}{10pt} Experiment & \multicolumn{1}{c@{\hspace*{1cm}}}{$u$ [m/s]} & \multicolumn{1}{c!{\hspace*{0.5cm}}}{$T$ [\textdegree C]} \\[1pt]
|
||||
\hline
|
||||
The first experiment we ran this morning & 124.3 & 68.3 \rule{0pt}{10pt} \\
|
||||
The second experiment we ran this morning & 82.50 & 103.46 \\
|
||||
Our competitor's data & 72.321 & 141.384 \\[1pt]
|
||||
\hline\hline
|
||||
\end{tabular}
|
||||
}
|
||||
\end{table}
|
||||
%%%%%%%%%%%%%%%% end table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
%%%%%%%%%%%%%%% begin two column table %%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{table*}[t]
|
||||
\caption{A table spanning two columns}\label{tab:4}%
|
||||
\centering{%
|
||||
\begin{tabular*}{0.8\textwidth}{@{\hspace*{1.5em}}@{\extracolsep{\fill}}ccc!{\hspace*{3.em}}ccc@{\hspace*{1.5em}}}
|
||||
\hline\hline
|
||||
\multicolumn{1}{@{\hspace*{1.5em}}c}{$x$\rule{0pt}{11pt}} &
|
||||
\multicolumn{1}{c}{$\textrm{erf}(x)$} &
|
||||
\multicolumn{1}{c!{\hspace*{3.em}}}{$\textrm{erfc}(x)$} &
|
||||
\multicolumn{1}{c}{$x$} &
|
||||
\multicolumn{1}{c}{$\textrm{erf}(x)$} &
|
||||
\multicolumn{1}{c@{\hspace*{1.5em}}}{$\textrm{erfc}(x)$} \\ \hline
|
||||
0.00 & 0.00000 & 1.00000 & 1.10 & 0.88021 & 0.11980\rule{0pt}{11pt} \\
|
||||
0.05 & 0.05637 & 0.94363 & 1.20 & 0.91031 & 0.08969 \\
|
||||
0.10 & 0.11246 & 0.88754 & 1.30 & 0.93401 & 0.06599 \\
|
||||
0.15 & 0.16800 & 0.83200 & 1.40 & 0.95229 & 0.04771 \\
|
||||
0.20 & 0.22270 & 0.77730 & 1.50 & 0.96611 & 0.03389 \\
|
||||
0.30 & 0.32863 & 0.67137 & 1.60 & 0.97635 & 0.02365 \\
|
||||
0.40 & 0.42839 & 0.57161 & 1.70 & 0.98379 & 0.01621 \\
|
||||
0.50 & 0.52050 & 0.47950 & 1.80 & 0.98909 & 0.01091 \\
|
||||
0.60 & 0.60386 & 0.39614 & 1.82\makebox[0pt][l]{14} & 0.99000 & 0.01000 \\
|
||||
0.70 & 0.67780 & 0.32220 & 1.90 & 0.99279 & 0.00721 \\
|
||||
0.80 & 0.74210 & 0.25790 & 2.00 & 0.99532 & 0.00468 \\
|
||||
0.90 & 0.79691 & 0.20309 & 2.50 & 0.99959 & 0.00041 \\
|
||||
1.00 & 0.84270 & 0.15730 & 3.00 & 0.99998 & 0.00002 \\[2pt]
|
||||
\hline\hline
|
||||
\end{tabular*}
|
||||
}
|
||||
\end{table*}
|
||||
%%%%%%%%%%%%%%%% end table %%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\lipsum[18-25]
|
||||
\lipsum[27]
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%% Examples WT4 & WT5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Wide Equation Pair Split Across Page Break and Followed by Wide Equation}
|
||||
|
||||
\textcolor{red}{Note that the upper rule is cleared after the first use in a \texttt{widetext} environment. This means that it will not show up at the top of the next page.}
|
||||
|
||||
\textcolor{red}{The \texttt{\textbackslash newpage} command may be used between the equations to force the second one onto the next page, e.g., try removing the source code line \texttt{\textbackslash lipsum[27]} with and without \texttt{\textbackslash newpage}.}
|
||||
|
||||
\lipsum[26-28]
|
||||
|
||||
\begin{widetext}[5]% reducing \stripsep from the default 10pt to 5pt with the option [5], to make more room below the equation number
|
||||
\begin{equation}\mathbf{WT4:}
|
||||
\int_a^b\Biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2] -2f(x)g(x)f(y)g(y)\,dx\Biggr\}\,dy
|
||||
\ne \frac{1}{\sqrt{\displaystyle\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2 \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy}}
|
||||
\end{equation}
|
||||
\newpage % note some differences in the size between pdftex and luatex; luatex needs this forced page break
|
||||
\begin{equation}\mathbf{WT5:}
|
||||
\int_a^b\Biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2]
|
||||
-2f(x)g(x)f(y)g(y)\,dx\Biggr\}\,dy
|
||||
\ne \frac{1}{\sqrt{\displaystyle\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2
|
||||
\int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy}}
|
||||
\end{equation}
|
||||
\vskip 3pt % some extra space for cramped equation number
|
||||
|
||||
\textcolor{red}{In this case, we again have a pair of wide equations on the same page, so we stay in single column mode
|
||||
until both are done\footnotemark. The single column table, Table~\ref{tab:3}, is forced to the bottom of the page with the \texttt{[b]} option.}
|
||||
|
||||
\lipsum[32-33]
|
||||
|
||||
\begin{equation}\mathbf{WT6:}
|
||||
\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2]
|
||||
-2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy
|
||||
\ne \frac{1}{\sqrt{\displaystyle\int_a^b\biggl\{g^2\int_a^bf^2+f^2
|
||||
\int_a^b g^2-2fg\int_a^b fg\biggr\}\,dy}}
|
||||
\end{equation}
|
||||
\end{widetext}
|
||||
\footnotetext{\textcolor{red}{The code from \texttt{cuted.sty} doesn't play well with footnotes, so we put a \texttt{\textbackslash footnotemark} command inside the wide environment and place a separate \texttt{\textbackslash footnotetext\{..\}} command outside the wide environment.}}%
|
||||
|
||||
\lipsum[34-37]
|
||||
|
||||
%%%%%%%%%%%%%%%%%%% begin linewidth table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{table}[b]
|
||||
\newcolumntype{C}{>{$}c<{$}} % math-mode version of "c" column type, from array package
|
||||
\caption{\label{tab:3}Table at full column width with columns in math mode}
|
||||
\centering{%
|
||||
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}CCCC@{\extracolsep{\fill}}}
|
||||
\hline\hline
|
||||
X_{z} & X_{c} & X_{c,m} & X_{c,2}\rule{0pt}{11pt}\\
|
||||
3.92069 & 5.70943 & 6.32429 & 7.08757\\[2pt]
|
||||
\varepsilon (T_1) & \varepsilon^i (T_1) & \varepsilon^i (T_m) & \alpha (T_1, T_2)\\
|
||||
0.7258 & 0.6237 & 0.6807 & 0.7964 \\[2pt]
|
||||
q_\textrm{gray} & q_\textrm{int, $T_1$} & q_\textrm{int, $T_m$} & q_\textrm{exact}\\
|
||||
400.2 & 462.1 & 371.0 & 371.8 \\[1pt]
|
||||
\hline\hline
|
||||
\end{tabular*}
|
||||
}
|
||||
\end{table}
|
||||
%%%%%%%%%%%%%%%%%%%% end linewidth table %%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\lipsum[40-54]
|
||||
|
||||
\textcolor{red}{For eqn.~\eqref{eqn:WT7}, we drop the bottom line, keeping the top line and removing the vertical space: \texttt{\textbackslash begin\{widetext\}[0][t]}.}
|
||||
\begin{widetext}[0][t]
|
||||
\begin{equation}\label{eqn:WT7}%
|
||||
\mathbf{WT7:}\quad
|
||||
\cfrac{1}{1+ \cfrac{1}{abcxyz+(ax^2-by^3+cz^4)(\alpha\chi^2-\beta\upsilon^3+\kappa\zeta^4)(ax^4-by^3+cz^2)(a^2x^2-by^3+c^2z^2)}}
|
||||
\end{equation}
|
||||
\end{widetext}
|
||||
|
||||
\lipsum[50-63]
|
||||
|
||||
\textcolor{red}{In this case, we drop the top line: \texttt{\textbackslash begin\{widetext\}[][b]}.}
|
||||
|
||||
\vskip 80pt% <== an extra skip to push this widetext over the edge
|
||||
|
||||
\begin{widetext}[][b]
|
||||
\begin{equation}\label{eqn:WT8}
|
||||
\mathbf{WT8:}\quad
|
||||
\mathfrak{W}(\MyBoldPhi)= \begin{Vmatrix}
|
||||
\dfrac\varphi{(\varphi_1,\varepsilon_1)} & 0 & \hdotsfor{4} & 0 & \\[\jot]
|
||||
\dfrac{\varphi k_{21}}{(\varphi_2,\varepsilon_1)} & \dfrac\varphi{(\varphi_2,\varepsilon_2)} & 0 & \hdotsfor{3} & 0 \\[\jot]
|
||||
\dfrac{\varphi k_{31}}{(\varphi_3,\varepsilon_1)} &\dfrac{\varphi k_{32}}{(\varphi_3,\varepsilon_2)} & \dfrac\varphi{(\varphi_3,\varepsilon_3)}& 0 & \hdotsfor{2} & 0 \\[\jot]
|
||||
\vdots & & & \smash{\rotatebox{15}{$\ddots$}} & & & \vdots \\[\jot]
|
||||
\dfrac{\varphi k_{n-2\, 1}}{(\varphi_{n-2},\varepsilon_1)} &
|
||||
\dfrac{\varphi k_{n-2\, 2}}{(\varphi_{n-2},\varepsilon_2)} &\hdotsfor{1} & \dfrac{\varphi k_{n-2\,n-3}}{(\varphi_{n-2},\varepsilon_{n-3})} & \dfrac\varphi{(\varphi_{n-2},\varepsilon_{n-2})}& 0& 0 \\[\jot]
|
||||
\dfrac{\varphi k_{n-1\, 1}}{(\varphi_{n-1},\varepsilon_1)} & \dfrac{\varphi k_{n-1\, 2}}{(\varphi_{n-1},\varepsilon_2)} &\hdotsfor{2} &
|
||||
\dfrac{\varphi k_{n-1\,n-2}}{(\varphi_{n-1},\varepsilon_{n-2})}& \dfrac{\varphi}{(\varphi_{n-1},\varepsilon_{n-1})} & 0 \\[\jot]
|
||||
\dfrac{\varphi k_{n1}}{(\varphi_n,\varepsilon_1)} & \dfrac{\varphi k_{n2}}{(\varphi_n,\varepsilon_2)} & \hdotsfor{3} &
|
||||
\dfrac{\varphi k_{n\,n-1}}{(\varphi_n,\varepsilon_{n-1})} & \dfrac{\varphi}{(\varphi_n,\varepsilon_n)}
|
||||
\end{Vmatrix}
|
||||
\end{equation}
|
||||
\end{widetext}
|
||||
|
||||
\lipsum[55-56]
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\appendix
|
||||
\section{Spherical harmonics\label{sec:sph-har}}
|
||||
|
||||
Without getting into the details, a regular function $f(\theta,\phi)$ on the surface of the unit sphere may be written
|
||||
\begin{equation}
|
||||
f(\theta,\phi) = \sum_{n=0}^\infty \sum_{m=-n}^n f_{m,n} Y_n^m(\theta,\phi)
|
||||
\end{equation}
|
||||
for $Y_n^m(\theta,\phi) = e^{i m\phi}P^{|m|}_n(\cos\theta)$, for $|m|<n$. The case $n=3$, $m=2$ (a \textit{tesseral harmonic}) is shown in Fig.~\ref{fig:tesseral}.
|
||||
|
||||
These functions are orthogonal, with the normalization constant~\cite[App.~A]{stakgold}:
|
||||
\begin{equation}
|
||||
N_{m,n}=\int_0^{2\pi}\!\!d\phi\int_0^{\pi}\!\!d\theta \sin\theta\, \big|Y^m_n(\theta,\phi)\big|^2 = \frac{4\pi (n+|m|)!}{(2n+1)(n-|m|)!}
|
||||
\end{equation}
|
||||
|
||||
If $f$ is independent of the azimuthal angle $\phi$, the solution appears in ordinary Legendre polynomials, $P_n$, rather than associated Legendre polynomials, $P^m_n$ ($P^0_n = P_n$):
|
||||
\begin{equation}
|
||||
f(\theta) = \sum_{n=0}^\infty f_n\, P_n(\cos\theta)
|
||||
\end{equation}
|
||||
The terms in this series are called \textit{zonal harmonics}.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%% bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\bibliographystyle{asmejour}
|
||||
\bibliography{asme-wide-equations}
|
||||
|
||||
|
||||
\end{document}
|
||||
139
paper/asmejour/asmewide_example/asmewide.sty
Normal file
139
paper/asmejour/asmewide_example/asmewide.sty
Normal file
@@ -0,0 +1,139 @@
|
||||
%%
|
||||
%% This file is `asmewide.sty'.
|
||||
%%
|
||||
%% Copyright (c) 2025 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit
|
||||
%%
|
||||
%% Defines a widetext environment within ASME dimensions
|
||||
%% Use for material spanning both columns (i.e., for wide equations)
|
||||
%%
|
||||
%% The original widetext environment was developed in revtex; elements of the present code have been modified revtex4-2.dtx, under LPPL1.3c.
|
||||
%% The unmodified code is available at: https://ctan.org/pkg/revtex
|
||||
%% This code also adopts concepts from the widetext.sty package by Anjishnu Sarkar, https://blog.pnas.org/widetext.sty.
|
||||
%% The modifications made were: follow ASME dimensions; remove revtex-specific macros; update/rework commands; adapt to most recent cuted.sty
|
||||
%% (Leaders don't vanish at pagebreaks, as in revtex, evidently related to how cuted.sty handles strip construction. Have coded around this.)
|
||||
%%
|
||||
%% Required packages: cuted.sty v2.0 and flushend.sty v4.0 [2021/10/04] or later;
|
||||
%% asmeconf.cls or asmejour.cls w/their required packages, esp. etoolbox, xparse
|
||||
%%
|
||||
%% The widetext environment can only appear once per page. It clashes with floats and footnotes,
|
||||
%% and often requires some hand-fitting of page layouts.
|
||||
%%
|
||||
%% USAGE: \begin{widetext} ...wide material here... \end{widetext}
|
||||
%% OPTIONAL ARGUMENTS:
|
||||
%% \begin{widetext[N] ...change upper/lower separation of wide material from default Xpt to Npt (X = 5pt asmeconf.cls; X = 10pt asmejour.cls)
|
||||
%% \begin{widetext}[][tbn]: t = top line only; b = bottom line only; n = no lines. BOTH arguments are REQUIRED, even if first is left empty.
|
||||
%%
|
||||
%% asmewide,sty supports one option, [raggedend], which suppresses final page column balancing: \usepackage[raggedend]{asmewide}
|
||||
%%
|
||||
%% NB: the strip environment from cuted is incompatible with the [lineno] option to asmeconf and asmejour!
|
||||
%%
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
|
||||
\def\AW@versionno{1.11}
|
||||
\def\AW@versiondate{2025/01/22\space}
|
||||
\ProvidesPackage{asmewide}[\AW@versiondate\space v\AW@versionno\space ASME wide equation environment (JHL)]
|
||||
|
||||
\DeclareOption{raggedend}{% Added 2022/05/08, to suppressed flushend on last page, if desired
|
||||
\AfterEndPreamble{\raggedend}
|
||||
}
|
||||
\DeclareOption*{}
|
||||
\ProcessOptions \relax
|
||||
|
||||
\ifdefined\NewDocumentCommand\else
|
||||
\RequirePackage{xparse}
|
||||
\fi
|
||||
\RequirePackage{etoolbox}
|
||||
\RequirePackage{cuted}[2021/10/04]%features used here were first added in the [2021/10/04] version of cuted.sty!
|
||||
\@ifpackagelater{cuted}{2021/10/04}{%
|
||||
\relax
|
||||
}{%
|
||||
\PackageError{asmewide}{Your version of cuted.sty is too old. You can get an update at https://ctan.org/pkg/cuted}{You need an up-to-date version of cuted.sty to run asmewide.sty.}%
|
||||
}
|
||||
|
||||
\RequirePackage{flushend}[2021/10/04]
|
||||
%
|
||||
% https://tex.stackexchange.com/a/43541/119566
|
||||
\def\@getcl@ss#1.cls#2\relax{\def\@currentclass{#1}}
|
||||
\def\@getclass{\expandafter\@getcl@ss\@filelist\relax}
|
||||
\@getclass
|
||||
\typeout{Running asmewide.sty with the \@currentclass\space class.}
|
||||
%
|
||||
\newbox\@TopLeader
|
||||
\newbox\@BottomLeader
|
||||
\newlength\savparskip \setlength\savparskip{\parskip}
|
||||
\newlength\@RuleWidth
|
||||
\appto\maketitle{\setlength\@RuleWidth{\dimexpr(\columnwidth+0.5\columnsep-1pt)}}% do this after entering twocolumn, in \maketitle. 2025/01/22
|
||||
\newlength\@TopSpace \setlength\@TopSpace{0ex}
|
||||
\newlength\@TopCorr \setlength\@TopCorr{-5pt}
|
||||
\def\@asmeindent{3.5mm}
|
||||
\def\@TopRuleWeight{0.5pt}
|
||||
\def\@BottomRuleWeight{0.5pt}
|
||||
\def\@DSS{5}% default stripsep
|
||||
%
|
||||
\@ifclassloaded{asmeconf}{%
|
||||
\setlength\@TopCorr{-1ex}% keep \abovedisplayskip since text could start the page
|
||||
\setlength\@TopSpace{1ex}% provide space apparently lost with cuted.sty in asmeconf.cls
|
||||
\def\@asmeindent{0.25in}% asmeconf
|
||||
}{\relax}
|
||||
|
||||
\@ifclassloaded{asmejour}{%
|
||||
\AtBeginDocument{\setlength\@RuleWidth{\columnwidth}}
|
||||
\setlength\@TopCorr{-9pt}% asmejour
|
||||
\def\@BottomRuleWeight{1pt}% asmejour
|
||||
\def\@DSS{10}% default stripsep, asmejour
|
||||
}{\relax}
|
||||
%
|
||||
% Set ascenders and descenders 1.2 times greater than \baselineskip
|
||||
\NewDocumentCommand\@SetTopLeader{}{% NB: boxes are cleared after they are used; this command is issued once with each widetext environment
|
||||
\setbox\@TopLeader\vbox{%
|
||||
\hbox to \@RuleWidth{%
|
||||
\leaders\hrule height\@TopRuleWeight \hfil
|
||||
\vrule height 1.2\baselineskip width\@TopRuleWeight}
|
||||
}
|
||||
}
|
||||
\NewDocumentCommand\@TopLine{}{%
|
||||
\vskip\@TopSpace
|
||||
\dimen@\ht\@TopLeader\advance\dimen@\dp\@TopLeader
|
||||
\cleaders\box\@TopLeader\vskip\dimen@
|
||||
}
|
||||
\NewDocumentCommand\@SetBottomLeader{}{%
|
||||
\setbox\@BottomLeader\hbox to \@RuleWidth{%
|
||||
\vrule depth 1.2\baselineskip width\@BottomRuleWeight
|
||||
\leaders\hrule height\@BottomRuleWeight \hfil
|
||||
}
|
||||
}
|
||||
\NewDocumentCommand\@BottomLine{}{%
|
||||
\par
|
||||
\vskip 3pt% provide some space between low equation numbers and rule
|
||||
\setbox\@BottomLeader\vbox{%
|
||||
\hbox to \textwidth{\hfil\box\@BottomLeader}%
|
||||
}%
|
||||
\dimen@\ht\@BottomLeader\advance\dimen@\dp\@BottomLeader
|
||||
\cleaders\box\@BottomLeader\vskip\dimen@
|
||||
\vskip -1.5pt% reduce trailing separation w.r.t. baseline when \stripsep = 0
|
||||
}
|
||||
\preCutedStrip={\@TopLine}
|
||||
\postCutedStrip={\@BottomLine}
|
||||
\DeclareDocumentEnvironment{widetext}{O{\@DSS}o}{%
|
||||
\@SetTopLeader
|
||||
\@SetBottomLeader
|
||||
\notblank{#1}{%
|
||||
\setlength{\stripsep}{#1pt plus 5pt minus 5pt}
|
||||
}{
|
||||
\setlength{\stripsep}{\@DSS pt plus 5pt minus 5pt}
|
||||
}
|
||||
\ifstrequal{#2}{t}{\setbox\@BottomLeader\vbox{}}{%
|
||||
\ifstrequal{#2}{b}{\setbox\@TopLeader\vbox{\vskip \@TopCorr}}{%cuted inserts some additional space, we remove here
|
||||
\ifstrequal{#2}{n}{\setbox\@TopLeader\vbox{\vskip \@TopCorr}\setbox\@BottomLeader\vbox{}}{\relax}
|
||||
}
|
||||
}
|
||||
\begin{strip}
|
||||
\setlength\parindent{\@asmeindent}% strip makes parindent zero; enlarge for ASME
|
||||
\setlength\parskip{\savparskip}% strip makes \parskip zero w/o glue; set to match main text
|
||||
}{%
|
||||
\end{strip}\ignorespacesafterend
|
||||
}
|
||||
%%
|
||||
\endinput
|
||||
%%
|
||||
%% End of file `asmewide.sty'.
|
||||
BIN
paper/asmejour/asmewide_example/tesseral-harmonic.pdf
Normal file
BIN
paper/asmejour/asmewide_example/tesseral-harmonic.pdf
Normal file
Binary file not shown.
BIN
paper/asmejour/asmewide_example/zonal-harmonic2.pdf
Normal file
BIN
paper/asmejour/asmewide_example/zonal-harmonic2.pdf
Normal file
Binary file not shown.
Reference in New Issue
Block a user