2010-01-21 7 views
27

w moim raporcie, piszę kilka nazwisk lub nazw zmiennych klasowych wewnątrz akapitu, a ja chcę te nazwy mają być świadczone w czcionce o stałej szerokości.Zapobieganie texttt tag LaTeX od pozwalając jej treści przechodzącej nad marginesem

Przykład:

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

Czasami, gdy jedno słowo wewnątrz znacznika \ texttt jest renderowane na końcu wiersza, słowo nie przejść do następnej linii, a nie ma przerwy w nim ani: koniec słowa przekracza margines.

Jak powinienem obsługiwać taki przypadek?

Pozdrawiam.

Odpowiedz

31

Nie ma to wiele wspólnego z \texttt. Słowo jest po prostu zbyt długie, a LaTeX nie wie, jak je rozdzielić. Można powiedzieć, to jak to zrobić ręcznie, poprzez uznanie zasady dzielenia wyrazów:

\hyphenation{base-Admin-Configuration} 

Komenda \hyphenation może trwać dowolnie wiele słów, oddzielając je spacją.

Ewentualnie, jeśli to nie podstęp, można wprowadzić ręcznie podpowiedzi hypenation w tekście:

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

będzie wyświetlana rzeczywista hyphenation Only - nieużywane tzw łączniki uznaniowe (\-) nie będzie być wyświetlane, aby w razie potrzeby móc swobodnie posypać je tekstem.

[Read more about hyphenation in LaTeX]

Aby zapobiec LaTeX od przepełnione linie w zasadzie, cały ustęp mogą być zapakowane w środowisku sloppypar (dzięki wolę wskazując na to uwagę w komentarzach):

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

Zarządza parametrami algorytmu łamania linii (w szczególności: \tolerance). Wadą: może to prowadzić do bardzo brzydkich odstępów. Alternatywnie, \tolerance i inne wewnętrzne parametry mogą być manipulowane bezpośrednio - TeX FAQ shows how.

+0

Szybkie pytanie: Czy jest możliwe, aby uzyskać LaTeX przełamać linię wcześnie zamiast przekroczenia marginesu? –

+1

@Anon: cóż, zawsze możesz * wymusić podział wiersza za pomocą '\\' lub '\ newline'. Lub możesz umieścić tekst w środowisku "flushleft" - wtedy nie będzie to uzasadnione. Ale na ogół nie, nie o tym wiem. Być może możliwe jest dostrojenie wewnętrznych parametrów algorytmu łamania linii. Nie wiem. –

+5

Najbliższą rzeczą, jaką można uzyskać, jest zawarcie akapitu z '\ begin {sloppypar} ... \ end {sloppypar}', aby umożliwić gorsze linebreaks. (Lub napisz '\ sloppy', aby aktywować go globalnie.) –

Powiązane problemy