Проверьте, пуст ли KOMAvar

Проверьте, пуст ли KOMAvar

Как проверить пустой KOMAvar?

Я хочу скрыть значок почты, когдаизemailпусто.

\documentclass[refline=nodate]{scrlttr2}

\usepackage{lipsum,marvosym}

\setkomavar{fromname}{David} 
\setkomavar{fromemail}{}
\setkomavar{place}{here}
\setkomavar{backaddress}{}

\usekomavar[\edef\komaemail]{fromemail} % Defining a variabel komaemail

\makeatletter
    \setkomavar{fromaddress}{Road 17\\9900 place \hfill \usekomavar{place},~\usekomavar{date}\\[.3em]
        \ifx \@komaemail \@empty\relax\else % Testing for komaemail
            \hspace*{-1.3em}\Letter ~ \usekomavar{fromemail}
        \fi
    }
\makeatother


\begin{document}
\begin{letter}{%
    Name \\
    Adress \\
    Some place
}


\opening{No, just a regular mistake. Kif might! Why would a robot need to drink?}

\lipsum[2]

\closing{Out.}

\end{letter}
\end{document}

введите описание изображения здесь

решение1

Просто используйте

 \Ifkomavarempty{fromemail}{true-code}{false-code}

например.

Пример вывода

\documentclass[refline=nodate]{scrlttr2}

\usepackage{lipsum,marvosym}

\setkomavar{fromname}{David} 
\setkomavar{fromemail}{}
\setkomavar{place}{Here}
\setkomavar{backaddress}{}

\usekomavar[\edef\komaemail]{fromemail}

\setkomavar{fromaddress}{Road 17\\9900 Place \hfill
   \usekomavar{place},~\usekomavar{date}\\[.3em]
    \Ifkomavarempty{fromemail}{}{\usekomavar{fromemail}}%
    \Ifkomavarempty{place}{}{Hello, place is not empty!}%xo
    }

\begin{document}
\begin{letter}{%
    Name \\
    Adress \\
    Some place
}


\opening{No, just a regular mistake. Kif might! Why would a robot need
to drink?} 

\lipsum[2]

\closing{Out.}

\end{letter}
\end{document}

Ваш \edefне устанавливает переменную кома.

Связанный контент