2009-08-25 9 views
14

Was sehen Sie als beste Möglichkeit, Klassennamen in LaTeX-Dokumenten zu präsentieren (über eine Software schreiben)?Wie man Klassennamen in LaTeX darstellt?

Ich benutze derzeit \texttt (monospaced typewrite font), die sonst gut funktioniert, aber meine Klassennamen enden goind "über" die Ränder.

Also, ich frage für beide

  • Alternative (gut aussehend) Weg, um die Klassennamen repräsentieren
  • Art und Weise meine Klassennamen, um sicherzustellen, nicht über die Ränder gehen

br, Touko

+0

Wenn jemand versucht, den Namen einer LaTeX-Klasse zu setzen, ist es üblich, '\ textsf {classname}' zu verwenden. –

Antwort

17

\texttt ist eine gute Wahl.

Wenn Ihre Klassennamen "über die Ränder gehen", liegt das daran, dass LaTeX \texttt Text standardmäßig nicht mit Bindestrich trennt. (Sie erhalten wahrscheinlich deshalb Warnungen über "übervolle hboxes".)

Es gibt zwei mögliche Lösungen: Entweder schreiben Sie Ihren Text neu, so dass Klassennamen nicht an den Enden von Zeilen erscheinen, oder LaTeX sagen um Ihre Klassennamen zu trennen (wenn das für Sie akzeptabel ist). Für letzteres, überprüfen Sie die hyphenat package. Versuchen Sie es mit es wie folgt aus:

\usepackage[htt]{hyphenat} 

Sie werden wahrscheinlich auch LaTeX sagen müssen, wo Ihre Klassennamen Silbentrennung, wie folgt aus:

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

(für Klasse ThisIsMyLongClassName).

+2

Danke. Um zu erreichen, dass die Klassennamen "über Rand" gehen, um mit Bindestrich zur nächsten Zeile zu gehen, scheint \ sloppy gut zu funktionieren. Wenn diese Silbentrennung gefunden wurde, mehr Informationen gefunden in http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyphoff – Touko

10

Vielleicht wäre besser Sie Ihre eigenen Makros zu definieren:

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

die Sie dann wie folgt verwenden:

\classname{MyClass} 

Dadurch bedeutet, dass Ihre Klassennamen als solche gekennzeichnet sind, nicht als Schreibmaschine -Stil-Text.

+0

Eigentlich mache ich das schon, aber ja, guter Punkt noch, danke. – Touko

4

Sie könnten das url-Paket verwenden, das trotz seines Namens verwendet werden kann, um jede Art von Text in einer Schreibmaschinenschriftart einzugeben, was Zeilenumbrüche ermöglicht.

+0

Großartige Lösung :) –

+0

gut, \ url {} hat viele eingebaute Logik zum Setzen von ... urls gewidmet! zu versuchen, es einfach zu missbrauchen, um gelegentliche Sachen in einer Schreibmaschinenschriftart zu setzen, kann ein erster Anschein scheinen, aber könnte sehr gut dich später beißen – Gyom

+0

@Gyom Ich sagte "das URL-Paket", nicht "der \ url Befehl". Die Paketdokumentation sagt "[it] ist für E-Mail-Adressen, Hypertext-Links, Verzeichnisse/Pfade usw. gedacht, die normalerweise keine Leerzeichen haben. [...] [N] url-ähnliche Befehle können mit \ cs { urldef}." –