Thank you for your thoughts.

I think that the first article was somewhat lacking in explanation - my apology. (´・ω・`)
but one small thing that I note is that "railcar" would be a better term than "multiple unit" here, as "railcar" can include a single vehicle, whereas "multiple unit", as the name suggests, requires two or more vehicles.
I agree that railcar is better.
After all what I meant was a distinction between
"passenger/mail cars to be pulled by locomotive" and
"passenger/mail cars which can run without relying on locomotives and without restriction of electrification".
@Ves
My intention is not to extend the system but to improve usability. When I wanted to use DMU in the depot it is buried in a lot of coaches.
I was expecting that this could be realized without changing the currently vehicle data. It seems to be another problem, not to discriminate whether it can be detached outside the depot.
However, since the operation method is different as described above, I think this is useful for re-conmbination.
I assumed that vehicles like van and couch were set to engine_type = NULL or unknown.
So I planned to extract things that are not electric and others (eg diesel, petrol, fuel cell, battery) and move to another tab.
For passengers/mail vehicles that are supposed to be pulled by the locomotive, the power scheme depends on the locomotive, so it should not have power and unique engine_type.
Meanwhile, electric cars that do not have power are properly distinguished as engine_type=electric, not diesel.
DMU vehicles that should be joined together regardless of whether they have power or not should be in the same tab.
For example, a head car having the power of BR Class 251 and an intermediate car having no power.
If DMUs without power are on different tabs, players will be more likely to miss it.
For BR Class 251, the intermediate car does not have power, but engine_type = diesel is properly set.
https://github.com/jamespetts/simutrans-pak128.britain/blob/master/trains/br-251.dat
I thought that DMU vehicles that do not have power can also be distinguished by specifying engine_type = diesel like EMU.
However, contrary to my expectation, all vehicles not specified as engine_type like van or couch have values of diesel. (get_engine_type() returns 1)
I wondered this, so I looked it up, and I found out that makeobj write it when making a pak file.
Then I modified makeobj to set unknown for vehicles with unset engine_type, and tested it.
It works well and seems to cause no problems in particular.
With this fix, coaches return get_engine_type() = -1 (255).
At the moment, engine_type of non-powered vehicle seems to have no influence at all except for electricity.
I think it is also useful for Ves's vehicle manager to properly distinguish them by data structure.
With this fix, railcar without power can also be included in the tab of railcar, but in order to make separations work correctly paks written with new makeobj are needed.
I upload this
testing Makeobj-Extended 60.01 for windows.
About testing makeobj:- In order to clarify the correspondence between pakset and makeobj, I increased the extended revision by one.
- The version of makeobj is 60.01. This is because the current standard is 60.2. In order to be more than 60.1 we will need to incorporate changes from standard.
- Since it only changes coach 's engine_type from diesel to unknown, it should have no effect on the current version.
- It will be able to distinguish them when new railcar tabs are added.
As of now I have made railcar tab correspond to only just track / tram / narrowgauge, but by using different conditions it is possible to separate tabs in other waytypes.
For example, to isolate creatures for road, to make mail a different tab from passenger etc. Any good idea?

The branch of my github is here.
https://github.com/Ranran-the-JuicyPork/simutrans-extended/tree/add-railcar-tab