大家好,我写了一段简单的代码,创建了一些简单的变量和一些 If 条件。但是输出结果并不理想。
以下是代码:
\documentclass[a4paper,11pt,english]{report}
\usepackage{longtable}
\usepackage{multirow}
\usepackage{graphicx}
\usepackage[table,xcdraw]{xcolor}
\begin{document}
%\newcommand{\ReqOpenIssues}{}
\newcommand{\NoOpenIssues}{}
\newcommand{\OpenIssues}[1]{\ifdefined\#1OpenIssues REQ \else \ifdefined\NoOpenIssues NA \fi \fi
}
\OpenIssues{Req}
\end{document}
期望的输出是 NA 但这是输出:
有什么帮助吗?
答案1
如果您希望使用加上一些附加文本来构建宏名称#1
,则需要使用\ifcsname
。
\documentclass[a4paper,11pt,english]{report}
\usepackage{longtable}
\usepackage{multirow}
\usepackage{graphicx}
\usepackage[table,xcdraw]{xcolor}
\begin{document}
\newcommand{\NoOpenIssues}{}
\newcommand{\OpenIssues}[1]{\ifcsname#1OpenIssues\endcsname
REQ \else \ifdefined\NoOpenIssues NA \fi \fi
}
\OpenIssues{Req}
\newcommand{\ReqOpenIssues}{}
\OpenIssues{Req}
\end{document}