Porting tufte-book title page in book class

How can I get the same title page produced by

\documentclass{tufte-book}
\author{An author}
\title{A title}
\publisher{A publisher}
\begin{document}
\maketitle
\end{document}


while using the standard book class? I tried copy pasting the code for the tufte-book title page, which is

\newcommand{\maketitlepage}[0]{%
\cleardoublepage%
{%
\sffamily%
\begin{fullwidth}%
\fontsize{18}{20}\selectfont\par\noindent\textcolor{darkgray}{\allcaps{\thanklessauthor}}%
\vspace{11.5pc}%
\fontsize{36}{40}\selectfont\par\noindent\textcolor{darkgray}{\allcaps{\thanklesstitle}}%
\vfill%
\fontsize{14}{16}\selectfont\par\noindent\allcaps{\thanklesspublisher}%
\end{fullwidth}%
}
\thispagestyle{empty}%
\clearpage%
}


but the command \allcaps is not defined in the book class. Also, the font seems to be different than the standard Computer Modern.

Any ideas?

There are commands there that are defined by the tufte-book class. The \sfffamily font is defined in your document, if you don't do anything it will be the default Computer Modern Sans in the book class.

\documentclass{book}
\usepackage{xcolor}
\usepackage{fontspec}
\setmainfont{TeX Gyre Termes}
\setsansfont{TeX Gyre Heros}

\makeatletter
\newcommand{\@publisher}{}
\newcommand*{\publisher}[1]{\gdef\@publisher{#1}}

\renewcommand{\maketitle}{%
\begin{titlepage}
\setlength{\parindent}{\z@}
\raggedright
\sffamily
\fontsize{18}{20}\selectfont\par\noindent\textcolor{darkgray}{\allcaps{\@author}}%
\vspace{11.5pc}%
\fontsize{36}{40}\selectfont\par\noindent\textcolor{darkgray}{\allcaps{\@title}}%
\vfill%
\fontsize{14}{16}\selectfont\par\noindent\allcaps{\@publisher}%
\end{titlepage}
}

\makeatother

\title{A great, informative title to call attention}
\author{The author} \publisher{The Publisher}

\begin{document}

\maketitle

\end{document}


• That's almost identical except for the spacing between words, which is a too little when using the book class. How can I fix that? – noibe Oct 8 at 17:53
• @noibe, see my updated answer. You can change the spacing between letters to your taste. I did it with fontspec, so you must compile with xelatex or lualatex. It is also possible to use the pdflatex-way with the soul or letterspace packages, as defined in the tufte-common.def file. – Joseph Oct 8 at 19:12