関数名 : get_typst_version
Typst のバージョンを取得する関数です。
Rコード
#' @title Typstのバージョン情報を取得する関数
#' @description
#' R環境からCLIコマンド経由でQuarto内蔵(またはシステム)の
#' Typstバージョン文字列を取得します。
#'
#' @return 文字列(例: "typst 0.15.1 (9dfd3a08)")
get_typst_version <- function() {
# system2() を使用して、外部コマンド 'quarto' を実行します。
# 引数として 'typst' と '--version' を渡すことで、Quartoが認識している
# Typstのバージョン情報を取得します。
#
# stdout = TRUE: コマンドの標準出力をRの文字列ベクターとして受け取ります。
# stderr = TRUE: エラー発生時のメッセージも補獲できるように設定します。
res <- tryCatch(
{
system2("quarto", args = c("typst", "--version"), stdout = TRUE, stderr = TRUE)
},
error = function(e) {
# 'quarto' コマンド自体が見つからない等の環境不備が発生した場合のフォールバック処理
return(paste("Quartoコマンドの実行に失敗しました:", e$message))
}
)
# 取得したTypstのバージョン情報を返します
return(res)
}関数の実行例
# 定義した関数を実行して結果を表示します。
get_typst_version()[1] "typst 0.15.1 (9dfd3a08)"補足
-
system2()- RからOSのシェルコマンドを呼び出す標準関数です。
quarto typst --versionを裏側で呼び出すことで、RStudioやQuarto環境が実際にビルドで使用しているTypstバージョンを取得します。
- RからOSのシェルコマンドを呼び出す標準関数です。
-
tryCatch()によるエラーハンドリング- Quartoにパスが通っていない環境などで実行された場合、Rスクリプト全体は停止せずにエラーメッセージを返します。
- 出力文字列の構成
- 実行結果として得られる
"typst 0.15.1 (9dfd3a08)"のような文字列のうち、後半のカッコ内(例:9dfd3a08)はプログラムがビルドされた時点の Gitコミットハッシュ(識別番号) を表しています。
- 実行結果として得られる
以上です。
