Charter and Helvetica with greek letters in LaTeX or XeLaTeX
You can use textgreek
with its quite powerful substitution mechanism.
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[charter]{mathdesign}
\usepackage{helvet}
\usepackage{textgreek}
\renewcommand*{\textgreekfontmap}{%
{phv/*/*}{LGR/neohellenic/*/*}%
{*/b/n}{LGR/artemisia/b/n}%
{*/bx/n}{LGR/artemisia/bx/n}%
{*/*/n}{LGR/artemisia/m/n}%
{*/b/it}{LGR/artemisia/b/it}%
{*/bx/it}{LGR/artemisia/bx/it}%
{*/*/it}{LGR/artemisia/m/it}%
{*/b/sl}{LGR/artemisia/b/sl}%
{*/bx/sl}{LGR/artemisia/bx/sl}%
{*/*/sl}{LGR/artemisia/m/sl}%
{*/*/sc}{LGR/artemisia/m/sc}%
{*/*/sco}{LGR/artemisia/m/sco}%
}
\begin{document}
\section{Text: ä ß α β μ in Helvetica}
Text: ä ß α β μ in Charter
\end{document}
Here I use NeoHellenic for sans serif and Artemisia for serif.
With XeLaTeX you can use ucharclasses
:
\documentclass{scrartcl}
\usepackage{fontspec}
\usepackage[Latin,Greek]{ucharclasses}
\usepackage{pdftexcmds}
\setmainfont{XCharter}
\setsansfont{Helvetica}[Scale=MatchUppercase,NFSSFamily=phv]
\newfontfamily{\artemisia}{GFS Artemisia}
\setTransitionsForGreek{\begingroup\checkhelvetica}{\endgroup}
\makeatletter
\newcommand{\checkhelvetica}{%
\ifnum\pdf@strcmp{\f@family}{phv}=\z@\else\artemisia\fi
}
\makeatother
\begin{document}
\section{Text: ä ß α β μ in Helvetica}
Text: ä ß α β μ in Charter
\end{document}
The test can be made more complicated if you also need to cope with other font families. As you see, if Helvetica is the current font, the transition just opens and closes a group; otherwise it chooses the Artemisia font.
The easy way to do this is to use Xelatex
with Linux Libertine
which provides good greek characters and the accentuations.
It's available here
If you want it juste for typesetting greek you can do a little :
\newfontfamily{\gkfont}[]{Biolinum Regular}
\newcommand{\greek}[1]{\gkfont #1}
That way you can keep your usual font and to typeset greek you just have to do \greek{your text}
.
And with \newfontfamily
you can use as much fonts you can possibly imagine, it's the beauty of fontspec
.
In fact it is more simple than that :
With the code :
\documentclass{scrartcl}
\usepackage{fontspec}
\setmainfont{Linux Libertine}
\setsansfont{Helvetica}
\begin{document}
\section{Text: ä ß α β μ in Helvetica}
Text: ä ß α β μ in Linux Libertine
\end{document}
You get that :
Which is kind of the desired effect.
You can then adjust some of the font properties with fontspec
.
You can use \boldsymbol{\alpha}
to get bold greek letters.
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[charter,greeklowercase=upright]{mathdesign}
\usepackage{helvet}
\usepackage{amsmath}
\begin{document}
\section{Text: ä ß $\boldsymbol{\alpha}$ $\boldsymbol{\beta}$ $\boldsymbol{\mu}$ in Helvetica}
Text: ä ß $\alpha$ $\beta$ $\mu$ in Charter
\end{document}