1つの段落でハイフネーションを有効にする

1つの段落でハイフネーションを有効にする

多くの人は、小さなテキスト ブロックでハイフネーションを無効にしたいと考えています。私は逆の問題を抱えています。ドキュメント全体でハイフネーションを無効にしており、1 つの段落だけでハイフネーションを有効にしたいのです。これを行う簡単な方法はありますか?

具体的には、

\hyphenpenalty=10000
\usepackage[none]{hyphenat}  

文書全体でハイフネーションを無効にします。 1 つの段落でハイフネーションを有効にする方法はありますか?

ドキュメントによるとhyphenat、「none」オプションは次のコードを実行するようです。

\hyphenpenalty=0
\exhyphenpenalty=0
\relax

そこで、次のように括弧を使用して、ペナルティが緩和された別のコード ブロックを作成してみました。

{ 
  \hyphenpenalty=10000
  \exhyphenpenalty=10000
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do....
}

しかし、うまくいきませんでした。「Lorem ipsum」の部分は、まだハイフンで区切られていません。

答え1

ハイフネーションを無効にしたい人がいる理由がわかりません。

しかし、設定

\hyphenpenalty=10000
\exhyphenpenalty=10000

それを全面的に禁止します。これがオプションnoneの機能ですhyphenat:

\DeclareOption{none}%
    {\hyphenpenalty=10000\exhyphenpenalty=10000\relax}

1つの段落だけ有効にしたい場合は、次のように書くのが最も簡単です。

Lorem ipsum ... amet
{\hyphenpenalty=50 \exhyphenpenalty 50\par}

The following paragraph will not be hyphenated

または、新しい環境を定義します。

\newenvironment{hyphenatedparagraph}
 {\par\hyphenpenalty=50 \exhyphenpenalty 50 }
 {\par}

その後

\begin{hyphenatedparagraph}
Lorem ipsum ... amet
\end{hyphenatedparagraph}

同じことをするでしょう。

関連情報