我使用 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
package,但在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}