web-dev-qa-db-ja.com

\ textttLaTeXタグがそのコンテンツをマージンを超えさせないようにする

私のレポートでは、段落内にいくつかのクラス名または変数名を記述しており、これらの名前を等幅フォントでレンダリングしたいと考えています。

例:

This is my class name: \texttt{baseAdminConfiguration}.

\ textttタグ内の単一のWordが行の終わりにレンダリングされると、Wordは次の行に移動せず、中断もありません。Wordの終わりがマージンを超えます。

そのような場合はどうすればよいですか?

乾杯。

29
jersub

これは\textttとはあまり関係がありません。 Wordは単に長すぎるため、LaTeXはそれをハイフンでつなぐ方法を知りません。ハイフネーションルールを宣言することで、これを手動で行う方法を教えることができます。

\hyphenation{base-Admin-Configuration}

\hyphenationコマンドは、空白で区切られた任意の数の単語を使用できます。

または、これでうまくいかない場合は、テキストに手動の誇大広告のヒントを導入できます。

This is a long text that uses the Word \texttt{base\-Admin\-Configuration) …

実際のハイフンのみが表示されます。未使用のいわゆる任意のハイフン(\-)は表示されないため、必要に応じてテキストを自由に振りかけることができます。

[ LaTeXでのハイフネーションについてもっと読む ]

LaTeXが行をオーバーフローするのを防ぐために原則として、段落全体をsloppypar環境でラップすることができます(これを指摘してくれたWillに感謝します)コメントで):

\begin{sloppypar}
  Some text …
\end{sloppypar}

これは、改行アルゴリズムのパラメーター(特に、\tolerance)を操作します。欠点:これは非常に醜い間隔につながる可能性があります。または、\toleranceおよびその他の内部パラメータを直接操作することもできます– TeX FAQ 方法を示します

35
Konrad Rudolph

解決策は非常に簡単です。urlパッケージを使用して、textttコマンドをpathコマンドに置き換えます。

私はここでそれを見つけました https://tex.stackexchange.com/questions/299/how-to-get-long-texttt-sections-to-break ウィルロバートソンの投稿で。

乾杯

4
glarrain