% Copyright 2021 Karl Wette % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % of this license or (at your option) any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of LaTeX % version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainer of this work is Karl Wette. \ProvidesFile{linenoamsmathdemo.tex} [2021/09/30 Make amsmath work with lineno] \documentclass{ltxdoc} \ifdefined\AddToHook \newcommand{\loadorder}{\textsf{lineno} is loaded first, and then patches \textsf{amsmath} using \texttt{\textbackslash AddToHook}} \usepackage[mathlines,sep=11pt,width=11pt]{lineno} \usepackage[leqno]{amsmath} \else \newcommand{\loadorder}{\textsf{amsmath} is loaded first, and then patched directly by \textsf{lineno}} \usepackage[leqno]{amsmath} \usepackage[mathlines,sep=11pt,width=11pt]{lineno} \fi \usepackage{lipsum} \usepackage{hyperref} \allowdisplaybreaks \begin{document} \title{Make \textsf{amsmath}\footnote{\url{https://ctan.org/pkg/amsmath}}~ work with \textsf{lineno}} \author{Karl Wette} \maketitle This document demonstrates patches to the \textsf{amsmath} package to work with the \textsf{lineno} package. The code I've used is largely based on the posts here\footnote{\url{https://tex.stackexchange.com/a/461192}} and here\footnote{\url{https://tex.stackexchange.com/a/443201}}; credit is due to their author(s). In addition I've made a few refinements to handle some corner cases. \section*{Demonstration} This section demonstrates that, with this package, line numbers are correctly formatted when using \textsf{amsmath} math environments. \loadorder. \newcounter{lipsumparagraph} \newcommand{\nextlipsum}{\stepcounter{lipsumparagraph}\lipsum[\thelipsumparagraph][1-4]} \newcommand{\crs}{\qquad\qquad\texttt{[\textbackslash\textbackslash{}*]}\\*} \linenumbers \subsection*{Normal text} \nextlipsum \subsection*{\texttt{equation}} \subsection*{With line numbers in equations} \nextlipsum \begin{equation} E = m c^2 \,. \end{equation} \nextlipsum \subsection*{Without line numbers in equations} \nextlipsum \begin{linenomath*} \begin{equation} E = m c^2 \,. \end{equation} \end{linenomath*} \nextlipsum \subsection*{\texttt{equation*}} \subsection*{With line numbers in equations} \nextlipsum \begin{equation*} E = m c^2 \,. \end{equation*} \nextlipsum \subsection*{Without line numbers in equations} \nextlipsum \begin{linenomath*} \begin{equation*} E = m c^2 \,. \end{equation*} \end{linenomath*} \nextlipsum \subsection*{\texttt{\textbackslash[\ldots\textbackslash]}} \subsection*{With line numbers in equations} \nextlipsum \[ E = m c^2 \,. \] \nextlipsum \subsection*{Without line numbers in equations} \nextlipsum \begin{linenomath*} \[ E = m c^2 \,. \] \end{linenomath*} \nextlipsum \subsection*{\texttt{multline}} \subsection*{With line numbers in equations} \nextlipsum \begin{multline} \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} + \mathcal{O}(x^{10}) \,. \end{multline} \nextlipsum \begin{multline} \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} \\ + x^{10} - x^{11} + x^{12} - x^{13} + x^{14} - x^{15} + x^{16} - x^{17} + x^{18} - x^{19} + \mathcal{O}(x^{20}) \,. \end{multline} \nextlipsum \subsection*{Without line numbers in equations} \nextlipsum \begin{linenomath*} \begin{multline} \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} + \mathcal{O}(x^{10}) \,. \end{multline} \end{linenomath*} \nextlipsum \begin{linenomath*} \begin{multline} \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} \\ + x^{10} - x^{11} + x^{12} - x^{13} + x^{14} - x^{15} + x^{16} - x^{17} + x^{18} - x^{19} + \mathcal{O}(x^{20}) \,. \end{multline} \end{linenomath*} \nextlipsum \subsection*{\texttt{multline*}} \subsection*{With line numbers in equations} \nextlipsum \begin{multline*} \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} + \mathcal{O}(x^{10}) \,. \end{multline*} \nextlipsum \begin{multline*} \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} \crs + x^{10} - x^{11} + x^{12} - x^{13} + x^{14} - x^{15} + x^{16} - x^{17} + x^{18} - x^{19} + \mathcal{O}(x^{20}) \,. \end{multline*} \nextlipsum \subsection*{Without line numbers in equations} \nextlipsum \begin{linenomath*} \begin{multline*} \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} + \mathcal{O}(x^{10}) \,. \end{multline*} \end{linenomath*} \nextlipsum \begin{linenomath*} \begin{multline*} \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} \\ + x^{10} - x^{11} + x^{12} - x^{13} + x^{14} - x^{15} + x^{16} - x^{17} + x^{18} - x^{19} + \mathcal{O}(x^{20}) \,. \end{multline*} \end{linenomath*} \nextlipsum \subsection*{\texttt{gather}} \subsection*{With line numbers in equations} \nextlipsum \begin{gather} E = m c^2 \,. \end{gather} \nextlipsum \begin{gather} E = m c^2 \,, \\ E^2 = p^2 c^2 + m_0^2 c^4 \,. \end{gather} \nextlipsum \subsection*{Without line numbers in equations} \nextlipsum \begin{linenomath*} \begin{gather} E = m c^2 \,. \end{gather} \end{linenomath*} \nextlipsum \begin{linenomath*} \begin{gather} E = m c^2 \,, \\ E^2 = p^2 c^2 + m_0^2 c^4 \,. \end{gather} \end{linenomath*} \nextlipsum \subsection*{\texttt{gather*}} \subsection*{With line numbers in equations} \nextlipsum \begin{gather*} E = m c^2 \,. \end{gather*} \nextlipsum \begin{gather*} E = m c^2 \,, \crs E^2 = p^2 c^2 + m_0^2 c^4 \,. \end{gather*} \nextlipsum \subsection*{Without line numbers in equations} \nextlipsum \begin{linenomath*} \begin{gather*} E = m c^2 \,. \end{gather*} \end{linenomath*} \nextlipsum \begin{linenomath*} \begin{gather*} E = m c^2 \,, \\ E^2 = p^2 c^2 + m_0^2 c^4 \,. \end{gather*} \end{linenomath*} \nextlipsum \subsection*{\texttt{align}} \subsection*{With line numbers in equations} \nextlipsum \begin{align} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,. \end{align} \nextlipsum \begin{align} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\ \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,. \end{align} \nextlipsum \subsection*{Without line numbers in equations} \nextlipsum \begin{linenomath*} \begin{align} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,. \end{align} \end{linenomath*} \nextlipsum \begin{linenomath*} \begin{align} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\ \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,. \end{align} \end{linenomath*} \nextlipsum \subsection*{\texttt{align*}} \subsection*{With line numbers in equations} \nextlipsum \begin{align*} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,. \end{align*} \nextlipsum \begin{align*} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \crs \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,. \end{align*} \nextlipsum \subsection*{Without line numbers in equations} \nextlipsum \begin{linenomath*} \begin{align*} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,. \end{align*} \end{linenomath*} \nextlipsum \begin{linenomath*} \begin{align*} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\ \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,. \end{align*} \end{linenomath*} \nextlipsum \subsection*{\texttt{alignat}} \subsection*{With line numbers in equations} \nextlipsum \begin{alignat}{2} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,. \end{alignat} \nextlipsum \begin{alignat}{2} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\ \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,. \end{alignat} \nextlipsum \subsection*{Without line numbers in equations} \nextlipsum \begin{linenomath*} \begin{alignat}{2} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,. \end{alignat} \end{linenomath*} \nextlipsum \begin{linenomath*} \begin{alignat}{2} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\ \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,. \end{alignat} \end{linenomath*} \nextlipsum \subsection*{\texttt{alignat*}} \subsection*{With line numbers in equations} \nextlipsum \begin{alignat*}{2} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,. \end{alignat*} \nextlipsum \begin{alignat*}{2} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \crs \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,. \end{alignat*} \nextlipsum \subsection*{Without line numbers in equations} \nextlipsum \begin{linenomath*} \begin{alignat*}{2} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,. \end{alignat*} \end{linenomath*} \nextlipsum \begin{linenomath*} \begin{alignat*}{2} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\ \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,. \end{alignat*} \end{linenomath*} \nextlipsum \subsection*{\texttt{flalign}} \subsection*{With line numbers in equations} \nextlipsum \begin{flalign} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,. \end{flalign} \nextlipsum \begin{flalign} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\ \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,. \end{flalign} \nextlipsum \subsection*{Without line numbers in equations} \nextlipsum \begin{linenomath*} \begin{flalign} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,. \end{flalign} \end{linenomath*} \nextlipsum \begin{linenomath*} \begin{flalign} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\ \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,. \end{flalign} \end{linenomath*} \nextlipsum \subsection*{\texttt{flalign*}} \subsection*{With line numbers in equations} \nextlipsum \begin{flalign*} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,. \end{flalign*} \nextlipsum \begin{flalign*} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \crs \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,. \end{flalign*} \nextlipsum \subsection*{Without line numbers in equations} \nextlipsum \begin{linenomath*} \begin{flalign*} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,. \end{flalign*} \end{linenomath*} \nextlipsum \begin{linenomath*} \begin{flalign*} \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\ \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,. \end{flalign*} \end{linenomath*} \nextlipsum \subsection*{Long equation with \textbackslash allowdisplaybreaks} \nextlipsum \begin{multline} 0, 1, 2, \\ 3, \\ 4, 5, \\ 6, 7, \\ 8, 9, 10, 11, \\ 12, 13, \\ 14, 15, 16, 17, \\ 18, 19, \\ 20, 21, 22, 23, \\ 24, 25, 26, 27, 28, 29, \\ 30, 31, \\ 32, 33, 34, 35, 36, 37, \\ 38, 39, 40, 41, \\ 42, 43, \\ 44, 45, 46, 47, \\ 48, 49, 50, 51, 52, 53, \\ 54, 55, 56, 57, 58, 59, \\ 60, 61, \\ 62, 63, 64, 65, 66, 67, \\ 68, 69, 70, 71, \\ 72, 73, \\ 74, 75, 76, 77, 78, 79, \\ 80, 81, 82, 83, \\ 84, 85, 86, 87, 88, 89, \\ 90, 91, 92, 93, 94, 95, 96, 97, \\ 98, 99, 100, 101, \\ 102, 103, \\ 104, 105, 106, 107, \\ 108, 109, \\ 110, 111, 112, 113, \\ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, \\ 128, 129, 130, 131, \\ 132, 133, 134, 135, 136, 137, \\ 138, 139, \\ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, \\ 150, 151, \\ 152, 153, 154, 155, 156, 157, \\ 158, 159, 160, 161, 162, 163, \\ 164, 165, 166, 167, \\ 168, 169, 170, 171, 172, 173, \\ 174, 175, 176, 177, 178, 179, \\ 180, 181, \\ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, \\ 192, 193, \\ 194, 195, 196, 197, \\ 198, 199, \\ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, \\ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, \\ 224, 225, 226, 227, \\ 228, 229, \\ 230, 231, 232, 233, \\ 234, 235, 236, 237, 238, 239, \\ 240, 241, \\ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, \\ 252, 253, 254, 255, 256, 257, \\ 258, 259, 260, 261, 262, 263, \\ 264, 265, 266, 267, 268, 269, \\ 270, 271, \\ 272, 273, 274, 275, 276, 277, \\ 278, 279, 280, 281, \\ 282, 283, \\ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, \\ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, \\ 308, 309, 310, 311, \\ 312, 313, \\ 314, 315, 316, 317, \\ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, \\ 332, 333, 334, 335, 336, 337, \\ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, \\ 348, 349, \\ 350, 351, 352, 353, \\ 354, 355, 356, 357, 358, 359, \\ 360, 361, 362, 363, 364, 365, 366, 367, \\ 368, 369, 370, 371, 372, 373, \\ 374, 375, 376, 377, 378, 379, \\ 380, 381, 382, 383, \\ 384, 385, 386, 387, 388, 389, \\ 390, 391, 392, 393, 394, 395, 396, 397, \\ 398, 399, 400, 401, \\ 402, 403, 404, 405, 406, 407, 408, 409, \\ 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, \\ 420, 421, \\ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, \\ 432, 433, \\ 434, 435, 436, 437, 438, 439, \\ 440, 441, 442, 443, \\ 444, 445, 446, 447, 448, 449, \\ 450, 451, 452, 453, 454, 455, 456, 457, \\ 458, 459, 460, 461, \\ 462, 463, \\ 464, 465, 466, 467, \\ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, \\ 480, 481, 482, 483, 484, 485, 486, 487, \\ 488, 489, 490, 491, \\ 492, 493, 494, 495, 496, 497, 498, 499 \,. \end{multline} \nextlipsum \nolinenumbers \end{document} % Local Variables: % mode: doctex % TeX-master: t % End: