XeLaTeX + \ifthenelse:

XeLaTeX + \ifthenelse:

我使用 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}
}

我不關心包/命令/語法——它可以是任何東西。

我嘗試使用ifthenpackage,但在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}

相關內容