For the underscore, the following works:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\catcode`\_=\active
\protected\def_{\begingroup\itshape\aftergroup\/\let_\endgroup}
\begin{document}
Hello \textit{World!} How are you?
Hello _World!_ How are _you?
I'm fine._ And you?
_I'm fine, too.
Glad to hear that._
\end{document}
However, it is a bit crazy and unstable. If you want to use it only for short texts (not spanning multiple paragraphs), the following would be better. (It doesn't work in the above example, since there we span multiple pagraphs. In real, it will throw an error if you put odd number of _
in one paragraph.)
\catcode`\_=\active
\protected\def_#1_{\textit{#1}}
You can use the same ideas for the star. The problem is, that \section*{Text}
will suddenly stop working. Variant 1:
\catcode`\*=\active
\protected\def*{\begingroup\bfseries\let*\endgroup}
Variant 2:
\catcode`\*=\active
\protected\def*#1*{\textbf{#1}}
If you don't use math at all, just use ^
instead of *
and it should be ok.
How does it work: The primitive macro \catcode
makes _
\active
so that we can define it as any other command.
In Variant 1, we define it to (1) start a group (2) start italic text (3) add italic correction to the end of the italic text (4) make the one next _
end the group we started. By the end of the group, the re-definition of _
is forgotten so another _
will again start an italic text.
The Variant 2 is even simpler: When _
is found, a second _
is looked for, end everything inbetween is put into \textit
.
The \protected
directive makes sure that _
is written as _
in the auxiliary files, which is necessary for it to behave correctly.
As a last resort, over-printing (or under-printing) as a method to simulate boldness (or fake bold) is an option using the contour
package. It may come in handy when there is no bold version of a font/symbol available:
\documentclass{article}
\usepackage{mathptmx}% http://ctan.org/pkg/mathptmx
\usepackage{array,contour}% http://ctan.org/pkg/{array,contour}
\begin{document}
\begin{tabular}{rl@{\quad}>{\contourlength{0.01em}}l}
\verb|\sigma|: & $\sigma$ & $\sigma$ \\
\verb|\contour[1]{red}{$\sigma$}|: & \contour[1]{red}{$\sigma$} & \contour[1]{red}{$\sigma$} \\
\verb|\contour[10]{black}{$\sigma$}|: & \contour[10]{black}{$\sigma$} & \contour[10]{black}{$\sigma$} \\
\verb|\contour{black}{$\sigma$}|: & \contour{black}{$\sigma$} & \contour{black}{$\sigma$} \\
\verb|\contour*{black}{$\sigma$}|: & \contour*{black}{$\sigma$} & \contour*{black}{$\sigma$}
\end{tabular}
\end{document}
The default interface is \contour[<number>]{<color>}{<stuff>}
that prints <number>
copies of <stuff>
under <stuff>
using colour <color>
. The default is 16 repetitions if none are specified, while the starred-version \contour*
prints 32. \contourlength{<len>}
sets the radius of the under-printing. The two column above are default (0.03em
) and 0.01em
.
To make the under-printing more obvious/clear, here's a close-up view of the above contours at the default setting:
And, for \contourlength{0.01em}
:
Best Answer
There are several options for obtaining bold characters in math mode. Using the
bm
-package with\bm
is considered the best practice for that.Implementation
Output