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.
_should not be a problem, I'll post an answer below. If yes, it is a serious problem related to\catcodes. However, the star*is a problem since you cannot make it\activeand work in commands like\section*both at once. – yo' Feb 26 '13 at 12:24\textbf{junk}they start encountering**junk**in your text. – vonbrand Feb 26 '13 at 19:54junkcame through as sarcasm, it is just a bad habit of mine to use that likefooandbarare used canonically. And yes, you are right that LaTex-unaware people will get put off by\textbf{foobar}, and Wiki-aware people will get**foobar**; but when I write LaTeX it is for the LaTeX fluent (wannabe) crowd primarily, and LaTeX readers persumably get the hang of the basics soon enough. For much the same reason that#define begin {is an abomination in C, even when used by Pascal programmers. – vonbrand Feb 28 '13 at 14:04\emph{foo and bar}is better... – vonbrand Feb 28 '13 at 19:47markdownpackage now. – user202729 Dec 24 '21 at 06:25