I'm trying to use Mathematica for building complex derivatives for my Fortran code. Therefore I have to do some wild string replacements to make that work. Anyway, I got quite far already but now it would come in handy if I could automatically overwrite let's say the `Power` method.

What I want is that Mathematica should replace e.g. `x^(1/4)` with `x**z14` on `FortranForm`. What does work is this:

    i=1;
    j=4;
    Unprotect[Power];
    Power /: Format[Power[x_, i/j], FortranForm]:=x^ToExpression["z" <> ToString[i] <> ToString[j]]  
    Protect[Power];

    ToString[Power[x, i/j], FortranForm]

This will give `x**z14` as expected.

If I try to automate the process for more fractions

    Unprotect[Power];
    For[i = 1, i <= 9, i++,
     For[j = 1, j <= 9, j++,
      If[j > 1 && j != i && Mod[i, j] != 0,
        Power /: Format[Power[x_, i/j], FortranForm]:=x^ToExpression["z"<> ToString[i] <> ToString[j]];
        ,Null
      ]
     ]
    ]
    Protect[Power];

    ToString[Power[x, i/j], FortranForm]

I get `x**z1010` instead?

Can anyone help me and tell me what I'm doing wrong? Or is this even possible?

Thanks!