Text durchstreichen mit ulem/sout und inline kommandos

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Text durchstreichen mit ulem/sout und inline kommandos

Re: Text durchstreichen mit ulem/sout und inline kommandos

von Muschelmann » Di 20. Dez 2022, 19:35

ich meine ja nur hat geschrieben:
Di 20. Dez 2022, 12:59
Du hast das falsch verstanden.
In der Tat. Danke.

Re: Text durchstreichen mit ulem/sout und inline kommandos

von ich meine ja nur » Di 20. Dez 2022, 12:59

Du hast das falsch verstanden: babel ist nicht überflüssig. Überflüssig ist, Option ngerman ein weiteres Mal anzugeben. Alle Pakete bekommen auch alle Optionen von \documentclass zu sehen.

Re: Text durchstreichen mit ulem/sout und inline kommandos

von Muschelmann » Di 20. Dez 2022, 10:57

Danke, das hats gelöst.

Das "überflüssige" babel paket ist zwar für das Minimalbeispiel tatsächlich überflüssig, aber \numrange aus dem siunitx Paket hat die Angabe in der Dokumentenklasse zumindest eine Zeitlang ignoriert und fleissig "to" statt "bis" ausgegeben. Ob das nach zig Updates aber immer noch so ist habe ich noch nicht wieder ausprobiert.

Re: Text durchstreichen mit ulem/sout und inline kommandos

von ich meine ja nur » Di 20. Dez 2022, 08:47

Manchmal reichen zusätzliche Klammern tatsächlich nicht. Dann hilft i. d. R. die Verwendung einer \mbox:
\documentclass[ngerman,
  paper=a4% überflüssig, weil Voreinstellung
]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[
  ngerman% überflüssig, weil bei \documentclass bereits gesetzt
]{babel}
\usepackage{siunitx}
\usepackage{ulem}% Achtung: Definiert \em und \emph um! Ggf. besser mit Option normalem laden!

\begin{document}
	
Das ist ein Test.

\sout{Das ist ein Test.}

Das hier ist mit einer Temperatur \qty{150}{\celsius}

\textbf{Das hier ist mit einer Temperatur \qty{150}{\celsius}}

\sout{Das hier ist mit einer Temperatur {\mbox{\qty{150}{\celsius}}}}

\end{document}
Zu beachten ist ggf. dass Leerzeichen innerhalb von \mbox beim Zeilenausgleich für den Blocksatz nicht berücksichtigt werden. Sie können also breiter oder schmaler als die übrigen Leerzeichen der Zeile sein. Da aber an den Leerzeichen innerhalb der \mbox ohnehin kein Zeilenumbruch möglich ist, sollte man von vornherein darauf acht, ggf. lieber \mbox{\textbf{das}} \mbox{\textbf{ist}} oder \textbf{\mbox{das} \mbox{ist}} als \mbox{\textbf{das ist}} schreiben. Das nur als ergänzender Hinweis, der im konkreten Fall ohne Relevanz sein sollte.

Re: Text durchstreichen mit ulem/sout und inline kommandos

von Muschelmann » Mo 19. Dez 2022, 23:20

Da versteh ich nur Bahnhof...
You can usually solve the problem by enclosing the offending command in braces
hilft (mir) auch nicht weiter.

von Abc » Mo 19. Dez 2022, 22:45

Der dritte Abschnitt Complications in ulem geht darauf ein.

Text durchstreichen mit ulem/sout und inline kommandos

von Muschelmann » Mo 19. Dez 2022, 21:27

Guten Abend,

ich möchte Text durchstreichen und benutze dazu das ulem Paket, davon das Kommando \sout. Das funktioniert jedoch nur, wenn keine weiteren anderen Kommandos innerhalb des Textes vorkommen.
\documentclass[ngerman,paper=a4]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{siunitx}
\usepackage{ulem}

\begin{document}
	
Das ist ein Test.

\sout{Das ist ein Test.}

Das hier ist mit einer Temperatur \qty{150}{\celsius}

\textbf{Das hier ist mit einer Temperatur \qty{150}{\celsius}}

\sout{Das hier ist mit einer Temperatur \qty{150}{\celsius}}

\end{document}

Die Fehlermeldung lautet:
! Extra }, or forgotten \endgroup.
\UL@stop ... \UL@putbox \fi \else \egroup \egroup
\UL@putbox \fi \ifnum \UL@...
l.18 ... mit einer Temperatur \qty{150}{\celsius}}

I've deleted a group-closing symbol because it seems to be
spurious, as in `$x}$'. But perhaps the } is legitimate and
you forgot something else, as in `\hbox{$x}'. In such cases
the way to recover is to insert both the forgotten and the
deleted material, e.g., by typing `I$}'.

!
Das da nix fehlt oder zuviel ist sieht man ja am \textbf, Irgendwie kommt das Paket ulem da wohl mit den {} aus dem Tritt und meint wohl die } gehört schon zum \sout Befehl... Gibts da eine Möglichkeit das zu beheben oder ein anderes Paket? Oder gar etwas natives?

Gruss
Muschelmann

Nach oben