diff options
author | Karl Berry <karl@freefriends.org> | 2019-10-03 21:08:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-10-03 21:08:39 +0000 |
commit | 43b91fc7f03dcced7fa810f86519578f62aaeaf2 (patch) | |
tree | 665209cd38387784193b6f5707074ad6f4e07a1e /Master | |
parent | c42f3f5e3986181a8b0825a33d93d4c022504a84 (diff) |
asmeconf (3oct19)
git-svn-id: svn://tug.org/texlive/trunk@52270 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/asmeconf/README.md | 10 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib | 42 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf | bin | 362316 -> 502614 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex | 96 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/asmeconf/sample-figure-2a.pdf | bin | 25985 -> 95556 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/asmeconf/sample-figure-2b.pdf | bin | 25541 -> 91105 bytes | |||
-rw-r--r-- | Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls | 102 |
7 files changed, 214 insertions, 36 deletions
diff --git a/Master/texmf-dist/doc/latex/asmeconf/README.md b/Master/texmf-dist/doc/latex/asmeconf/README.md index 54508416aca..ada302df57b 100644 --- a/Master/texmf-dist/doc/latex/asmeconf/README.md +++ b/Master/texmf-dist/doc/latex/asmeconf/README.md @@ -1,7 +1,7 @@ #asmeconf: A template for ASME conference papers# - Version 1.11 dated 2019/07/08. + Version 1.12 dated 2019/10/02. ####Overview#### This class provides a template to format ASME Conference papers according to @@ -47,6 +47,10 @@ - provide automatic layout of author and addresses in one of two styles +- provide line numbers for editing and review + +- support balancing of columns on last page + ####Author#### @@ -62,7 +66,9 @@ --- ####Change log#### - + + v1.12: add support for line numbers for editing; add support for final column balancing; edit skips in nomenclature; adjust \\tolerance and \\emergencystretch (for line breaking); improve support for equation tags in captions; adopt standard \\maketitle and \\title commands; include \\versionfootnote for tracking revisions of draft. + v1.11: minor adjustments to title, author, and affiliation layout v1.1: revise several parts of the layout to match ASME's updated specifications from Summer 2019 (including author block, abstract font, placement of nomenclature, and minor spacings); add .bst support for online references and eprints; expand documentation significantly; guidance on fitting equations into columns. diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib index c1969347499..3b4e5194e24 100644 --- a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib +++ b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib @@ -1,4 +1,4 @@ -%% Revised 7 July 2019 +%% Revised 2 October 2019 @article{ning2002, title = {On the Sliding Friction Characteristics of Unidirectional Continuous FRP Deposits}, @@ -270,4 +270,42 @@ url = {https://ctan.org/pkg/mathalfa}, urldate = {27 April 2019}, } - + @online{tolusis, + author = {Sigitas Tolu{\v{s}}is}, + title = {The \textsf{flushend} package}, + year = {2017}, + organization = {Comprehensive \TeX\ Archive Network}, + url = {https://www.ctan.org/pkg/flushend}, + urldate = {October 1, 2019}, + version = {3.3}, +} + +@online{bottcher, + author = {Stephan I. B{\"o}ttcher and Uwe L{\"u}ck}, + title = {\textsf{lineno.sty}: A {\LaTeX} package to attach line numbers to paragraphs}, + year = {2005}, + organization = {Comprehensive \TeX\ Archive Network}, + url = {https://www.ctan.org/pkg/lineno}, + urldate = {August 17, 2019}, + version = {4.41}, +} + +@online{oostrum, + author = {Piet van Oostrum}, + title = {The \textsf{fancyhdr} and \textsf{extramarks} packages}, + year = {2019}, + organization = {Comprehensive \TeX\ Archive Network}, + url = {https://www.ctan.org/pkg/lineno}, + urldate = {August 17, 2019}, + version = {3.10}, +} + +@online{fairbairns, + author = {Robin Fairbairns and Sebastian Rahtz and Leonor Barroca}, + title = {A package for rotated objects in \LaTeX}, + year = {2016}, + organization = {Comprehensive \TeX\ Archive Network}, + url = {https://www.ctan.org/pkg/rotating}, + urldate = {October 2, 2019}, + version = {v2.16d}, +} diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf Binary files differindex 998ba989a77..70a20a31a77 100644 --- a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf +++ b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex index a6c50517b70..f43b9524be1 100644 --- a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex +++ b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex @@ -1,19 +1,19 @@ %% %% This file is asmeconf-template.tex, a template to format ASME Conference papers according to -%% the requirements on ASME's conference web pages. As of version 1.1, this template follows ASME's +%% the requirements on ASME's conference web pages. As of version 1.11, this template follows ASME's %% newer conference guidelines as posted in July 2019. %% %% The new guidelines have changed the request author block formatting. %% Nomenclature follows the abstract. Abstract is in italics. %% -%% This file is version 1.11 dated 2019/07/08 +%% This file is version 1.12 dated 2019/10/02 %% %% Author: John H. Lienhard V %% Department of Mechanical Engineering %% Massachusetts Institute of Technology %% Cambridge, MA 02139-4307 USA %% -%% Class options are described in the asmeconf.cls file. These include: +%% Class options are set up in the asmeconf.cls file. These include: %% %% * Math options from M. Sharpe's newtxmath package: upright integrals [upint]; and %% * varvw for a v and w that are better distinguished from greek nu; and also @@ -30,9 +30,23 @@ %% * An optional to use newtxtext's superiors font for footnotes [nodefaultsups] and an option %% * for slightly larger small capitals, largesc %% +%% * An option to balance the heights of columns on the last page [balance]. +%% * This option is NOT compatible with the [lineno] option. +%% +%% * An option to include line numbers [lineno]. The lineno package does not number equation +%% * lines, captions, tables, etc. You must run _twice_ for proper placement of the line numbers. +%% * This option will disable balancing column height on final page if that option has been invoked. +%% * The lineno package won't always number the lines preceding displayed math in a paragraph because +%% * paragraph has not ended. See that package's documentation for macros to address this problem, or +%% * just leave a blank line above the displayed equation while you are editing and then remove the +%% * blank line and [lineno] option when you move to your final version. +%% %% * An option to use the old grid arrangement of author names [oldauthors]. See Appendix B for usage, %% * because the authors and affiliations must be entered different in this case. %% +%% * An option to allow hyphenation of the typewriter font [hyphenate] +%% * Hyphenation is normally suppressed for typewriter mode because it is often used for code. +%% %% For details of newtxmath and mathalfa, refer to their documentation (available on CTAN: http://ctan.org). %% %% The use of commands defined or modified by the asmeconf class is illustrated below. In particular, @@ -64,8 +78,9 @@ %% Class options are described above. -\documentclass[varvw,largesc,upint,mathalfa=cal=euler,colorlinks]{asmeconf} % <=== remove colorlinks for submission to ASME +\documentclass[varvw,largesc,upint,mathalfa=cal=euler,colorlinks,hyphenate,balance]{asmeconf} % <=== remove colorlinks for submission to ASME +\pdfminorversion=7 % This selection is not required. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%% Fields to be completed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -98,7 +113,7 @@ % enclosed in \NoCaseChange{...} to maintain lower case type % LaTeX will automatically set this in all capital letters. -\PaperTitle{Place Title Here: Place Subtitle After Colon} +\title{Place Title Here: Place Subtitle After Colon} % <=== change to YOUR title %% Put author names into the order you want. Use the same order for affiliations. @@ -117,7 +132,11 @@ \SetAffiliation{3}{Hampton Court Palace, Richmond, England} \SetAffiliation{4}{Massachusetts Institute of Technology, Cambridge, MA } -\MakeTitlePage +\maketitle + +%%% For tracking various versions of your draft. Change text to suit your own needs. Remove from final version. +%%% \date{..} is the same command. +\versionfootnote{Documentation for \texttt{asmeconf.cls}. Version 1.12; \today.}% <=== Delete before final submission. %%% Change these to your keywords. Keywords are automatically printed at the end of the abstract. @@ -172,15 +191,17 @@ The \texttt{.tex} file may be written using standard \LaTeX\ commands, although \subsection{Essential Initial Commands} To begin, fill in the fields to be completed at top of the \texttt{asmeconf-template.tex} file. These fields include the headers for your conference and your paper number. Specified metadata will be placed into the pdf file itself. -The title should be placed into \verb|\PaperTitle{..}|. +The title should be placed into \verb|\title{..}|. + +Put author names into the \verb|\SetAuthors{name, name,...}| command in the desired order; follow the syntax illustrated \texttt{asmeconf-template.tex} file. Put each distinct address sequentially into a separate \verb|\SetAffiliation{n}{address}|, where $n = 1,2,\ldots$ Tag each author with the right affiliation by putting \verb|\affil{n}| after that author's name inside the \verb|\SetAuthors{..| command. -Put author names into the \verb|\SetAuthors{name, name,...}| command in the desired order; follow the syntax illustrated \texttt{asmeconf-template.tex} file. Put each distinct address sequentially into a separate \verb|\SetAffiliation{n}{address}|, where $n = 1,2,\ldots$. Tag each author with the right affiliation by putting \verb|\affil{n}| after that author's name. Author addresses are to be kept short. List the author institution, and the City, State (US authors), City, Province, Canada (Canadian authors), or City, Country (other international authors). +Author addresses are to be kept short. List the author institution, and the City, State (US authors), City, Province, Canada (Canadian authors), or City, Country (other international authors). -One author (or more) may be designated as the \verb|\CorrespondingAuthor{email}| by placing the command at the end of the name. Two or more authors may be joint first authors with \verb|\JointFirstAuthor|. Either of these commands should come after \verb|\affil{#}|. +One author (or more) may be designated as the \verb|\CorrespondingAuthor{email}| by placing the command after \verb|\affil{#}|. Two or more authors may be joint first authors by putting \verb|\JointFirstAuthor| after \verb|\affil{#}|. -After setting up the headers, authors, and title, issue the \verb|\MakeTitlePage| command. +After setting up the headers, authors, and title, issue the \verb|\maketitle| command. -Keywords may optionally be including using the \verb|\keywords{..}| command; this command \textit{must} be issued before the abstract. The abstract text must be placed into \verb|\SetAbstract{..}|. The abstract will automatically be italized. +Keywords may optionally be including using the \verb|\keywords{..}| command. This command \textit{must} be issued before the abstract. The abstract text must be placed into \verb|\begin{abstract}..\end{abstract}|. The abstract will automatically be italicized. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -223,7 +244,7 @@ If you wish to override the default math format in captions, put \verb|\mathvers Subsections and sub-subsection headings should be entered in title case, with the first letter of primary words capitalized. Sub-subsections (i.e., paragraphs) are never numbered. \subsection{Colored hyperlinks} -ASME requires that all text be in black when the paper is submitted for publication. For other uses, authors make +ASME requires that all text be in black when the paper is submitted for publication. For other uses, authors may obtain colored hyperlinks with the [\texttt{colorlinks}] option. %%%%%%%%%%%%%%% begin simple table %%%%%%%%%%%%%%%%%%%%%%%%%% @@ -273,21 +294,28 @@ The class loads the \texttt{booktabs} package (used for horizontal rules in both Figure captions go below figures. Figure~\ref{fig:2} is an example of a figure that spans two columns and includes subfigures. The text in figures (and tables) should be no smaller than 6~point type. +Landscape figures and tables may be produced at full-page size by putting \verb|\usepackage[figuresright]{rotating}| in your \texttt{.tex} file's preamble and using the \texttt{sidewaystable*} and \texttt{sidewaysfigure*} environments~\cite{fairbairns}. + %%%%%%%%%%%%%%%%% begin wide figure %%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{figure*}[t] -\begin{minipage}[c]{0.5\textwidth} +\begin{subfigure}[t]{0.5\textwidth} %subfigure is basically the same as minipage +\vbox{ +\vspace*{1.7em} \centering{ \includegraphics{sample-figure-2a.pdf} +} +\vspace*{1.7em} +} \subcaption{Interior region\label{fig:interior-region}} -}\end{minipage} -%%%%%%%%%%%%% -\begin{minipage}[c]{0.5\textwidth} -\centering{ +\end{subfigure}% +%%%%%%%%%%%%% no spaces or line breaks between these two minipages +\begin{subfigure}[t]{0.5\textwidth} +\centering{% \includegraphics{sample-figure-2b.pdf} \subcaption{Exterior region\label{fig:exterior-region}} -}\end{minipage} +}\end{subfigure} \caption{A figure with two subfigures \cite{Lienhard2019b}}\label{fig:2} \end{figure*} @@ -324,8 +352,10 @@ Elementary support for \texttt{eprint} numbers is also included, generating a ur %% \section[More on math: u\cdot\omega=0]{More on math: $\vec{\mathrm{u}}\cdot\vec{\omega}=0$}\label{sec:moremath} -In most cases, the need for a wide equation can be eliminated by using one of the multiline equation environments defined by \texttt{amsmath}, such as \texttt{align}, \texttt{split}, or \texttt{multline}~\cite{amsmath}. The following equation is set with the \texttt{multline} environment: -\begin{multline} +In most cases, the need for a wide equation can be eliminated by using one of the multiline equation environments defined by +\texttt{amsmath}, such as \texttt{align}, \texttt{split}, or \texttt{multline}~\cite{amsmath}. The following equation is set with the +\texttt{multline} environment: +\begin{multline}\label{eqn:energy} \frac{\partial}{\partial t}\left[\rho\bigl(e + \lvert\vec{u}\rvert^2\big/2\bigr)\right] + \nabla\cdot\left[\rho\bigl(h + \lvert\vec{u}\rvert^2\big/2 \bigr)\vec{u}\right] \\ ={}-\nabla \cdot \vec{q} + \rho \vec{u}\cdot\vec{g}+ \frac{\partial}{\partial x_j}\left(d_{ji}u_i\right) + \dot{Q}_v \end{multline} @@ -348,17 +378,37 @@ The class file also provides upright sans-serif greek letters with \verb|\sfalph These math options are discussed further in the \texttt{asmejour-template.tex} file. In addition, many options for calligraphic, script, and fraktur fonts are available as options to the \texttt{mathalfa} package, which is also loaded. These may be invoked, for example, as -\begin{quote} +\begin{center} \verb|\documentclass[mathalfa=cal=euler]{asmeconf}| -\end{quote} +\end{center} which selects the Euler font for \verb|\mathcal| (this is our default). To find all the font options, refer to the \texttt{mathalfa} package documentation \cite{sharpe2}. The typewriter font loaded is \texttt{inconsolata} (which is sans serif), as suggested by the \texttt{newtx} package documentation. The class is not set up for use with the \texttt{fontspec} or \texttt{unicode-math} packages. +\section{Additional Options for \NoCaseChange{\texttt{asmeconf.cls}}} +The class accepts a number of options in addition to those already described. + +\subsection{Final Column Balancing} The option \texttt{[balance]} invokes the the \texttt{flushend} package~\cite{tolusis}. +This package will attempt to give equal height to the two columns on the last page. The performance of this package is sometimes inconsistent (with odd page layout or, very rarely, errors), so use this option with caution. + +\subsection{Line Numbers} The option \texttt{[lineno]} invokes the the \texttt{lineno} package~\cite{bottcher}. This option will produce line numbers in the margins. You must run \LaTeX\ twice for proper placement of the numbers. Tables, captions, and footnotes will not be numbered. Line numbers can be helpful for review and editing, but should not be used in your final manuscript. See the documentation of the \texttt{lineno} package for further commands to control line numbering. + +The \texttt{lineno} package is not compatible with the \texttt{flushend} package that makes final short columns the same height. Balancing is disabled when this option is called. + +\subsection{Changing the Footer Text} The option \texttt{[nofoot]} will omit the ASME copyright from the first page footer. +The footers are generated with the \texttt{fancyhdr} package~\cite{oostrum}, so you can change them in any way you like using the commands of that package. Only the default arrangement of footers matches ASME's style, however. + +\subsection{Superiors Font} The \texttt{newtxtext} package includes a superiors font (both numbers and letters) for use in footnote markers and superscripts. To enable this font, use the option \texttt{[nodefaultsups]}. + +\subsection{Old-style Author Grid} The option \texttt{[oldauthors]} invokes the old grid arrangement of author names. The authors and affiliations must be entered differently in this case. See Appendix \ref{appendix:b} for usage. + +\subsection{Hyphenation of Typewriter Font} The option \texttt{[hyphenate]} will allow hyphenation of the typewriter font. +Hyphenation is normally suppressed for typewriter mode because this font is often used for code. + %%%%%%%%%%%%%%% begin two column table %%%%%%%%%%%%%%%%%% \begin{table*}[t] -\caption{A table spanning two columns}\label{tab:3}% +\caption{A table spanning two columns\label{tab:3}}% \centering{% \begin{tabular*}{0.8\textwidth}{@{\hspace*{1.5em}}@{\extracolsep{\fill}}ccc!{\hspace*{3.em}}ccc@{\hspace*{1.5em}}} \toprule diff --git a/Master/texmf-dist/doc/latex/asmeconf/sample-figure-2a.pdf b/Master/texmf-dist/doc/latex/asmeconf/sample-figure-2a.pdf Binary files differindex e02f4c93f8a..e1b735b036e 100644 --- a/Master/texmf-dist/doc/latex/asmeconf/sample-figure-2a.pdf +++ b/Master/texmf-dist/doc/latex/asmeconf/sample-figure-2a.pdf diff --git a/Master/texmf-dist/doc/latex/asmeconf/sample-figure-2b.pdf b/Master/texmf-dist/doc/latex/asmeconf/sample-figure-2b.pdf Binary files differindex 94dad8d4f63..e71d416a0b3 100644 --- a/Master/texmf-dist/doc/latex/asmeconf/sample-figure-2b.pdf +++ b/Master/texmf-dist/doc/latex/asmeconf/sample-figure-2b.pdf diff --git a/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls b/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls index 0453465e485..66554fa3842 100644 --- a/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls +++ b/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls @@ -1,11 +1,11 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% This file provides the asmeconf class for formatting conference papers according to -%% ASME conference requirements as represented on ASME's conference web pages in March 2019. +%% ASME conference requirements as represented on ASME's conference web pages in mid-2019. %% %% Please note that ASME's journals follow specifications different from ASME conference papers. %% -%% This file is version 1.11 dated 2019/07/08. +%% This file is version 1.12 dated 2019/10/02. %% %% Author: John H. Lienhard V %% Department of Mechanical Engineering @@ -31,7 +31,7 @@ %% This class is not designed for unicode-math or fontspec, given that the ASME conference style is %% specific with respect to the font selections. %% -%% Options for the class are described on lines 79-126. +%% Options for the class are configured on lines 79-153. %% %% The class defines two environments: abstract and nomenclature. The latter has an optional argument to %% control the space between the entries and the definitions. @@ -39,7 +39,7 @@ %% New commands are described in the asmeconf-template.tex file. The \section[]{} command's optional %% argument is changed to better support pdf bookmarks, and \section* is modified similarly. %% -%% Commands for entering conference headers, title, abstract, and author names are specific to this class. +%% Commands for entering conference headers and author names are specific to this class. %% See asmeconf-template.tex for details. %% %% @@ -67,7 +67,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{asmeconf}[2019/07/08 ASME Conference Paper Format] +\ProvidesClass{asmeconf}[2019/10/02 ASME Conference Paper Format] \LoadClass[twoside,twocolumn,10pt]{article} % Two-sided layout not used in ASME's specs, although that's how the papers are printed @@ -80,6 +80,10 @@ \setboolean{DefaultSups}{true} \newboolean{Oldauthors} \setboolean{Oldauthors}{false} +\newboolean{Balance} +\setboolean{Balance}{false} +\newboolean{lineno} +\setboolean{lineno}{false} \RequirePackage{kvoptions} @@ -100,6 +104,22 @@ \setboolean{DefaultSups}{#1} } +%%% set key [nodefaultsups] to obtain newtx superiors font for footnotes. +\define@key{asmeconf}{nodefaultsups}[false]{% + \setboolean{DefaultSups}{#1} +} + +%%% set key [balance] to balance column height on last page. +\define@key{asmeconf}{balance}[true]{% + \setboolean{Balance}{#1} + \ClassWarningNoLine{asmeconf}{Loading flushend package to balance column height on last page}% +} + +%%% set key [lineno] to obtain linenumbers. +\define@key{asmeconf}{lineno}[true]{% + \setboolean{lineno}{#1} +} + \ProcessKeyvalOptions* %% option to have colored hyperlinks @@ -124,8 +144,15 @@ %% option to use old authors \DeclareOption{oldauthors}{% \setboolean{Oldauthors}{true}% + \ClassWarningNoLine{asmeconf}{Selected option for a grid of author blocks}% } +%% Option to hyphenate the typewriter font [hyphenate] +\DeclareOption{hyphenate}{% + \PassOptionsToPackage{hyphenate}{inconsolata}% + \ClassWarningNoLine{asmeconf}{Allowing hyphenation of typewriter font}% +} + %% Suppress warnings about mathalfa keys as unused global options \DeclareOption*{} @@ -174,6 +201,15 @@ \RequirePackage{bm} % load after all math to give access to bold math +%% Ensure that the current font is used for equation tags, not \normalfont as set by amsmath +\def\maketag@@@#1{\hbox{\m@th#1}} + +% The article class calls \sloppy in two-column mode (\tolerance 9999, \emergencystretch 3em) +% These adjustments affect line breaking; the values below are intended to produce +% fewer lines with large spaces, without creating the problems of using \fussy in two-column mode. +\tolerance 2500 +\emergencystretch 3em + %%%% font size selection %%%%%%%% %%%% ASME's specs differ slightly from latex standard article-10 class %%% @@ -209,7 +245,7 @@ \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt} -%%%%%% foonotes %%%%%%% +%%%%%% footnotes %%%%%%% \RequirePackage{fnpos} \makeFNbottom @@ -328,9 +364,10 @@ %% Let's also add \footnote to the \TextUppercase exception list, so that footnote text won't be capitalized -%% if given in section headings +%% if given in section headings. Ditto for \eqref \RequirePackage{xpatch} \xpatchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\footnote}{}{} +\xpatchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\eqref\@nonchangecase\footnote}{}{} %%% Create an optional argument for unnumbered sections and set pdf bookmark (thru \addcontentsline). @@ -352,6 +389,35 @@ } } +%%%%%%%%%%%%% Line numbering and balancing columns on last page %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifthenelse{\boolean{lineno}}{% + \RequirePackage[switch,mathlines]{lineno} + \renewcommand{\linenumberfont}{\normalfont\footnotesize\color{red}} + \AtBeginDocument{\linenumbers} + \ClassWarningNoLine{asmeconf}{Package lineno loaded, so final column balancing is disabled} +%%% Allow line numbering in AMS math environments. +%%% postdisplaypenalty adjusted to avoid extra line number at end, see discussion here: https://tex.stackexchange.com/a/461192/ +%%% multline has some problem that puts an extra line number above it. +%%% Requires xparse and etoolbox +\NewDocumentCommand{\losepostpenalty}{}{\patchcmd{\linenomathWithnumbers}{\advance\postdisplaypenalty\linenopenalty}{}{}{}} + +\NewDocumentCommand{\FixAMSMath}{m}{% + \AtBeginEnvironment{#1}{\losepostpenalty\linenomath}% + \AtEndEnvironment{#1}{\endlinenomath}% + \AtBeginEnvironment{#1*}{\losepostpenalty\linenomath}% + \AtEndEnvironment{#1*}{\endlinenomath}% +} + +\NewDocumentCommand{\FixAll}{>{\SplitList{;}}m}{\ProcessList{#1}{\FixAMSMath}} +\FixAll{align;alignat;gather;flalign;multline} + + }{% + \ifthenelse{\boolean{Balance}}{\RequirePackage{flushend}}{\relax} % flushend is NOT compatible with lineno +} +\providecommand{\@LN@col}[1]{\relax} +\providecommand{\@LN}[2]{\relax} + %%%%%%%%%%%%% Define special environments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -380,18 +446,19 @@ %% \newlength\nomenwidth +\newlength\savitemsep %% If second argument of \entry is omitted, will produce an italicized heading (e.g. "Greek letters") %% \DeclareDocumentCommand{\entry}{m g}{% \IfNoValueTF{#2}{% - \item[\itshape#1\hfill]\par\smallskip% + \itemsep3\p@ plus 1\p@ minus 1\p@% + \goodbreak\item[\itshape#1\hfill]\setlength\itemsep\savitemsep\nopagebreak% \smallskip }{% \item[#1\hfill]#2% } } - \DeclareDocumentEnvironment{nomenclature}{O{2em} O{Nomenclature}}{% \setlength\columnsep{2em} \setlength{\nomenwidth}{#1} @@ -404,6 +471,7 @@ \setlength{\labelwidth}{\nomenwidth}% \setlength{\leftmargin}{\labelwidth}% \addtolength{\leftmargin}{\labelsep}% + \setlength\savitemsep\itemsep }% }{\end{list}} @@ -703,6 +771,22 @@ \let\thefootnote\savethefootnote } +%%%%%%%%%% + +%% Provide compatibility with titling commands from standard LaTeX article class + +\RenewDocumentCommand{\maketitle}{}{\MakeTitlePage} +\RenewDocumentCommand{\title}{}{\PaperTitle} + +\RenewDocumentCommand{\thanks}{m}{\relax} %% disabling this standard command, as it is inconsistent with the format + +%% Produces an unmarked footnote about the version date, to replace "date" +%% This is for editing and should note be used in the final draft +\NewDocumentCommand{\versionfootnote}{m}{\begin{NoHyper}\gdef\@thefnmark{}\@footnotetext{#1}\end{NoHyper}} + +\RenewDocumentCommand{\date}{m}{\versionfootnote} %% in case someone wants to use \date this way. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Provide sans serif upright Greek letters, following a suggestion |