\isdefempty 不适用于多个宏

\isdefempty 不适用于多个宏

我仍在学习 tex。以下示例允许我检查变量是否存在,如果存在,则在 PDF 中打印一些文本。这很有效。但是,当我添加 href 时,无论变量是否存在都会出现。这让我很抓狂,因为我在网上找不到任何接近我想要做的事情的东西。这可能吗?

\ifdefempty{\na}{}{\Sexpr{cve_descr_na}}\ 显示我在 R 中拥有的一个变量。这很有效。但是,\ifdefempty{\ds}{}{\Sexpr{cve_descr_ds}{\href{\Sexpr{url_ds_1}}{here }}}\ 会显示“here”,即使 ds 为空。

\documentclass[11pt,a4paper, titlepage]{article}
\usepackage[margin=0.5in]{geometry}
\usepackage{tikz,fancyvrb}
\usepackage{helvet}%font
\usepackage{color}
\usepackage[hidelinks]{hyperref}
\usepackage{etoolbox}
\def\ds{cve_descr_ds}
\def\ui{cve_descr_ui}
\renewcommand{\familydefault}{\sfdefault}%sets fonts across document
\title{}
\date{}
\begin{document}
\fcolorbox{white}{green!65}{%
\parbox{17cm}{
\textbf{Your Cyber Vunerabilities}\\
\small
\ifdefempty{\na}{}{\Sexpr{cve_descr_na}}\\
\ifdefempty{\spf}{}{\Sexpr{cve_descr_spf}}\\
\ifdefempty{\ds}{}{\Sexpr{cve_descr_ds}{\href{\Sexpr{url_ds_1}}{here }}}\\
\ifdefempty{\ui}{}{\Sexpr{cve_descr_ui}{\href{\Sexpr{url_ui_1}}{here,}}}\\
}
}
\end{document}

以下是最终的 sweave; \documentclass[11pt,a4paper, titlepage]{article} \usepackage[margin=0.5in]{geometry} \usepackage{tikz,Sweave,fancyvrb} \usepackage{helvet}%font \usepackage{color} \usepackage[hidelinks]{hyperref} \usepackage{etoolbox} \def\ds{cve_descr_ds} \def\ui{cve_descr_ui}

\renewcommand{\familydefault}{\sfdefault}%sets fonts across document
\title{}
\date{}
\begin{document}
\input{HC-concordance}
\fcolorbox{white}{blue!65}{%
\parbox{5cm}{
\begin{center}
  \textbf{About You}\\
  \small
  The Lakes
  \\
  Your business ranks in the highest 25 percent
\end{center}
}
}
\fcolorbox{white}{green!65}{%
\parbox{13cm}{
\textbf{Your Cyber Vunerabilities}\\
\small
\ifdefempty{\ds}{}{they can find more details{\href{}{here, }}}\\
\ifdefempty{\ui}{}{they can find more details {\href{https://nvd.nist.gov/vuln/detail/CVE-2016-6329}{here, }}}

 }

\end{document}

相关内容