2009-08-25 19 views
14

co uważasz za najlepszy sposób prezentacji nazw klas w dokumentach LaTeX (pisanie o oprogramowaniu).Jak reprezentować nazwy klas w LaTeX?

Obecnie używam \texttt (czcionka o stałej szerokości czcionki), która w przeciwnym razie działa dobrze, ale moje nazwy klas kończą się "nad" marginesami.

Więc pytam dla obu

  • alternatywa (przystojny) sposób reprezentacji nazw klas
  • sposób, aby upewnić się, że moi ClassNames nie pójdzie na marginesie

br, Touko

+0

Jeśli ktoś próbuje przygotowana nazwę klasy LaTeX, jest zwyczajem, aby użyć '\ textsf {classname}'. –

Odpowiedz

17

\texttt jest dobrym wyborem.

Jeśli nazwy twoich klas kończą się "przekraczaniem marginesów", to dlatego, że LaTeX domyślnie nie interpretuje tekstu \texttt. (Prawdopodobnie otrzymujesz ostrzeżenia o "nadmiernych hboxach" z tego powodu.)

Istnieją dwa możliwe rozwiązania tego problemu: albo przepisz tekst, aby nazwy klas nie pojawiały się na końcach linii, albo powiedz LaTeXowi do dzielenia nazw klas (jeśli jest to do przyjęcia). W przypadku tego ostatniego sprawdź: hyphenat package. Spróbuj użyć go tak:

\usepackage[htt]{hyphenat} 

Będziesz także prawdopodobnie trzeba powiedzieć LaTeX gdzie do dzielenia się swoimi nazwy klas, tak:

This\-Is\-My\-Long\-Class\-Name 

(dla klasy ThisIsMyLongClassName).

+2

Dzięki. Aby uzyskać nazwy klas o "zbyt dużym marginesie", aby przejść do następnej linii za pomocą hyphenatu, \ sloppy wydaje się działać poprawnie. Kiedy uznał ten dzielenia, więcej informacji stwierdzono w http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyphoff – Touko

10

Być może lepiej byłoby, aby zdefiniować własne makra:

\newcommand{\classname}[1]{\texttt{#1}} 

które następnie używać tak:

\classname{MyClass} 

Rozwiązanie to oznacza, że ​​nazwy klas są oznaczone jako takie, a nie jako maszyny do pisania tekst w stylu.

+0

Właściwie mam już to robić, ale tak, to dobry punkt nadal, dzięki. – Touko

4

Można użyć pakietu url, który pomimo swojej nazwy może być używany do wpisywania dowolnego tekstu w czcionce maszyny do pisania, pozwalając na łamanie linii.

+0

Świetne rozwiązanie :) –

+0

cóż, \ url {} ma mnóstwo wbudowanej logiki poświęconej składaniu ... adresów URL! próba nadużywania tego samego, aby wypisywać losowe rzeczy w czcionce maszyny do pisania może wydawać się atrakcyjna, ale może cię dobrze ugryźć – Gyom

+0

@Gyom Powiedziałem "pakiet url", a nie "polecenie \ url". Dokumentacja pakietu mówi: "[jest] przeznaczona dla adresów e-mail, łączy hipertekstowych, katalogów/ścieżek itp., Które normalnie nie mają spacji. [...] [N] ew podobne do url polecenia mogą być zdefiniowane za pomocą \ cs { urldef}." –