Does LaTeX define a semantic equivalent of \textbf ?
You can define your own \strong
command which switches between strong and normal text like \emph
does with italic:
\documentclass{article}
\makeatletter
\newcommand{\strong}[1]{\@strong{#1}}
\newcommand{\@@strong}[1]{\textbf{\let\@strong\@@@strong#1}}
\newcommand{\@@@strong}[1]{\textnormal{\let\@strong\@@strong#1}}
\let\@strong\@@strong
\makeatother
\begin{document}
Text \strong{strong text \strong{strong2 \strong{st-\strong{st}-st} yyy } xxxx} after
\end{document}
Or you can define different levels of "strong" using a counter:
\documentclass{article}
\usepackage{xcolor}
\newcounter{stronglevel}
\setcounter{stronglevel}{1}
\newcommand{\strong}[1]{%
\csname strong\roman{stronglevel}\endcsname{{%
\advance\value{stronglevel} by 1\relax
#1%
}}%
}
\newcommand{\strongi}[1]{\textbf{#1}}
\newcommand{\strongii}[1]{{\blendcolors*{!50!red}\color{.}#1}}
\newcommand{\strongiii}[1]{\textsf{#1}}
\newcommand{\strongiv}[1]{{\blendcolors*{!50!red}\color{.}#1}}
\begin{document}
Text \strong{strong text \strong{strong2 \strong{st-\strong{st}-st} yyy } xxxx} after \strong{next}.
\end{document}
\emph
doesn't render always as \textit
. It switches between upright and italic as you can see if you nest \emph
commands:
\documentclass{article}
\begin{document}
abc \emph{some text \emph{emph} some text}
\end{document}
And there is no similar command which switches between bold and normal, but it would be easy to define. Simply copy the definition of \em
and \emph
from latex.ltx.
The answer to your first question is "no, but it's easy to do it". Just add \let\strong\textbf
to your preamble.
The second question's answer is "no, but there's a package that does it in a very clever way". The csquotes
defines \enquote
which does what you want.