2

Sometimes I see questions talking about using "=, others just use \hyp{}. Are they the same thing?

For example, on these questions you find both "= and \hyp use:

  1. Hyphenation of words containing slash
  2. LaTeX not hyphenating properly, text running off page
  3. How to hyphenate a reference that has a lastname with a hyphen?

I tried creating this minimal example, but "= is not working:

\documentclass[10pt,a5paper,twoside]{article}
\usepackage{hyphenat}
\usepackage[english]{babel}

\begin{document}

\section{Show font}

    Tests.

    Encoding-encoding-encoding-encoding-encoding-encoding-encoding-encoding-encoding-encoding.

    Encoding"=encoding"=encoding"=encoding"=encoding"=encoding"=encoding"=encoding"=encoding"=encoding.

    Encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding.

\end{document}

enter image description here

user
  • 4,745

2 Answers2

2

To get the "= shorthand directive to work in your document, you must replace

 \usepackage[english]{babel}

with

 \usepackage[ngerman,english]{babel} 
 \useshorthands{"} 
 \addto\extrasenglish{\languageshorthands{ngerman}}

See babel: Adding ngerman' s language shorthands to english as the main document language for more information on this subject.

Once this adjustment is made, it would appear that \hyp{...} and "= perform very similarly. The "= would appear to be a lot easier to use in practice, though.

The vertical frame lines in the following screenshot are placed by the showframe package.

enter image description here

\documentclass[10pt,a5paper,twoside]{article}

\usepackage{hyphenat} % for "\hyp" macro

%% See https://tex.stackexchange.com/q/27198/5001:
\usepackage[ngerman,english]{babel} 
\useshorthands{"} 
\addto\extrasenglish{\languageshorthands{ngerman}}

\usepackage{showframe,microtype} % just for this example
\begin{document}
*

Encoding-encoding-encoding-encoding-encoding-encoding-encoding-encoding-encoding-encoding.

Encoding"=encoding"=encoding"=encoding"=encoding"=encoding"=encoding"=encoding"=encoding"=encoding.

Encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding.

\end{document}
Mico
  • 506,678
1

There is no predefined behaviour of "= in babel and it's language dependent (but in most cases it's a hard hyphen). Instead of loading ngerman, you can define it directly in the following way:

\useshorthands{"} 
\defineshorthand{"=}{\babelhyphen{hard}}
Javier Bezos
  • 10,003