Delphiのインデント

Delphi(あるいはpascal)を記述するときの、インデントってどう書きますか?
私は、

function Identity(x: Integer): Integer;
  begin
    Result := x;
  end;

と書きます。
あまり見ないインデントのような気がしますが、関数内関数を多用するので、この書き方でないと困ることがあるのです。
この書き方で、こう書けるものが、

function DoCalc(x: Integer): Integer;
  const
    Offset = 5;
  function InnerFunc: Integer;
    begin
      Result := x * x + x + Offset;
    end;
  begin
    Result := InnerFunc;
  end;

普通のインデントだと、こうなってしまうのです。

function DoCalc(x: Integer): Integer;
const
  Offset = 5;
  function InnerFunc: Integer; // <-- ここが気持ち悪い
  begin
    Result := x * x + x + Offset;
  end;
begin
  Result := InnerFunc;
end;

空行を空けて区別する方法もありますが、上の書き方のほうが、一目瞭然ではないですか?