STでタブを使用することは可能ですが、ルールL16「タブの使用を定義する」状態：
>タブ文字の使用（ASCIIコード9）を避け、プログラミングサポート環境設定されたタブをスペースに置き換えるように設定します

これは、多くのプロジェクトで一般的なルールです。これにより、コードのコピーが他のコンテキストにコピーすることが簡素化され、ディスプレイのユーザー設定へのコードの依存度が低くなります。簡単に言えば、タブ文字の視覚的な解釈は大きく異なります。

とはいえ、あなたの好みを定義する私の場所ではないので、上記の例をタブで書き直した例を以下に示します。
`` `
var
X：int：= 0;
Y：リアル;
end_var
`` `
`` `
x> 10の場合
y：= 5 * x;
それ以外
y：= 2 * x;
end_if
`` `
`` `
i：= 1〜10の場合
sum：= sum + i;
end_for
`` `
`` `
関数追加：リアル
var_input
リアル;
B：本物;
end_var
追加：= a + b;
end_function
`` `
`` `
function_block Integrator
var_input
入力：リアル;
end_var
var_output
出力：リアル;
end_var
var
合計：real：= 0;
end_var
sum：= sum + input;
出力：= sum;
end_function_block
`` `
It is possible to use tabs in ST, however Rule L16 "Define the use of tabs" states:
> Use of tab character (ASCII code 9) should be avoided, and Programming Support Environment set to replace tabs with spaces

This is a common rule in many projects, as this simplifies copying of code into other contexts and makes the code less dependent on the user settings for display. Simply put, the visual interpretation of a tab character varies wildly.

That said, it is not my place to define your preferences, so here are the above examples rewritten with tabs:
```
VAR
	x : INT := 0;
	y : REAL;
END_VAR
```
```
IF x > 10 THEN
	y := 5 * x;
ELSE
	y := 2 * x;
END_IF
```
```
FOR i := 1 TO 10 DO
	sum := sum + i;
END_FOR
```
```
FUNCTION Add : REAL
VAR_INPUT
	a : REAL;
	b : REAL;
END_VAR
	Add := a + b;
END_FUNCTION
```
```
FUNCTION_BLOCK Integrator
VAR_INPUT
	input : REAL;
END_VAR
VAR_OUTPUT
	output : REAL;
END_VAR
VAR
	sum : REAL := 0;
END_VAR
	sum := sum + input;
	output := sum;
END_FUNCTION_BLOCK
```