![XeLaTeX + \ifthenelse:](https://linux22.com/image/391964/XeLaTeX%20%2B%20%5Cifthenelse%EF%BC%9A.png)
我使用 XelaTeX 制作我的简历。
目前,我想更新它并在一个文档中同时包含斯洛伐克语和英语简历。
我希望将一种语言的所有字符串分组在序言中,另一种语言也一样。(也就是说,我不想在后面有字符串\begin{document}
)。
我想\cvlang
使用创建\def \cvlang {sk} % Options: en | sk
。这样我就可以很容易地在语言之间切换。
现在,我不知道如何检查的当前值是多少\cvlang
。我想创建类似这样的东西(if
语法借用自 Javascript;合并了一些 TeX 命令):
if (\cvlang == "sk"){
\def \lgdatebirthplace {Dátum a miesto\\ narodenia}
\def \lgaddress {Adresa}
\def \lgphone {Telefón}
\def \lgemail {Email}
}else if{
\def \lgdatebirthplace {Date and place of birth}
\def \lgaddress {Address}
\def \lgphone {Phone}
\def \lgemail {Email}
}
我不关心包/命令/语法——它可以是任何东西。
我尝试使用ifthen
该包,但是在 PDF 编译时出现一些错误:
\usepackage{ifthen}
\ifthenelse{\equal{\lang}{sk}}{
\def \lgdatebirthplace {Dátum a miesto\\ narodenia}
\def \lgaddress {Adresa}
\def \lgphone {Telefón}
\def \lgemail {Email}
}{
\def \lgdatebirthplace {Date and place of birth}
\def \lgaddress {Address}
\def \lgphone {Phone}
\def \lgemail {Email}
}%
我尝试使用pdftexcmds
包,但是这也不起作用:
% \usepackage{pdftexcmds}
% \ifnum\pdf@strcmp{\cvlang}{sk}{
\def \lgdatebirthplace {Dátum a miesto\\ narodenia}
\def \lgaddress {Adresa}
\def \lgphone {Telefón}
\def \lgemail {Email}
\else
\def \lgdatebirthplace {Date and place of birth}
\def \lgaddress {Address}
\def \lgphone {Phone}
\def \lgemail {Email}
\fi
我检查并尝试实施的问题和答案:-测试两个完全展开的字符串是否相等
PS—我对 TeX 还很陌生,从未在其中使用过任何条件语句。
答案1
这里不需要 ifthen。将你的定义添加到 babel 接口中:
\documentclass{book}
\usepackage[english]{babel}
%\usepackage[slovak]{babel}
\addto\extrasslovak{%
\def \lgdatebirthplace {Dátum a miesto}}
\addto\extrasenglish{%
\def \lgdatebirthplace {Date and place of birth}}
\begin{document}
\lgdatebirthplace
\end{document}