Begriffe die Wiederholt werden. Abstand danach flexibel?

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: Begriffe die Wiederholt werden. Abstand danach flexibel?

von Trauminsel » Di 24. Mai 2016, 09:22

Ja ich habe den Beitrag gelesen und sehe auch die Nachteile von xspace

Vielen Dank.

von cgnieder » Di 24. Mai 2016, 09:06

Die beste Lösung ist es, das Leerzeichen aus der Definition herauszunehmen. Das ist normale Praxis und Dein Makro wird sich verhalten, wie man das von einem Makro erwartet (siehe Link in meinem ersten Post). Für alle, die das partout nicht wollen, gibt es wie bereits erwähnt xspace.

Grüße

von Trauminsel » Di 24. Mai 2016, 09:03

Ja aber wenn ich das Leerzeichen rausnehme, habe ich überall das Problem wo es ein Leerzeichen benötigt.

\StrategieMoral ist

Dann macht es dazwischen keinen Leerschlag. Die Überlegung war eher ob es möglich ist zu sagen:

immer wenn nach Befehl x ein , oder : dann verzichte auf den Leerschlag

Das verschiebt das Problem nur.

EDIT: Sorry ich habe den Tipp mit Xspace überlesen. Schaue ich mir mal an. Danke.

von cgnieder » Mo 23. Mai 2016, 16:04

Ansonsten xspace.

Grüße

von cgnieder » Mo 23. Mai 2016, 15:59

Nimm das Leerzeichen aus der Definition raus und füge es wo nötig im Text per Backslash ein:
\documentclass[a4paper,12pt, draft]{report} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{lmodern} 
\usepackage[ngerman]{babel} 

\newcommand*{\wichtig}[1]{\textit{#1}}

\newcommand*{\StrategieMoral}{\wichtig{Strategie der moralischen Verpflichtung}}% Leerzeichen entfernt 

\begin{document} 

Das ist ein Beispiel hier geht alles so wie es soll \StrategieMoral\
aber hier eben leider nicht \StrategieMoral: 
und diese Lösung hier scheint mir ungünstig, da händisch: 


\end{document}
Siehe hier für ein paar Hintergrundinfos: http://texwelt.de/wissen/fragen/17/waru ... n-befehlen

Grüße

Begriffe die Wiederholt werden. Abstand danach flexibel?

von Trauminsel » Mo 23. Mai 2016, 14:07

Guten Tag

Ich habe mehre Begriffe die in meiner Arbeit wiederholt werden. Da sich diese Begriffe zudem in ihrer exakten Formulierung leicht verändern können habe ich für diese Begriffe eigene Befehle definiert:

\newcommand*{\StrategieMoral}{\wichtig{Strategie der moralischen Verpflichtung }}

Wenn ich diese nun in einem normalen Text einsetzt ist alles wunderbar

Doch wenn hinter das Wort ein Komma soll macht es natürlich zwischen dem Begiff und dem Komma einen Leerschlag.

Das Problem habe ich händisch gelöst in dem ich bei den wenigen Punkten wo dies vorkommt einfach

\hspace*{-4pt}: einfüge.

Nun gibt es eine Möglichkeit, den Befehl so umzugestalten, dass er in einem normalen Text einen Leerschlag macht. Aber wenn direkt ein Komma oder Doppelpunkt etc. daran angeschlossen werden soll nicht oder muss ich hier weiter händisch verfahren?

Minimalbeispiel:
\documentclass[a4paper,12pt, draft]{report} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{lmodern} 
\usepackage[ngerman]{babel} 

\newcommand*{\wichtig}[1]{\textit{#1}}

\newcommand*{\StrategieMoral}{\wichtig{Strategie der moralischen Verpflichtung }} 

\begin{document} 

Das ist ein Beispiel hier geht alles so wie es soll \StrategieMoral 
aber hier eben leider nicht \StrategieMoral: 
und diese Lösung hier scheint mir ungünstig, da händisch: 
\StrategieMoral\hspace*{-4pt}: 

\end{document} 


Nach oben