PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Unischtbare Zeichen vermeiden



DasPferd
23-02-2012, 23:31
Mein Problem ist, dass er für jedes Hypersetup ein Leerzeichen oder Absatz in den Text rein macht, in dem ich die Funktion aufrufe.



\newcommand{\W}[2]{
%Farbiger Verweis
\hypersetup{
colorlinks=true, % false: boxed links; true: colored links
linkcolor=pink % color of internal links
}

\hyperlink{#1}{#2}

%Farbe wieder zurück
\hypersetup{
colorlinks=true, % false: boxed links; true: colored links
linkcolor=black % color of internal links
}
}


Beispiel: (\W{1}{1}) wird zu ( 1 ) statt (1). Setze ich \hyperlink{1}{1} bekomme ich (1).

PS: Auch wenn ich in der Funktion die Absätze rauslasse und alles aneinander klatsche.

bobmalaria
24-02-2012, 00:14
hi,

beende jede zeile eines newcommands mit % damit vermeidest du leerzeilen also z.b.

{%
neue zeile%

DasPferd
24-02-2012, 09:55
Danke genau das war's ich hab das Gefühl, je mehr ich Latex versehe, so mehr Probleme tauchen auf :D.

DasPferd
26-02-2012, 18:38
Hmm ich habe noch eine Tabelle, in der ich dynamisch die Nummer des Probanden erzeuge. Die Tabelle besteht aus zwei Spalten in der Linken wird die Funktion Pro{} aufgerufen in der Rechten ist normaler Text. Dieser ist leider höher als der Text links. Es liegt aber eindeutig an der Funktion und speziell an dem \hypertarget{\arabic{temp}}{}%, wenn ich dieses statt vor textcolour dannach setze tritt das Problem nicht auf. Allerdings ist die Verlinkung dann natürlich kanpp darunter.




%%% -----------------------------------------------------------------------
%%% Proband
%%% -----------------------------------------------------------------------
\newcommand{\Pro}[1]{%
\addtocounter{counter}{1}%
\setcounter{temp}{0}%
\addtocounter{temp}{\arabic{proband}}%
\addtocounter{temp}{\arabic{counter}}%
\hypertarget{\arabic{temp}}{}%
\textcolor{green}{\emph{(\arabic{counter}) Proband:}} \textcolor{proband}{\emph{#1\newline}}%
}


Also die beiden Textcolours sind in einer Zeile aber auch wenn ich die auf zwei Zeilen aufspalte und ein % dahinter füge kommt das Problem.

PS: Den Text in das HT reinziehen bringt es auch nicht. Nehme ich nur "Proband:" rein landet die Verlinkung auch eine Zeile drunter und setze ich
\textcolor{green}{\emph{(\arabic{counter}) Proband:}} \ rein, bekomme ich wieder die ungewollte Leerzeile :mad:

u_fischer
26-02-2012, 19:43
Gewöhn dir an, vollständige, lauffähige Beispiele zu erstellen. Ich zumindest habe überhaupt keine Lust, aus deinen Schnipseln und Selbstgesprächen ein Testdokument zu basteln.

DasPferd
26-02-2012, 21:39
%Grundeinstellungen%
\documentclass[a4paper,DIV10,12pt,headsepline,smallheadings]{scrreprt}
%Kein Einrücken
\setlength\parindent{0pt}

%Seitenränder
\usepackage[left=4cm,right=2.5cm,top=1.5cm,bottom=1.5cm,includ eheadfoot]{geometry}

%Kopf und Fußzeile%
\pagestyle{headings}


%Deutsche Rechtschreibung%
\usepackage[ngerman]{babel}





%Vorher noch installiert werden%
%\usepackage[T1]{fontenc} \usepackage{lmodern}%

%Für Tabellen%
%\usepackage{longtable}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{paralist}

\usepackage{array}
\usepackage{ragged2e}
\newcolumntype{C}[1]{>{\RaggedRight}p{#1}}

%Zeilenabstände
\usepackage{setspace}
\onehalfspacing





%Package für Apa Zitation
\usepackage[colorlinks=true,linkcolor=black,citecolor=black, urlcolor=blue,bookmarks=true]{hyperref}

%Farben
\usepackage{color}

%RGB definieren

\definecolor{interviewer}{rgb}{0,0,0}
\definecolor{proband}{rgb}{0 , 0, 0}
\definecolor{question}{rgb}{0.59 , 0.20, 0.80}


\newcounter{counter}
\newcounter{proband}
\newcounter{temp}

%%% -----------------------------------------------------------------------
%%% Interviewer
%%% -----------------------------------------------------------------------
\newcommand{\Int}[1]{
\addtocounter{counter}{1}
\setcounter{temp}{0}
\addtocounter{temp}{\arabic{proband}}
\addtocounter{temp}{\arabic{counter}}
\textcolor{green}{(\arabic{counter}) Interviewer:}\hypertarget{\arabic{temp}}{} \textcolor{interviewer}{#1\newline}
}


%%% -----------------------------------------------------------------------
%%% Proband
%%% -----------------------------------------------------------------------
\newcommand{\Pro}[1]{
\addtocounter{counter}{1}
\setcounter{temp}{0}
\addtocounter{temp}{\arabic{proband}}
\addtocounter{temp}{\arabic{counter}}
\textcolor{green}{\emph{(\arabic{counter}) Proband:}}\hypertarget{\arabic{temp}}{} \textcolor{proband}{\emph{#1\newline}}
}


%farbiger Verweis
\hypersetup{
colorlinks=true, % false: boxed links; true: colored links
linkcolor=green % color of internal links
}



\begin{document}

Siehe Aussage \hyperlink{15003}{V15-03} blablabla.

\setcounter{proband}{15000}
\setcounter{counter}{0}
\chapter{Proband-15-DD}

\begin{table}[H]%hdpe
\begin{tabular}{C{10cm}C{3.4cm}}


\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Pro{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Pro{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\
\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Pro{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\
\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Pro{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Pro{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\
\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Pro{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\
\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Pro{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\end{tabular}
\end{table}

\end{document}

rais
26-02-2012, 23:06
\newpage
\newpage
\newpage
\newpage

sorry, vor lauter \newpage-Befehlen hab ich glatt Deine Frage vergessen ...
siehe auch hier (http://www.minimalbeispiel.de)
MfG

DasPferd
26-02-2012, 23:17
Keine Angst ich hab schon gegoogelt vorher. Leider habe ich nichts gefunden, deswegen auch der Post. Die newpages waren drin, damit auf jeden Fall ne neue Seite da (Ok 4 sind übertrieben :D) ist aber das wird ja auch durch chapter schon erreicht. Aber ich denke, dass sollte ja auch nicht stören, da die kompakt Version bereits weiter oben zu finden ist.

Ich wäre trotzdem dankbar, wenn jemand einen direkten Lösungsansatz oder zumindest ein gutes Stichwort liefert.

u_fischer
26-02-2012, 23:25
Das Stichwort heißt: Mach dein Beispiel kleiner - und zwar deutlich kleiner.

DasPferd
26-02-2012, 23:48
So jetzt ist es kleiner auch wenn es sich nach wie vor um die eine Funktion handelt und es daher nicht sehr relevant ist, was sonst noch so in der Präambel steht. Jetzt bin ich aber mal auf Deine Antwort gespannt, wie man es löst, dass es den Satz miteinschließt ohne eine Leerzeile hinzuzufügen.

rstuby
27-02-2012, 04:46
Wenn nicht sehr relevant ist,was sonst noch so in der Präambel steht, sollte das Irrelevante auch nicht in einem MINIMALbeispiel stehen. "Vollständig" bedeutet nicht, dass du deine ganze Präambel angeben musst, sondern, dass es ein lauffähiges Dokument sein muss.

UPD: "vollständig": lauffähiges Dokument von \documentclass bis \end{document}
"minimal": enthält nur das, was nötig ist, um das Problem zu zeigen
"Beispiel": zeigt das Problem

Ich habe dein Beispiel ausprobiert und muss jetzt noch mal darüber klar werden, worin das Problem besteht bzw. was du anders haben willst. Ich hatte irgendwie überzählige Leerzeichen erwartet, aber du schreibst ja von LeerZEILEN. Stört es dich, dass die Tabellenzeile umgebrochen wird? Aber das hast du selbst so definiert...

rstuby
27-02-2012, 05:25
Ich glaube, ich habe dein Problem verstanden. Es dürfte daran liegen, dass dein Makro ein \newline enthält.

rstuby
27-02-2012, 05:37
Um die danach immer noch bestehenden Leerzeilen nach Einträgen mit zweistelligen Nummern zu vermeiden, reicht es, bei \Pro{Test Test...Test} das Leerzeichen am Ende nach dem letzten Wort wegzulassen. Das wäre sowieso zu empfehlen. LaTeX macht zwischen zwei Spalten sowieso einen Abstand, den brauchst du nicht durch Leerzeichen zu erzwingen.
Übrigens rate ich dir, obwohl es im Ergebnis keinen Unterschied macht, das notwendige Leerzeichen nach dem Doppelpunkt bei "Interviewer: " und "Proband: " auch direkt dorthin zu setzen und nicht irgendwo in den Makro (in deinem Fall vor \textcolor). Einfach der Übersichtlichkeit halber. Sonst gehst du den Code später noch mal auf überzählige Leerzeichen durch und löschst das, und dann hast du auf einmal kein Leerzeichen mehr nach deinem Doppelpunkt :-)

DasPferd
27-02-2012, 07:49
Achso ja ich habe das Beispiel blöd dargestellt.

Also es gibt zwei Seiten:
1) Keine Leerezeile dafür lande ich beim anklicken des Verweises nicht genau auf der Nummer sondern eine Zeile darunter

2) oder Latex fügt eine Leerzeile ein und dann lande ich an der richtigen Stelle.

Ich habe in dem vorherigen Minimalbesipiel jetzt das Problem von Seite 1 her dargestellt. Das wäre das Minimalbesipiel zur zweiten Seite:



%Grundeinstellungen%
\documentclass[a4paper,DIV10,12pt,headsepline,smallheadings]{scrreprt}
%Kein Einrücken
\setlength\parindent{0pt}

%Seitenränder
\usepackage[left=4cm,right=2.5cm,top=1.5cm,bottom=1.5cm,includ eheadfoot]{geometry}

%Kopf und Fußzeile%
\pagestyle{headings}


%Deutsche Rechtschreibung%
\usepackage[ngerman]{babel}





%Vorher noch installiert werden%
%\usepackage[T1]{fontenc} \usepackage{lmodern}%

%Für Tabellen%
%\usepackage{longtable}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{paralist}

\usepackage{array}
\usepackage{ragged2e}
\newcolumntype{C}[1]{>{\RaggedRight}p{#1}}

%Zeilenabstände
\usepackage{setspace}
\onehalfspacing





%Package für Apa Zitation
\usepackage[colorlinks=true,linkcolor=black,citecolor=black, urlcolor=blue,bookmarks=true]{hyperref}

%Farben
\usepackage{color}

%RGB definieren

\definecolor{interviewer}{rgb}{0,0,0}
\definecolor{proband}{rgb}{0 , 0, 0}
\definecolor{question}{rgb}{0.59 , 0.20, 0.80}


\newcounter{counter}
\newcounter{proband}
\newcounter{temp}

%%% -----------------------------------------------------------------------
%%% Interviewer
%%% -----------------------------------------------------------------------
\newcommand{\Int}[1]{
\addtocounter{counter}{1}
\setcounter{temp}{0}
\addtocounter{temp}{\arabic{proband}}
\addtocounter{temp}{\arabic{counter}}
\textcolor{green}{(\arabic{counter}) Interviewer:}\hypertarget{\arabic{temp}}{} \textcolor{interviewer}{#1}
}


%%% -----------------------------------------------------------------------
%%% Proband
%%% -----------------------------------------------------------------------
\newcommand{\Pro}[1]{%
\addtocounter{counter}{1}%
\setcounter{temp}{0}%
\addtocounter{temp}{\arabic{proband}}%
\addtocounter{temp}{\arabic{counter}}%
\hypertarget{\arabic{temp}}{}%
\textcolor{green}{\emph{(\arabic{counter}) Proband:}} \textcolor{proband}{\emph{#1}}%
}

%farbiger Verweis
\hypersetup{
colorlinks=true, % false: boxed links; true: colored links
linkcolor=green % color of internal links
}



\begin{document}

Siehe Aussage \hyperlink{15003}{V15-03} blablabla.

\setcounter{proband}{15000}
\setcounter{counter}{0}
\chapter{Proband-15-DD}

\begin{table}[H]%hdpe
\begin{tabular}{C{10cm}C{3.4cm}}


\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Pro{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Pro{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\
\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Pro{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\
\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Pro{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Pro{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\
\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Pro{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\
\Int{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\Pro{Test Test Test Test Test Test Test Test }&Hallo Hallo Hallo\\

\end{tabular}
\end{table}

\end{document}



Am newline liegt es leider nicht, jetzt wird es auch deutlicher wo keine Leerzeilen mehr dazwischen sind, dass der Kommentar verschoben wird. Ich habe die Funktion extra nur bei Proband (\Pro{}) geändert, damit es deutlicher wird.

PS: Vielen Dank für's anschauen.

u_fischer
27-02-2012, 09:02
Der Anker sitzt auf der Grundlinie. Du kannst ihn z.B. so anheben:


\raisebox{12pt}[0pt][0pt]{\hypertarget{\arabic{temp}}{}}

DasPferd
27-02-2012, 09:22
Perfekt, danke genau das hat geholfen.

PS: Sorry werde das nächste mal gleich ein besseres Minimalbeispiel schaffen. Bin bloß etwas unter Zeitrduck, da bald Abgabe.

MFG