7

The symbol that is produced by the \maltese command is an iron cross, not quite the same thing as a maltese cross, both in terms of appearance and signification.

I was wondering if there was any way to draw an actual maltese cross in LaTeX as a math character.

  • 1
    It's been asked to be added to Fontawesome which has support in Xe/LuaLaTeX. – Bernard Sep 23 '14 at 15:36
2

It really seems that the unicode mapping is wrong in this place. The Maltese cross is indexed as U+2720. But the only font I could find to be mapping it right is the font Code2000. It brings the following symbol:

enter image description here

The following MWE shows, how you can load just this symbol and proofs the scalability. It can be used in text and math:

% arara: lualatex

\documentclass{article}
\usepackage{booktabs}
\usepackage{fontspec}
%\usepackage{bbding} % for \CrossMaltese % results in a Koch Pattée which is to ugly to show
\usepackage{pifont} % for \ding{64}
\usepackage{MnSymbol} % for \MnMaltese
\let\MnMaltese\maltese
\usepackage{mathtools}
\usepackage{unicode-math}
\newcommand*{\amalfi}{\ensuremath{\text{\fontspec{code2000.ttf}\symbol{"2720}}}}

\begin{document}
    {\Huge\amalfi}

    In text \amalfi{}, in in-line math $\amalfi$, and in a formula:
    \[\amalfi_{\amalfi_\amalfi}\]   
    \begin{tabular}{ll}\toprule
        Symbol&Example\\\midrule
        Iron Cross (Pattée)&$\maltese$\setmathfont{Asana Math}$\maltese$\setmathfont{TeX Gyre Pagella Math}$\maltese$\ding{64}$\MnMaltese$\setmainfont{symbola.ttf}\symbol{"2720}\\
        Pattée acc.\ Koch&\setmathfont{XITS-Math}$\maltese$\setmainfont{quivira.otf}\symbol{"2720}\setmainfont{DejaVuSans}\symbol{"2720}\\
        Maltese Cross&\amalfi\\\bottomrule
    \end{tabular}
\end{document}

enter image description here

Finally, I did some research about the "Maltese" crosses which exist. The following table shows the possible symbols. It does not contain a symbol from Font Awesome yet, but as Bernard mentioned in comment, there is a feature request around. Hopefully, they will get it right.

enter image description here


Edit: shortest version for the Maltese Cross symbol

\documentclass{article}
\usepackage{fontspec}
\usepackage{mathtools}
\newcommand*{\amalfi}{\ensuremath{\text{\fontspec{code2000.ttf}\symbol{"2720}}}}

\begin{document}
    \amalfi
\end{document}
  • Looks good. Could you just confirm what are the minimal set of packages needed to define your \amalfi command. I guess fontspec and unicode-math at least maybe mathtools too? Thanks. – Marc Sep 24 '14 at 8:35
  • @Marc Please see my edit (at the very bottom). Glad you like it. – LaRiFaRi Sep 24 '14 at 9:15
8

I don't know if you consider this a "math character" for your purpose, but you can draw a symbol with TikZ and scale it to the size of a symbol of your choice (the digit 0 in this case), so that it scales in math environments.

Also, I eyeballed the dimensions, so the lengths and angles are probably all wrong. Feel free to improve them. ;)

Maltese cross in math mode

Also works in text mode with different font sizes:

Maltese cross in text mode

\documentclass{article}
\usepackage{tikz}
\usepackage{scalerel}

\newcommand{\maltcross}{\scalerel*{%
    \tikz\fill
    (0.02,0.02)    -- (0.2,0.5)   -- (0,0.4)  -- (-0.2,0.5)  --
    (-0.02,0.02)   -- (-0.5,0.2)  -- (-0.4,0) -- (-0.5,-0.2) --
    (-0.02,-0.02)  -- (-0.2,-0.5) -- (0,-0.4) -- (0.2,-0.5)  --
    (0.02,-0.02)   -- (0.5,-0.2)  -- (0.4,0)  -- (0.5,0.2)   --
    cycle;}% Scale this picture...
    {0}% ...to the size of this symbol.
}

\begin{document}
\[
    f(\maltcross, y) = 2^{\maltcross} \cdot 2^{3^{\maltcross}} + y\maltcross
    - \int\limits_{\maltcross}^{\maltcross+1} 9\maltcross
\]

\tiny \maltcross
\scriptsize \maltcross
\footnotesize \maltcross
\normalsize \maltcross
\large \maltcross
\Large \maltcross
\LARGE \maltcross
\Huge \maltcross
\end{document}
  • Instead of that scalerel magic, you could also use em or ex as units in your drawing, because those units scale with the surrounding font size. – Jake Sep 23 '14 at 19:55
  • 2
    @Jake: Yes, I tried \tikz[x=1em,y=1em], but that didn't scale when used as an exponent or subscript in math mode. Scaling in text mode worked however. For this purpose the scalerel also provides \LMex and \LMpt for the local math units, but this approach seemed easier. – Fritz Sep 23 '14 at 20:01
  • @Jake In math mode, em and ex retain the size of the base font size, whereas scalerel accounts for the math style you are in (e.g., \scriptstyle, \scriptsciptstyle). – Steven B. Segletes Sep 23 '14 at 20:03

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.