Seite 1 von 1
\ifthenelse mit hyperref
Verfasst: Mo 14. Feb 2011, 18:07
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
Re: \ifthenelse mit hyperref
Verfasst: Mo 14. Feb 2011, 22:41
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
Verfasst: Di 15. Feb 2011, 00:36
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}
Verfasst: Do 12. Feb 2015, 08:06
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.