\ifthenelse mit hyperref

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


latex

\ifthenelse mit hyperref

Beitrag von latex »

hallo, ich möche ein commando via newcommand defnieren was mir <T^x> ausgibt für x ungleich 1 und <T> für x=1.
Wenn x jetzt eine Zahl ist ist das kein Problem. Wenn x aber ein hyperlink enthält wird die Datei nicht kompiliert.
\newcommand[1]{thoch}{T^{			\ifcase#1
			\or
			\else
				#1
			\fi}
Habe ich zwar als workaround gefunden. Allerdings ist die auftretende Fehlermeldung "! Missing number, treated as zero." nervend.
Kennt jemand einen Befehl z.B. \ifnumeric mit dem man abfragen kann ob das argument eine zahl ist?

Danke

rais
Forum-Guru
Forum-Guru
Beiträge: 411
Registriert: Di 21. Sep 2010, 00:37

Re: \ifthenelse mit hyperref

Beitrag von rais »

Moin moin,
latex hat geschrieben:
\newcommand[1]{thoch}{T^{			\ifcase#1
			\or
			\else
				#1
			\fi}
Habe ich zwar als workaround gefunden.
das halte ich erstmal für ein Gerücht ...
\newcommand\neuerbefehl[Parameteranzahl]{...}
Schau Dich mal nach ``Minimaleispiel'' um.
latex hat geschrieben: Kennt jemand einen Befehl z.B. \ifnumeric mit dem man abfragen kann ob das argument eine zahl ist?
evtl. tut bereits \ifcat1#1...
MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

latex

Beitrag von latex »

danke klappt perfekt
minimalbeispiel:
\documentclass[]{article}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{ifthen}
%opening
\title{}
\author{}
\newcommand{\TAU}[1]
		{\langle 
		\tau^{ \ifthenelse{\equal{#1}{1}}{}{#1}
	}\rangle}
\newcommand{\TAUI}[1]
		{\langle 
		\tau^{
			\ifcase#1
			\or 
		\else 
			{#1}
			\fi
	}\rangle}
\newcommand{\TAUII}[1]
		{\langle 
		\tau^{
		\ifcat1#1
			\ifcase#1
			\or 
		\else 
			{#1}
			\fi
		\else#1
		\fi
	}\rangle}		

\begin{document} 
\section{Kapitel}\label{ll}

$\TAU 1,\TAU 2, \TAU k$


% $\TAU{\hyperlink{ll}{Kapitel}}$ geht nicht 

$\TAUI{1}, \TAUI{2}$


$\TAUI{x}, \TAUI{\hyperlink{ll}{Kapitel}}$ %runs with error

$\TAUII{1} ,\TAUII{2}$
$\TAUII{x}, \TAUII{\hyperlink{ll}{Kapitel}}$ %runs perfect

\end{document}

Besserwisser

Beitrag von Besserwisser »

latex hat geschrieben:danke klappt perfekt
Aber nur solange das Argument nur eine einstellige Zahl ist. Probier mal TAUII{12}.

Was uns der Kommentar von Kazuya07 sagen soll, bleibt zumindest für mich im Dunkeln.

Antworten