Duplikat zu: Was sollen die Kommentarzeichen (%) am Ende der Zeile?


Ich habe mir ein command definiert, das prüft, ob der erste optuonale Parameter gesetzt wird und dann entsprechend anders expandieren soll. Konkret definiere ich für eine mit tikz gesetzte Node ein Label und möchte es dann im Text referenzieren und zur Node springen. Das Problem, was ich habe ist, dass nun bei der Referenzierung im Text davor Leerzeichen bzw. Freiraum gesetzt wird. Wenn ich "manuell" referenziere, erscheint kein Freiraum. Warum passiert das und wie kann ich das verhindern?

Hier mein Beispiel:

Open in writeLaTeX
\documentclass{scrartcl}

\usepackage{tikz}
\usepackage{hyperref}

\newcommand{\labelNode}[2][]{ %
    \def\empty{}
    \def\temp{#1}
    \ifx\temp\empty
        \node[draw] {#2};
    \else
        \node[draw] (#1) {\raisebox{2ex}[0pt]{\hypertarget{meta:\detokenize{#1}}{}}#2
        \label{lbl:meta:\detokenize{#1}}};
    \fi
}

\newcommand{\nodeRef}[2][]{
    \def\empty{} %
    \def\temp{#1} %
    \ifx\temp\empty %
        \texttt{#2} %
    \else %
        \hyperlink{meta:\detokenize{#1}}{\texttt{#2}} %
    \fi %
}

\begin{document}

\section{First}

\subsection{Second}

\begin{tikzpicture}
    \labelNode[foobar]{FooBar};
\end{tikzpicture}

Und im Text wird \nodeRef[foobar]{FooBar} nun mit Leerzeichen referenziert.

Nun aber die nodeRef ohne Verwendung des Kommandos:
\hyperlink{meta:foobar}{\texttt{FooBar}}.

Liegt auf Seite \pageref{lbl:meta:foobar}, im Abschnitt \ref{lbl:meta:foobar}   .

\end{document}

gefragt 02 Dez '14, 07:46

ErnstZ's gravatar image

ErnstZ
541425
Akzeptiert: 83%

bearbeitet 03 Dez '14, 04:05

esdd's gravatar image

esdd
14.2k53251

\def\empty{} scheint ziemlich nutzlos: so ist \empty schon von vornherein definiert.

(02 Dez '14, 07:55) Clemens

@Clemens, vielen Dank. Durch Entfernen der Leerzeichen vor den %-Zeichen verschwindet der Freiraum, wie erwartet nach Lesen des von dir verlinkten Posts. Das mit den Leerzeichen wusste ich bisher noch nicht. Ich habe immer gedacht, die %-Zeichen werden benutzt, um sicherzustellen, dass Inhalt auf einer Zeile, der aus Versehen im nicht-sichtbaren Bereich des Editors hinzugefügt wurde, nicht berücksichtigt wird. Sowas kann ja mal passieren wenn die Katze über die Tastatur läuft ;) Wie machen wir das jetzt mit der Lösung? Du sollst ja für die Antwort belohnt werden.

(02 Dez '14, 08:08) ErnstZ
2

@ErnstZ wenn Du mich belohnen willst, dann gib doch einfach bei der anderen Frage Deine Stimme ab. (Da kannst Du sogar zweimal für mich stimmen...) Diese Frage können wir dann vielleicht am besten als Duplikat der anderen schließen.

(02 Dez '14, 09:41) Clemens

Die Frage wurde aus folgenden Grund geschlossen: "Duplikat einer anderen Frage: http://texwelt.de/wissen/fragen/16/was-sollen-die-kommentar-zeichen-am-ende-der-zeilen" durch ErnstZ 02 Dez '14, 09:44

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×45
×11

Frage gestellt: 02 Dez '14, 07:46

Frage wurde angeschaut: 881 Mal

Zuletzt aktualisiert: 03 Dez '14, 04:05