Symbol "<<" bei semiverbatim (beamer class)

Schriftbild, Absätze und Auflistungen einstellen


meepleep
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mo 26. Okt 2009, 20:30

Symbol "<<" bei semiverbatim (beamer class)

Beitrag von meepleep »

Vorweg: Ja, ich habe Google und die Forumsuche bemüht.

Folgendes: Ich benötige den
<<
-Operator (ja, in genau dieser Form) in einer semiverbatim-Umgebung.

Gebe ich jetzt
\begin{semiverbatim}
list1 << list2;              // Konkatenation von Listen...
\end{semiverbatim}
ein, wird aus dem "<<" ein "«" (also ein Ein-Zeichen-Symbol). Das find ich total unlogisch, weeeil nämlich ;): In der Doku (beameruserguide.pdf) steht folgendes:
The text inside this environment is typeset like verbatim text. However, the characters \, {, and } retain their meaning.
Und verbatim macht das nicht.

Ich will ja gar nicht wissen, was genau miktex (2.7, wer's genau wissen will) schon wieder geritten hat, dass er das Zeichen automatisch konvertiert - ich will nur wissen: Wie schalt ich's ab?

Weiß das zufälligerweise jemand?

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2759
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

semiverbatim-Umgebung

Beitrag von Stefan Kottwitz »

Hallo,

bei mir bleiben diese beiden Zeichen als zwei einzelne Zeichen erhalten, wenn ich genau diesen Code verwende. Daher ist bei Dir vmtl. noch etwas anders, poste ein komplettes Beispiel.
Das Verhalten hängt auch von der verwendeten Schriftcodierung ab.

Viele Grüße,

Stefan

meepleep
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mo 26. Okt 2009, 20:30

Beitrag von meepleep »

Interessant. Dann wird es wohl irgendwas mit fontenc sein, was? Naja, hier mal der (wahrscheinlich interessante Teil des) Header(s):

\documentclass{beamer}

\mode<presentation>
{
    \usetheme{Warsaw}
    % oder ...
	\useoutertheme{infolines}
    \setbeamercovered{transparent}
    % oder auch nicht
}

% Deutsche Trennmuster laden und Systemtitel ("Abbildungsverzeichnis", etc.) ändern
\usepackage[ngerman]{babel}

% advanced math
\usepackage{amsmath}
\usepackage{amssymb}

% Deutsche Umlaute (ä, ß, etc. können direkt benutzt werden).
\usepackage[ansinew]{inputenc}


\usepackage{times}
\usepackage[T1]{fontenc}
% Oder was auch immer. Zu beachten ist, das Font und Encoding passen
% müssen. Falls T1 nicht funktioniert, kann man versuchen, die Zeile
% mit fontenc zu löschen.


\begin{document}


... usw.

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2759
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Sonderzeichen mit T1-Codierung

Beitrag von Stefan Kottwitz »

Ja, das andere Verhalten tritt durch
\usepackage[T1]{fontenc}
auf. Das sollte dann aber durch Einfügen von {} zu beheben sein:
\begin{semiverbatim}
list1 <{}< list2;              // Konkatenation von Listen...
\end{semiverbatim}
Stefan

meepleep
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mo 26. Okt 2009, 20:30

Beitrag von meepleep »

Juhu, es funktioniert. Auf die Art und Weise konnte ich auch das Problem lösen, dass aus den ""e"s "ë"s geworden sind.

Dankeschön!

Aber ich glaube ich frage jetzt lieber nicht, was genau {} bewirkt... der PC war heute schon mehr als einmal kurz davor, auf der Straße zu landen. :lol:

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2759
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Klammerung

Beitrag von Stefan Kottwitz »

Das ist einfach nur eine "leere Gruppe", die nichts bedeutet, eine Klammerung um nichts, jedoch trennt sowas Zeichen, die sonst zusammengefasst werden würden. Beispielsweise steht -- nicht für zwei Striche, sondern für einen langen - auch hier kann man diese Ersetzung verhindern, indem man -{}- schreibt.

Stefan

meepleep
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mo 26. Okt 2009, 20:30

Beitrag von meepleep »

He ich hatte nicht gefragt ;).

Aber wo wir schon mal dabei sind:
Zählt sowas nicht als dirty hack? Das ist nämlich mein Eindruck von LaTeX: Dass alles Mögliche nur durch dirty hacks gelöst wird/gelöst werden kann. Ich meine, im Großen und Ganzen gefällt sie mir ja schon, die Software (v.a. gibt es für Mathematik-affine Menschen kaum sinnvolle Alternativen), aber manchmal, wenn da wieder irgendwelche nervigen futzeligen Design-Problemchen sind, die eigentlich nur Kleinigkeiten sind, an deren Lösung man dann aber mindestens eine Stunde sitzt*), könnte ich es glatt in die Tonne treten.
Dann frage ich mich, ob es wirklich so inkonsistent ist, oder ob ich die Logik nur (noch) nicht durchblicke.


*) Z.B. neulich eine halbe Stunde, um die Höhe einer \framebox zu definieren: Ich wollte sie über eine halbe Seite ziehen. Am Ende habe ich sie dann mit einer 100 mm hohen \rule-Box gefüllt, deren Breite ich auf 0 mm reduziert habe (sonst hätte ich eine schwarze Box drin gehabt). Und schon wieder ein Hack, juhu. Immerhin hat er funktioniert.

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2759
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

LaTeX

Beitrag von Stefan Kottwitz »

meepleep hat geschrieben:He ich hatte nicht gefragt ;).
Na ich sag lieber was, ehe Du Deinem PC was tust. :D Der tut auch nur seine Arbeit.
meepleep hat geschrieben:Zählt sowas nicht als dirty hack? Das ist nämlich mein Eindruck von LaTeX: Dass alles Mögliche nur durch dirty hacks gelöst wird/gelöst werden kann.

Man kann alles auch sauber lösen. Manchmal mag ein hack reichen, insbesondere wenn man weiß, was man tut, und wenn das Gewünschte erreicht wird, der Nutzer das Ergebnis erhält. Was für eine praktische Lösung ok ist, würde ich in einem wiederverwendbaren style file anders machen. Und - oft stellen Nutzer Fragen und nennen weder Dokumentklasse noch genutzte Pakete - da gebe ich im Forum auch mal einen hack-Vorschlag, der universell funktioniert statt "sauber" zu sein, doch dafür muss man Rückfragen nach Klasse etc. stellen - es funktioniert dennoch. Ich kann gern Beispiele geben.

Zurück zu << und --, so unlogisch ist es gar nicht, dass man zusammengezogene Symbole durch leeres Makro trennt, oder durch Klammerung schützt, {<}{<} und {-}{-} würden genausogut funktionieren.
meepleep hat geschrieben:Dann frage ich mich, ob es wirklich so inkonsistent ist, oder ob ich die Logik nur (noch) nicht durchblicke.
TeX ist sehr arm an Fehlern - der Schöpfer Donald E. Knuth hat finanzielle Belohnung auf gefundene Fehler ausgesetzt, die selten genug entdeckt werden. Zusatzpakete sind natürlich eine andere Frage - doch die sind in oft in fortwährender Wartung und Verbesserung.

Diese Makro-Sprache ist nicht einfach, plain TeX ist auch recht schwierig, doch es ist durchschaubar - es liegt alles offen im Quellcode vor. Daher lassen sich scheinbar unverständliches Verhalten und Probleme und auch Verbesserungen ganz exakt klären! Wenn man es nicht selbst kann - in einem Forum wie diesem schafft das dann wohl eben ein anderer. Doch mach das mal mit unfreier Software und deren versiegeltem Code.

Schon hunderte Male habe ich kleine LaTeX-Problemchen geprüft und mit Lösungen oder eben auch "hacks" in Foren geholfen - ich wünschte mir, ich könnte das genauso tun, wenn an meiner Arbeitsstelle wieder jemandem Word oder Excel wortlos abstürzt samt Datenverlust oder sich einfach unvorhergesehen und unerklärtbar verhält. Mit offenen Quellen wäre sowas jedoch erklärbar.

Stefan

meepleep
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mo 26. Okt 2009, 20:30

Beitrag von meepleep »

Hallo nochmal,

vielen Dank für deine ausführliche(n) Antwort(en). Es ist m.E. selten geworden, dass sich jemand so viel Zeit nimmt :).

Das mit dem PC war nicht ernst gemeint ... er kann ja schließlich auch nichts für die Begrenztheit von der Software, die auf ihm läuft. Wobei ich dir beipflichten muss, dass man vielleicht eher Word und Co als "begrenzt" bezeichnen sollte als das quelloffene LaTeX.

Nun, auf jeden Fall hab ich mir jetzt endlich mal ein Buch zum Thema LaTeX geleistet ("LaTeX - Der typografische Einstieg" von Tobias Berndt). Vielleicht blicke ich dann demnächst mal besser durch :D.

Antworten