The {Caption}
variable does not allow for manipulation, so a script is necessary for any changes. However, there is a plugin that can help achieve this, which you can find at un-nest tumblr captions.
If you take a look at the code of the new default tumblr theme, you'll notice several undocumented variables they used to accomplish this task.
Here's an example of the code they have for a photo post:
{block:NotReblog}
<figcaption class="caption">
{Caption}
</figcaption>
{/block:NotReblog}
{block:RebloggedFrom}
<div class="reblog-list">
{block:Reblogs}
<div class="post-reblog-trail-item{block:isOriginalEntry} original-reblog-content{/block:isOriginalEntry}">
<div class="post-reblog-header">
<div class="post-avatar">
<div class="post-avatar-wrapper">
{block:IsActive}
<a class="post-avatar-link{block:isNotOriginalEntry} sub-icon-reblog{/block:isNotOriginalEntry}" href="{Permalink}" target="_blank">
<img class="post-avatar-image" src="{PortraitURL-64}">
</a>
{/block:IsActive}
{block:IsDeactivated}
<span class="inactive reblog-avatar{block:isNotOriginalEntry} sub-icon-reblog{/block:isNotOriginalEntry}">
<img class="post-avatar-image" src="{PortraitURL-64}">
</span>
{/block:IsDeactivated}
</div>
</div>
{block:IsActive}
<a target="_blank" class="post-tumblelog-name" href="{Permalink}">{Username}</a>
{/block:IsActive}
{block:IsDeactivated}
<span class="inactive post-tumblelog-name">{Username}</span>
{/block:IsDeactivated}
</div>
<div class="post-reblog-content">
<div class="post-body">
{Body}
</div>
</div>
</div>
{/block:Reblogs}
</div>
{/block:RebloggedFrom}
It's worth noting that in my testing with the above code, changing {Portrait-64}
to any other standard tumblr avatar size will revert back to the avatar of the blog you're currently on.