Methoden und Klassennamen formatieren

Schriftbild, Absätze und Auflistungen einstellen


Masterarbeiter

Methoden und Klassennamen formatieren

Beitrag von Masterarbeiter »

Ich habe gegoogelt, konnte aber wegen den vieldeutigen Begriffen nichts passendes finden. Ich suche eine Möglichkeit, Methoden- und Klassennamen auf einfache Art und Weise anders zu formatieren als der übrige Text. Das kennt man ja so aus dem meisten Programmierhandbüchern.

Wie geht das am einfachsten? Ich nutze scrbook.

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Stichwort Textauszeichnung. Das sollte aber in jeder halbwegs guten LaTeX Einführung beschrieben sein. \emph oder slanted bieten sich an. Typewriter oder so zerhacken den Text doch sehr, auch wenn das dann sehr klar macht, dass es sich um irgendwelchen Code handelt.

Und auf deine ursprüngliche Frage zurück zu kommen, was am einfachsten geht, denke ich kann man dir keine hinreichende Antwort geben, weil Textauszeichnung ist mit LaTeX per se nicht "schwierig".
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Du solltest Dir IMHO semantisch logische Makros definieren. So spiegelt der Quelltext den Inhalt wieder und Du hast einfache Möglichkeiten das Layout sowohl global als auch lokal anzupassen:
\documentclass{article}
\usepackage[T1]{fontenc}

\usepackage{xcolor}

% Klasse:
\colorlet{class}{black} % Farbe
\newcommand\classformat{\bfseries} % Stil
\newcommand*\class[1]{\textcolor{class}{{\classformat#1}}}

% Methode:
\colorlet{method}{red} % Farbe
\newcommand\methodformat{\itshape} % Stil
\newcommand*\method[1]{\textcolor{method}{{\methodformat#1}}}

\begin{document}

\class{klasse} normaler Text \method{methode}

\end{document}
Gruß[/code]
Clemens
Paketauthor

Masterarbeiter

Masterarbeiter

Beitrag von Masterarbeiter »

Ich habs jetzt mit
%Code im Text
\newcommand{\code}[1]{\texttt{#1}}
Gelöst.

Eine Frage hätte ich aber noch: Wie kann ich die description-Umgebung so ändern, dass die normalerweise fett gedruckten Begriffe so erscheinen wie in code?

Das brauche ich für die Funktionsreferenz im Anhang.

Schreibt man Methoden eigentlich grundsätzlich mit () oder reicht der Name?

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Re: Masterarbeiter

Beitrag von bloodworks »

Masterarbeiter hat geschrieben:Ich habs jetzt mit
%Code im Text
\newcommand{\code}[1]{\texttt{#1}}
Gelöst.

Eine Frage hätte ich aber noch: Wie kann ich die description-Umgebung so ändern, dass die normalerweise fett gedruckten Begriffe so erscheinen wie in code?

Das brauche ich für die Funktionsreferenz im Anhang.

Schreibt man Methoden eigentlich grundsätzlich mit () oder reicht der Name?
Ich halte Methoden im Text als Typewriter auszugeben für eine absolute Unsitte. Aber das ist ja nicht mein Bier...

Wenn du KOMASkript verwendest kannst du auf das description label mit setkomafont und descriptionlabel als Argument zugreifen.

Methoden kann man grundsätzlich nicht mir irgendwas schreiben das hängt ganz und gar von der Sprache ab. Und innerhalb der Sparche ob diese Sprache einen Aufruf ohne Klammern zulässt und wenn ja ob das einen Unterschied macht. Wenn das nicht der Fall ist, ists egal, sofer du deinem Leser vorher erklärt hast, dass man Methoden immer mit Klammern hinschreibt. Aber das ist eher eine Frage der Logik als des Schriftsatzes.
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Masterarbeiter

Beitrag von Masterarbeiter »

Kursiv geht auch nicht, das verwende ich für neue Begriffe. Fett zerstört den Textfluss noch mehr. Was würdest du denn machen? Durch das Kommando \code kann ich ja ganz fix neue Stile probieren.

Danke für die Tipps, werde ich morgen mal probieren, jetzt gucke ich erstmal Fußball :-) Ach, noch eine Frage, ich will description nicht ÜBERALL ändern, sondern an zwei Stellen im Dokument, wo eben Funktionen aufgelistet werden. Sonst soll alles so bleiben wie es ist. Wie stelle ich das an?

Mit den Klammern ist vorallem eine Frage was da Standard ist. Ich programmiere in Java. Die Frage ist aber, ob in anderen Arbeiten die Methodennamen mit Klammern geschrieben werden oder eher ohne. Ich schreibe ja meistens auch "in der Methode xyz()..." und nicht "in xyz()" von daher sollte es so oder so klar sein. Es ist nur die Frage, was da Standard ist.

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

»enumitem« ist praktisch für solche Zwecke.
\documentclass{scrartcl}
\usepackage{enumitem}

\begin{document}

\begin{description}[font=\ttfamily]
 \item[nicht proportionale] description
\end{description}

\begin{description}
 \item[normale] description
\end{description}

\end{document}
Grüße
Clemens
Paketauthor

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Masterarbeiter hat geschrieben: Mit den Klammern ist vorallem eine Frage was da Standard ist. Ich programmiere in Java. Die Frage ist aber, ob in anderen Arbeiten die Methodennamen mit Klammern geschrieben werden oder eher ohne. Ich schreibe ja meistens auch "in der Methode xyz()..." und nicht "in xyz()" von daher sollte es so oder so klar sein. Es ist nur die Frage, was da Standard ist.
Mhhm also ich hab grad mal in Essential C rein geschaut und die schreiben ohne Klammern.
Da ich nie ein Java Buch gelesen habe (ich bin gegen Insellösungen) kann ich dir leider nicht sagen was unter javanern (oder Javanesern?) so üblich ist. Ich denke aber wenn du über die Methode redest so wie "Integer.parseInt ist eine Funktion, die es möglich macht..."
dann würde ich die Klammern weg lassen. Wenn du aber den Aufruf beschreibst so wie "als nächstes folgt der Aufruf Integer.parseInt() um den Datentyp zu verändern" dann kann man imho die Klammern hinmachen, weil die zum Aufruf gehören.

Wenn du italic nicht nehmen möchtest versuch dich mal slanted (geneigt) \textsl{}.


Wenn du bei Typewriter bleiben möchtest achte besonders auf die richtige Größe. Nichts ist schlimmer als die falsche (unpassende) Größe.
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Masterarbeiter

Beitrag von Masterarbeiter »

cgnieder hat geschrieben:»enumitem« ist praktisch für solche Zwecke.
\documentclass{scrartcl}
\usepackage{enumitem}

\begin{document}

\begin{description}[font=\ttfamily]
 \item[nicht proportionale] description
\end{description}

\begin{description}
 \item[normale] description
\end{description}

\end{document}
Grüße
Klappt bei mir leider garnicht.

! LaTeX Error: Something's wrong--perhaps a missing \item.

Wenn ich das font wegmache gehts sofort.

Also ohne Klammern ist es definitiv schöner. Lasse sie also weg :-)

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Masterarbeiter hat geschrieben:Klappt bei mir leider garnicht.

! LaTeX Error: Something's wrong--perhaps a missing \item.

Wenn ich das font wegmache gehts sofort.
Hast Du das Beispiel so wie es ist verwendet? Vielleicht hast Du eine ältere Version von »enumitem«?

Gruß
Clemens
Paketauthor

Antworten