私は履歴書を作成するために XelaTeX を使用します。
現在、私はそれを更新し、スロバキア語と英語の両方の履歴書を 1 つのドキュメント内に収めたいと考えています。
一方の言語のすべての文字列をプリアンブルにグループ化し、もう一方の言語でも同様にします。(つまり、 の後に文字列を配置したくないのです\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
私が確認し、実装しようとした質問と回答: -完全に展開された2つの文字列が等しいかどうかをテストする場合
PS—私は TeX の初心者で、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}