11

EDIT: The extension to this question, Replicating an Exquisite Font, is a means to the same end with the construction of such a font being the primary goal.

I've recently been wondering: "where on Earth can I find that old-timey LaTeX font with the really nice integrals?" I've seen a paper or two on differential equations using it and plenty of old math text use it. For reference, here is an example image from A Source Book in Mathematics by Smith, David Eugene (1860-1944).

A simply exquisite font.

Another example, higher res.

also from another book, The Evanston colloquium: lectures on mathematics delivered from Aug. 28 to Sept. 9, 1893 before members of the Congress of Mathematics held in connection with the World's Fair in Chicago at Northwestern University, Evanston, Ill.

enter image description here

which is a more compressed albeit exactly similar font.

If someone would tell me the name of this font, I would be greatly indebted to them; either this, or reference a modern version. Essentially, whatever LaTeX platform is consistent with this font is the platform I will use.

IMPORTANT EDIT

I am also happy to see any customized stylizations and creative solutions to mimic the font style(s) in the images.

5
  • 1
    I believe this integral symbol belongs to wasysym package...
    – MadyYuvi
    Apr 2 at 15:19
  • 4
    Since the book you referenced seems to be older than TeX, let alone LaTeX, it probably doesn't use any LaTeX font. If you have more recent papers using the font they might be a better reference. Apr 2 at 16:22
  • @MarcelKrüger I have seen a paper using this font on fractional differential equations. It's a fairly modern paper. However, I just can't seem to find it. Apr 2 at 16:58
  • 1
    You might compare the Pazo fonts by Young Ryu (through their derivatives Asana Math and newpxmath), although this book predates them. Or indeed, computers.
    – Davislor
    Apr 2 at 17:43
  • 3
    @AlexanderConrad Nice question. Maybe you can find something here (tex.stackexchange.com/questions/59702/…)
    – Excelsior
    Apr 2 at 20:26
8
+100

I propose two solutions after about two hours I have arrived at this conclusion: one more complicated and one very fast. For my memories the \pi greek character is similar to Mathematical Pi 1 which is not a free font. After there many problems....to build a book that has such symbols it would take a century! :-) You would need to define each character individually and as pointed out by @egreg there are symbolic aesthetic issues. The book is old and those fonts don't exactly exist but there are modern ones that are similar or nearly so.

Personally this output I not like very much but it is a possibility: I have tried after two hours differents combination and I have build this MWE:

enter image description here

I have used partially an old question of @egreg redefining the symbol sum and product. Changing sum and product symbols There is the presence of \usepackage[lite]{mtpro2} that you can download here.

\documentclass[12pt]{article}
\usepackage[lite]{mtpro2}
\usepackage{mathspec} 
\defaultfontfeatures{Mapping=tex-text}
\setmainfont{Old Standard}
\setmathsfont(Latin)[Uppercase=Italic,Lowercase=Italic,Scale=0.95]{Old Standard}
\setmathsfont(Greek)[Uppercase=Regular,Lowercase=Regular,Scale=0.85]{Baskervaldx}
\DeclareSymbolFont{mathptmxlargesymbols}{OMX}{ztmcm}{m}{n}
\DeclareMathSymbol{\upsumop}{\mathop}{mathptmxlargesymbols}{"50}
\DeclareMathSymbol{\upprodop}{\mathop}{mathptmxlargesymbols}{"51}

\begin{document}
Old text from an ancient book it is
\[s=\frac{\sin n\pi}{\pi}\int_{0}^{x}\frac{\phi(a)da}{(x-a)^{1-n}}\]
\[ \upsumop_{i=1}^n f_i(x)\upprodop_{j=1}^n g_j(x), \sqrt{z^2+b^2}\]
\end{document}

If you found the best character you can substitute the mathspec fonts into the dots.

\setmainfont{.....}
\setmathsfont(Latin)[Uppercase=Italic,Lowercase=Italic,Scale=0.95]{.....}
\setmathsfont(Greek)[Uppercase=Regular,Lowercase=Regular,Scale=0.85]{.....}

The 2nd MWE is this:

\documentclass[12pt]{article}
\usepackage{mathspec}
\defaultfontfeatures{Mapping=tex-text}
\setallmainfonts{Old Standard}
\DeclareSymbolFont{mathptmxlargesymbols}{OMX}{ztmcm}{m}{n}
\DeclareMathSymbol{\upsumop}{\mathop}{mathptmxlargesymbols}{"50}
\DeclareMathSymbol{\upprodop}{\mathop}{mathptmxlargesymbols}{"51}

\begin{document}
Old text from an ancient book it is
\[s=\frac{\sin n\pi}{\pi}\int_{0}^{x}\frac{\phi(a)da}{(x-a)^{1-n}}\]
\[ \upsumop_{i=1}^n f_i(x)\upprodop_{j=1}^n g_j(x), \sqrt{z^2+b^2}\]
\end{document}

that is more simple but you have not the same characters of the book.

enter image description here

I aesthetically prefer the last solution. Both the MWEs are compilable with the engine XeLaTeX.

Addendum: On the suggest of the user @palopezv I add a MWE with Times where it is possible to compile with the pdfLaTeX or XeLaTeX.

\documentclass[12pt]{article}
\usepackage{newtxtext}
\usepackage[lite]{mtpro2}
\usepackage{nicefrac}
\usepackage{parskip}
\DeclareSymbolFont{mathptmxlargesymbols}{OMX}{ztmcm}{m}{n}
\DeclareMathSymbol{\upsumop}{\mathop}{mathptmxlargesymbols}{"50}
\DeclareMathSymbol{\upprodop}{\mathop}{mathptmxlargesymbols}{"51}

\begin{document}
An introduction for an ancient textbook using the font Times from newtxtext:
\[s=\frac{\sin n\pi}{\pi}\int_{0}^{x}\frac{\phi(a)da}{(x-a)^{1-n}}\]
\[ \upsumop_{i=1}^n f_i(x)\upprodop_{j=1}^n g_j(x), \sqrt{z^2+b^2}\]
After we can have using the nicefrac command:
\[s=\frac{\upsumop_{i=1}^n a_i}{\upprodop_{j=1}^n b_j}\left[\frac{\Gamma(\mu+1)}{\Gamma(\nicefrac{1}{2})}\right]\]
\end{document}

enter image description here

15
  • 2
    +1: "I propose two solutions after about two hours" that is a lot of effort! Apr 4 at 22:14
  • 1
    @Dr.ManuelKuehner I didn't want the vote for the two hours that I have dedicated ahahahhh ahahahahahahahah: I have written the truth. You are fantastic ahahahaahhaahahahahahahahahahahahaahahah. I've done a lot of combinations but I think each symbol should be created by hand...basically it's like creating a .sty file....
    – Sebastiano
    Apr 4 at 22:15
  • 1
    @AlexanderConrad Hi, I ask a favour...give the green check mark to the user palopezv and the bounty. I am happy....if this happens. :-)
    – Sebastiano
    Apr 4 at 23:34
  • 1
    @Sebastiano I am overwhelmingly grateful for your answer and am already playing around with it. Excellent answer. Apr 5 at 0:03
  • 1
    Hmm. @Sebastiano, I think I'd go for Times Ten. Times being a newspaper copy font is rather small and lacks that stoutness in the original book print.
    – palopezv
    Apr 5 at 14:13
10

That book was published by Dover Books which was a legendary English metal foundry and publishing house (today only a shadow of itself, so can be said of the US business side).

Sooo... Your chances of finding a digital version of such font are slim to none. The font used is a transitional typeface, with a heavy body to compensate for paper and ink quality. I guess the closest thing you could get available in the TeX Archive would be some of the free baskervilles and their matching math fonts, but they will be spindlier.

2
  • 4
    My compliments for the research :-)
    – Sebastiano
    Apr 4 at 21:37
  • 1
    Well informed, thank you! Apr 4 at 23:41
4

Here is a possible approach without the need of creating your own font:

  1. Draw this integral symbol with Inkscape or Adobe Illustrator, extract its path in SVG format
  2. In LaTeX, use the TikZ package to draw the same path

In the following example, The \MyIntTop command corresponds to the top half of the integral drawn with Inkscape. I applied rotation and translation to get the bottom half of the integral sign based on symmetry. Of course, you can draw the entire integral sign as SVG.

Then, the important command is \my_customize_math_operator:cnnnnnn, which declares a custom math operator with parameters to fine-tune horizontal and vertical positioning of subscript and superscript. You can play with the magnification scale and superscript/subscript placements to find your desirable settings.

A major problem of this approach is that it does not support style selection via \mathchoice. If you are using LuaTeX, then this problem can be bypassed by using \mathstyle. If you have to use other TeX compilers, then I think there is no other approach than manually specifying different inline/display style operators.

enter image description here

The following example only works with LuaLaTeX

\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\usepackage{tikz}
\usepackage{adjustbox}
\usepackage{expl3}

\setmainfont{TeX Gyre Schola}
\setmathfont{TeX Gyre Schola Math}

\usetikzlibrary{svg.path}

% top half of the symbol drawn with Inkscape
\newcommand{\MyIntTop}{%
\begin{tikzpicture}[yscale=-1]
\filldraw[fill=black] svg "m 25.357197,131.54532 c 0,0 0.100226,-7.95149 0.868626,-9.87696 0.7684,-1.92547 2.405424,-4.27882 4.510172,-4.1362 2.104749,0.14263 2.271791,1.8185 2.004523,2.49598 -0.267269,0.67749 -2.238384,-0.004 -1.937705,-0.71313 0.200452,-1.00994 -0.935444,-1.06522 -1.570208,-0.53037 -0.634765,0.53486 -1.102486,0.85128 -1.503391,2.52715 -0.400904,1.67587 -0.501131,10.29135 -0.501131,10.29135 z";
\end{tikzpicture}%
}

% build the entire symbol based on symmetry
\newcommand{\MyIntCombined}{%
    \adjustbox{rotate=180, lap=0.8mm, raise=0.1mm}{\MyIntTop}\MyIntTop%
}

\newcommand{\MyIntAdj}[1]{
    \adjustbox{#1}{\MyIntCombined}
}

\ExplSyntaxOn

% customize superscript and subscript positioning
% #1: math symbol new command name
% #2: math symbol base command 
% #3: superscript vshift
% #4: superscript hshift
% #5: subscript vshift
% #6: subscript hshift
% #7: subscript/superscript style
\cs_set:Npn \my_customize_math_operator:cnnnnnn #1#2#3#4#5#6#7 {

    \tl_new:c {l_#1_sub_tl}
    \tl_new:c {l_#1_super_tl}
    \tl_new:c {l_#1_math_style_tl}
    \bool_new:c {l_#1_finish_bool}

    % declare the command
    \cs_set_protected:cpn {#1} {
        \tl_clear:c {l_#1_sub_tl}
        \tl_clear:c {l_#1_super_tl}

        % check subscript
        \peek_catcode:NTF \c_math_subscript_token {
            \use:c {#1_sub:Nn}
        } {
            \peek_catcode:NTF \c_math_superscript_token {
                \use:c {#1_super:Nn}
            } {
                \use:c {#1_make_op:}
            }
        }
    }
    
    
    \cs_set_protected:cpn {#1_sub:Nn} ##1##2 {
        \tl_set:cn {l_#1_sub_tl} {##2}
        %\tl_show:c {l_#1_sub_tl}
        % check for superscript afterwards
        \peek_catcode:NTF \c_math_superscript_token {
            \use:c {#1_sub_super:Nn}
        } {
            \use:c {#1_make_op:}
        }
    }
    
    % superscript after subscript
    \cs_set:cpn {#1_sub_super:Nn} ##1##2 {
        \tl_set:cn {l_#1_super_tl} {##2}
        %\tl_show:c {l_#1_super_tl}
        \use:c {#1_make_op:}
    }
    
    \cs_set_protected:cpn {#1_super:Nn} ##1##2 {
        \tl_set:cn {l_#1_super_tl} {##2}
        %\tl_show:c {l_#1_super_tl}
        % check for subscript afterwards
        \peek_catcode:NTF \c_math_subscript_token {
            \use:c {#1_super_sub:Nn}
        } {
            \use:c {#1_make_op:}
        }
    }
    
    % subscript after superscript
    \cs_set_protected:cpn {#1_super_sub:Nn} ##1##2 {
        \tl_set:cn {l_#1_sub_tl} {##2}
        %\tl_show:c {l_#1_sub_tl}
        \use:c {#1_make_op:}
    }
    
    % retreive current math style
    % only works in LuaTeX
%    \cs_set:Npn \my_save_math_style: {
%        \iow_term:x {math~style~is~\mathstyle}
%        \int_case:nn {\mathstyle} {
%            {0} {\tl_set:cn {l_#1_math_style_tl} {\displaystyle}}
%            {1} {\tl_set:cn {l_#1_math_style_tl} {\crampeddisplaystyle}}
%            {2} {\tl_set:cn {l_#1_math_style_tl} {\textstyle}}
%            {3} {\tl_set:cn {l_#1_math_style_tl} {\crampedtextstyle}}
%            {4} {\tl_set:cn {l_#1_math_style_tl} {\scriptstyle}}
%            {5} {\tl_set:cn {l_#1_math_style_tl} {\crampedscriptstyle}}
%            {6} {\tl_set:cn {l_#1_math_style_tl} {\scriptscriptstyle}}
%            {7} {\tl_set:cn {l_#1_math_style_tl} {\crampedscriptscriptstyle}}
%        }
%        \tl_show:c {l_#1_math_style_tl}
%    }
    
    % make the operator
    \cs_set_protected:cpn {#1_make_op:} {
        #2
        \tl_if_empty:cF {l_#1_sub_tl} {
            \c_math_subscript_token {
                \mkern#6\relax
                \adjustbox{raise=#5}{$#7 \tl_use:c {l_#1_sub_tl}$}
            }
        }
        \tl_if_empty:cF {l_#1_super_tl} {
            \c_math_superscript_token {
                \mkern#4\relax
                \adjustbox{raise=#3}{$#7 \tl_use:c {l_#1_super_tl}$}
            }
        }
    }
    
}

% declare script style
\my_customize_math_operator:cnnnnnn {myintscript} {\MyIntAdj{scale={0.4}{0.4},raise=1mm}} {-1pt} {0mu}  {0.5pt} {-2mu} {\scriptstyle}

% declare display style
\my_customize_math_operator:cnnnnnn {myintdisplay} {\MyIntAdj{scale={0.7}{0.7},raise=1mm}} {-3.5pt} {1.5mu} {1pt} {-10mu} {\scriptstyle}

\int_new:N \l_myint_style_int


% finally, declare our operator
\newcommand{\myint}{
    \int_case:nnF {\mathstyle} {
        {0} {\myintdisplay}
    } {\myintscript}
}

\ExplSyntaxOff


\begin{document}

$\int_a^b \myint_{abc}^{bef} \myint^{abc}_{def} \myint \myint_a \myint^b$

\[\int_a^b \myint_{abc}^{bef} \myint^{abc}_{def} \myint \myint_a \myint^b\]


This equation gives
\[
\myint^x_0 \frac{ds}{\sqrt{a-x}}
\]

\end{document}
1
  • 1
    Very nice answer....hi very kind user. +1
    – Sebastiano
    Apr 9 at 20:32
4

Disclaimer: This is probably a terrible idea.

enter image description here

Define a new command \exint (exquisite integral), which is just the ordinary integral, but sheared left 30% and thickened 50% using transition matrix [[1.5 -.3] [0 1]]. Spacing is then adjusted (sort of) with a phantom integral. An invisible rule sets the height for limits of integration (if any).

To get the limits of integration closer to the example, the upper limit should have a thin space (\,) and the lower limit should have a negative thin space (\!).

Here is the code:

\documentclass{article}

\usepackage{mathtools} % for \mathrlap

\newcommand{\exint}{\pdfliteral{ q 1.5 0 -.3 1 0 0 cm}\mathrlap{\int}\pdfliteral{ Q}\phantom{\int}\rule[-1.85ex]{0pt}{4.65ex}}

\begin{document}

\[
s=\frac{\sin n\pi}{\pi}\exint_{\!0}^{\,x}\frac{\phi(a)da}{(x-a)^{1-n}}\\
\]

\end{document}

The idea for the shearing matrix comes from this answer by David Carlisle

1
  • Why is it a terrible idea? Why your solution came from @David Carlisle :-)? Nooooo. There is my +1.
    – Sebastiano
    Apr 9 at 20:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.