30

Is there any way to use fraktur font styles in text mode? I cannot enter math and do \mathfrak because then spaces are eaten up by LaTeX.

Any pointers?

35

You have available some beautiful fonts designed by Yiannis Haralambous (these can be used also with XeLaTeX, but unfortunately they don't accept Unicode input for accented letters).

\documentclass{article}
\usepackage{yfonts}

\begin{document}
\textfrak{This: is: Fraktur}

\textswab{This: is: Schwabacher}

\textgoth{This: is: Gothic}
\end{document}

(Notice how the "round s" is obtained. Thanks to @Christian for noticing it.)

plain example

You find a description of the fonts in this article in TUGboat

It is of note that the package also provides initials.

example with initials

This was produced by this code, notice the change between long and round s:

\documentclass{article}
\usepackage{yfonts}

\begin{document}
{\frakfamily\fraklines
   \yinipar{T}his: is: an initial with a sentence in Fraktur.\\
   \textfrak{This: is: also Fraktur.}\\
   \textswab{This: is: Schwabacher.}\\
   \textgoth{This: is: Gothic.}
}
\end{document}
  • 2
    As far as I know you need a round s at the end of words. So this is like the worst example text for demonstrating the long s ;) – Christian Jun 19 '12 at 10:10
  • @Christian You're right! Fixed. – egreg Jun 19 '12 at 10:11
  • I am using mictex and it can't compile it. It says yfonts.sty is needed. – omehoque Jul 6 '14 at 19:33
  • 1
    @Ome You should install it: miktex.org/packages/yfonts – egreg Jul 6 '14 at 19:40
  • @egreg: How to install this yfonts in Ubuntu? – omehoque Aug 2 '17 at 0:58
23
+50

The UniFraktur project is rather nice.

\documentclass{minimal}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{UnifrakturMaguntia}
\renewcommand\emshape{\addfontfeature{LetterSpace=20.0,Ligatures=Required,Ligatures=NoCommon}}
\begin{document}
This is an \emph{important} teſt.
\end{document}

This is an important teſt.

A quote from the page Fraktur letterſpacing:

The fraktur ligatures ‹ch›, ‹ck›, ‹ſt›, ‹tz› are treated as ſingle letters with regard to letterſpacing.

The line

\renewcommand\emshape{\addfontfeature{LetterSpace=20.0,Ligatures=Required,Ligatures=NoCommon}}

is taken from that page.

A contrived example:

\documentclass{minimal}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{UnifrakturMaguntia}
\renewcommand\emshape{\addfontfeature{LetterSpace=20.0,Ligatures=Required,Ligatures=NoCommon}}
\begin{document}
Uſe the \emph{tzar's checkliſt}!
\end{document}

Uſe the tzar's checkliſt!

The project has a forum, and one post recommends the lines

\usepackage{xspace}
\renewcommand\emshape{\xspace\addfontfeature{LetterSpace=20.0,WordSpace=2.0,Ligatures={Required,NoCommon}}}

instead.

The difference can be illustrated with this example:

\documentclass[a5paper]{scrartcl}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{UnifrakturMaguntia}
\usepackage{xspace}
\newcommand{\exampletext}{%
‘Now, it is very remarkable that this is ſo extenſively overlooked,’
continued the Time Traveller, with a ſlight acceſſion of cheerfulneſs.
‘Really this is what is meant by the Fourth Dimenſion, though ſome
people who talk about the Fourth Dimenſion do not know they mean it. It
is only another way of looking at Time. \emph{There is no difference
between Time and any of the three dimenſions of Space except that our
conſciouſneſs moves along it.} But ſome fooliſh people have got hold of
the wrong ſide of that idea. You have all heard what they have to ſay
about this Fourth Dimenſion?’%
}
\begin{document}
\renewcommand\emshape{\addfontfeature{LetterSpace=20.0,Ligatures=Required,Ligatures=NoCommon}}
\exampletext

\renewcommand\emshape{\xspace\addfontfeature{LetterSpace=20.0,WordSpace=2.0,Ligatures={Required,NoCommon}}}
\exampletext
\end{document}

example text

It is important to note the effect of the \xspace (to be introduced with the xspace-package). Without it, the space preceeding the spaced out text will be a normal interword space and thus to thin; making it hard to recognise the beginning of the spaced text.

  • 5
    +1 for noting the Fraktur uses letter-spacing for emphasis. – J. C. Salomon Jun 24 '12 at 6:23
  • 1
    Also for getting the ligatures feature correct. The UniFraktur site you link to has this information, but perhaps you can include the “ſchwitzen” example they use to explain in your answer why you’ve set the font features as you (correctly) did. – J. C. Salomon Jun 24 '12 at 6:28
11

With XeLaTeX you could use a special fraktur font (maybe http://www.fontspace.com/george-williams/fractur). Use for example:

\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{frakturfontname}

It is certainly possible to only apply such a font to specific part of the document, but I did not need that before.

  • On how to apply a font only to part of a document, see tex.stackexchange.com/a/37251/4012. – doncherry Jun 19 '12 at 8:51
  • @canaaerus:i could have used this, but xltxtra causes osf in kpfonts to revert back to ordinary numbers...do u know the reason for this?? – Vineet Menon Jun 19 '12 at 9:18
  • 1
    @VineetMenon I don't see why using XeLaTeX with kpfonts that are not OpenType fonts. In any case, loading xltxtra is not needed, but fontspec is for being able to load an OpenType font. – egreg Jun 19 '12 at 9:43
  • Please, change xltxtra to fontspec and Mapping=tex-text to Ligatures=TeX. – egreg Jun 19 '12 at 9:44
  • Shouldn't this also work with LuaLaTeX? Then you don't need XeLaTeX which only gave me worries on anything but Mac OS. – Christian Jun 19 '12 at 10:06

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.