Is this way of adding a horizontal line after the frame title stupid?How to change default theme title style (bold, color, margin) of title in the beginning of each slideUnwanted space between beamer colorboxeslatex beamer appendix numberingNumerical conditional within tikz keys?Beamer: handout/article mode - produce multiple copies of a frame with distinct overlay numberstitleformat (in titlesec) doesn't show any horizontal line for chaptertwo-line frame title error in beamerLaTeX beamer: pagenumbering appendixHow beamer notices an empty line between title and subtitle?beamer full width hrule below frame title
Theorems that impeded progress
In Romance of the Three Kingdoms why do people still use bamboo sticks when papers are already invented?
How to model explosives?
Why can't we play rap on piano?
Infinite Abelian subgroup of infinite non Abelian group example
Alternative to sending password over mail?
Why is consensus so controversial in Britain?
Can a virus destroy the BIOS of a modern computer?
How to take photos in burst mode, without vibration?
intersection of two sorted vectors in C++
Do I have a twin with permutated remainders?
UK: Is there precedent for the governments e-petition site changing the direction of a government decision?
How could indestructible materials be used in power generation?
What reasons are there for a Capitalist to oppose a 100% inheritance tax?
Is it inappropriate for a student to attend their mentor's dissertation defense?
How can saying a song's name be a copyright violation?
SSH "lag" in LAN on some machines, mixed distros
Facing a paradox: Earnshaw's theorem in one dimension
Watching something be written to a file live with tail
Anagram holiday
Neighboring nodes in the network
Why do I get two different answers for this counting problem?
90's TV series where a boy goes to another dimension through portal near power lines
How much of data wrangling is a data scientist's job?
Is this way of adding a horizontal line after the frame title stupid?
How to change default theme title style (bold, color, margin) of title in the beginning of each slideUnwanted space between beamer colorboxeslatex beamer appendix numberingNumerical conditional within tikz keys?Beamer: handout/article mode - produce multiple copies of a frame with distinct overlay numberstitleformat (in titlesec) doesn't show any horizontal line for chaptertwo-line frame title error in beamerLaTeX beamer: pagenumbering appendixHow beamer notices an empty line between title and subtitle?beamer full width hrule below frame title
I use the default beamer theme, where the defbeamertemplate*frametitle has:
strutinsertframetitlestrutpar%
so I ignore the par using ignorepar command in the following code:
documentclassbeamer
newcommandignorepar[3]#2#1
addtobeamertemplateframetitle%
letoldinsftinsertframetitle%
renewcommandinsertframetitleoldinsftignoreparhrule%
begindocument
beginframeFrametitleFramesubtitle
endframe
enddocument
The result is:

Without ignorepar, there would be an empty line between the horizontal line and the subtitle, if it exists:

beamer rules frame-title
|
show 9 more comments
I use the default beamer theme, where the defbeamertemplate*frametitle has:
strutinsertframetitlestrutpar%
so I ignore the par using ignorepar command in the following code:
documentclassbeamer
newcommandignorepar[3]#2#1
addtobeamertemplateframetitle%
letoldinsftinsertframetitle%
renewcommandinsertframetitleoldinsftignoreparhrule%
begindocument
beginframeFrametitleFramesubtitle
endframe
enddocument
The result is:

Without ignorepar, there would be an empty line between the horizontal line and the subtitle, if it exists:

beamer rules frame-title
with just posting fragments it is hard to see the intent of this code or test it. What do you mean by "empty paragraph"? tex can't really have an empty paragraph. you surely need theparafter thestrut(orhrulewill force one anyway)
– David Carlisle
3 hours ago
@DavidCarlisle added screenshots
– LaTeX rulez
3 hours ago
it would be much better to add a small test file.
– David Carlisle
3 hours ago
@DavidCarlisle done
– LaTeX rulez
3 hours ago
1
the example code doesn't produce the image shown but I assume the blank line is a paragraph that just consists ofstrutnot really frompar
– David Carlisle
3 hours ago
|
show 9 more comments
I use the default beamer theme, where the defbeamertemplate*frametitle has:
strutinsertframetitlestrutpar%
so I ignore the par using ignorepar command in the following code:
documentclassbeamer
newcommandignorepar[3]#2#1
addtobeamertemplateframetitle%
letoldinsftinsertframetitle%
renewcommandinsertframetitleoldinsftignoreparhrule%
begindocument
beginframeFrametitleFramesubtitle
endframe
enddocument
The result is:

Without ignorepar, there would be an empty line between the horizontal line and the subtitle, if it exists:

beamer rules frame-title
I use the default beamer theme, where the defbeamertemplate*frametitle has:
strutinsertframetitlestrutpar%
so I ignore the par using ignorepar command in the following code:
documentclassbeamer
newcommandignorepar[3]#2#1
addtobeamertemplateframetitle%
letoldinsftinsertframetitle%
renewcommandinsertframetitleoldinsftignoreparhrule%
begindocument
beginframeFrametitleFramesubtitle
endframe
enddocument
The result is:

Without ignorepar, there would be an empty line between the horizontal line and the subtitle, if it exists:

beamer rules frame-title
beamer rules frame-title
edited 29 mins ago
LaTeX rulez
asked 3 hours ago
LaTeX rulezLaTeX rulez
113110
113110
with just posting fragments it is hard to see the intent of this code or test it. What do you mean by "empty paragraph"? tex can't really have an empty paragraph. you surely need theparafter thestrut(orhrulewill force one anyway)
– David Carlisle
3 hours ago
@DavidCarlisle added screenshots
– LaTeX rulez
3 hours ago
it would be much better to add a small test file.
– David Carlisle
3 hours ago
@DavidCarlisle done
– LaTeX rulez
3 hours ago
1
the example code doesn't produce the image shown but I assume the blank line is a paragraph that just consists ofstrutnot really frompar
– David Carlisle
3 hours ago
|
show 9 more comments
with just posting fragments it is hard to see the intent of this code or test it. What do you mean by "empty paragraph"? tex can't really have an empty paragraph. you surely need theparafter thestrut(orhrulewill force one anyway)
– David Carlisle
3 hours ago
@DavidCarlisle added screenshots
– LaTeX rulez
3 hours ago
it would be much better to add a small test file.
– David Carlisle
3 hours ago
@DavidCarlisle done
– LaTeX rulez
3 hours ago
1
the example code doesn't produce the image shown but I assume the blank line is a paragraph that just consists ofstrutnot really frompar
– David Carlisle
3 hours ago
with just posting fragments it is hard to see the intent of this code or test it. What do you mean by "empty paragraph"? tex can't really have an empty paragraph. you surely need the
par after thestrut (or hrule will force one anyway)– David Carlisle
3 hours ago
with just posting fragments it is hard to see the intent of this code or test it. What do you mean by "empty paragraph"? tex can't really have an empty paragraph. you surely need the
par after thestrut (or hrule will force one anyway)– David Carlisle
3 hours ago
@DavidCarlisle added screenshots
– LaTeX rulez
3 hours ago
@DavidCarlisle added screenshots
– LaTeX rulez
3 hours ago
it would be much better to add a small test file.
– David Carlisle
3 hours ago
it would be much better to add a small test file.
– David Carlisle
3 hours ago
@DavidCarlisle done
– LaTeX rulez
3 hours ago
@DavidCarlisle done
– LaTeX rulez
3 hours ago
1
1
the example code doesn't produce the image shown but I assume the blank line is a paragraph that just consists of
strut not really from par– David Carlisle
3 hours ago
the example code doesn't produce the image shown but I assume the blank line is a paragraph that just consists of
strut not really from par– David Carlisle
3 hours ago
|
show 9 more comments
1 Answer
1
active
oldest
votes
As far as I can tell, the intent of dropping #3 in ignorepar is to generate
strutinsertframetitlestruthrule
instead of
strutinsertframetitlestrutparhrule
However the second form is preferable. hrule is a vertical mode construct so if used after the strut it is essentially an error condition from which TeX will silently recover by automatically inserting par and then re-reading the hrule token.
With texlive 2019 the subtitle argument is not processed at all, but using texlive 2016 you can see that the effect is not due to ignoring par you get the same output if you re-insert par (which is #3) and define the command as
newcommandignorepar[3]#2#3#1
The important point is to do the hrule after the strutpar not before.
Instead ofstrutinsertframetitlehrulestrutpar! Theignoreparcommand swaps the arguments.
– LaTeX rulez
3 hours ago
@LaTeXrulez you make it hard to trace since you provided no usable example.hrulestrutwould be bad OK you want the hrule after thestrutbut as I say putting it after theparwould be better
– David Carlisle
3 hours ago
@LaTeXrulez I adjusted the wording to clarify that I was just discussing the dropping ofpar
– David Carlisle
3 hours ago
@LaTeXrulez sorry I rejected your edit, you removed theparfrom before thehruleleaving the following paragraph saying why theparis better meaningless.
– David Carlisle
2 hours ago
But your "instead of" is wrong... If I replaceyinxyzwithyw, I'll getxywz, notxyzw
– LaTeX rulez
2 hours ago
|
show 3 more comments
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "85"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f483264%2fis-this-way-of-adding-a-horizontal-line-after-the-frame-title-stupid%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
As far as I can tell, the intent of dropping #3 in ignorepar is to generate
strutinsertframetitlestruthrule
instead of
strutinsertframetitlestrutparhrule
However the second form is preferable. hrule is a vertical mode construct so if used after the strut it is essentially an error condition from which TeX will silently recover by automatically inserting par and then re-reading the hrule token.
With texlive 2019 the subtitle argument is not processed at all, but using texlive 2016 you can see that the effect is not due to ignoring par you get the same output if you re-insert par (which is #3) and define the command as
newcommandignorepar[3]#2#3#1
The important point is to do the hrule after the strutpar not before.
Instead ofstrutinsertframetitlehrulestrutpar! Theignoreparcommand swaps the arguments.
– LaTeX rulez
3 hours ago
@LaTeXrulez you make it hard to trace since you provided no usable example.hrulestrutwould be bad OK you want the hrule after thestrutbut as I say putting it after theparwould be better
– David Carlisle
3 hours ago
@LaTeXrulez I adjusted the wording to clarify that I was just discussing the dropping ofpar
– David Carlisle
3 hours ago
@LaTeXrulez sorry I rejected your edit, you removed theparfrom before thehruleleaving the following paragraph saying why theparis better meaningless.
– David Carlisle
2 hours ago
But your "instead of" is wrong... If I replaceyinxyzwithyw, I'll getxywz, notxyzw
– LaTeX rulez
2 hours ago
|
show 3 more comments
As far as I can tell, the intent of dropping #3 in ignorepar is to generate
strutinsertframetitlestruthrule
instead of
strutinsertframetitlestrutparhrule
However the second form is preferable. hrule is a vertical mode construct so if used after the strut it is essentially an error condition from which TeX will silently recover by automatically inserting par and then re-reading the hrule token.
With texlive 2019 the subtitle argument is not processed at all, but using texlive 2016 you can see that the effect is not due to ignoring par you get the same output if you re-insert par (which is #3) and define the command as
newcommandignorepar[3]#2#3#1
The important point is to do the hrule after the strutpar not before.
Instead ofstrutinsertframetitlehrulestrutpar! Theignoreparcommand swaps the arguments.
– LaTeX rulez
3 hours ago
@LaTeXrulez you make it hard to trace since you provided no usable example.hrulestrutwould be bad OK you want the hrule after thestrutbut as I say putting it after theparwould be better
– David Carlisle
3 hours ago
@LaTeXrulez I adjusted the wording to clarify that I was just discussing the dropping ofpar
– David Carlisle
3 hours ago
@LaTeXrulez sorry I rejected your edit, you removed theparfrom before thehruleleaving the following paragraph saying why theparis better meaningless.
– David Carlisle
2 hours ago
But your "instead of" is wrong... If I replaceyinxyzwithyw, I'll getxywz, notxyzw
– LaTeX rulez
2 hours ago
|
show 3 more comments
As far as I can tell, the intent of dropping #3 in ignorepar is to generate
strutinsertframetitlestruthrule
instead of
strutinsertframetitlestrutparhrule
However the second form is preferable. hrule is a vertical mode construct so if used after the strut it is essentially an error condition from which TeX will silently recover by automatically inserting par and then re-reading the hrule token.
With texlive 2019 the subtitle argument is not processed at all, but using texlive 2016 you can see that the effect is not due to ignoring par you get the same output if you re-insert par (which is #3) and define the command as
newcommandignorepar[3]#2#3#1
The important point is to do the hrule after the strutpar not before.
As far as I can tell, the intent of dropping #3 in ignorepar is to generate
strutinsertframetitlestruthrule
instead of
strutinsertframetitlestrutparhrule
However the second form is preferable. hrule is a vertical mode construct so if used after the strut it is essentially an error condition from which TeX will silently recover by automatically inserting par and then re-reading the hrule token.
With texlive 2019 the subtitle argument is not processed at all, but using texlive 2016 you can see that the effect is not due to ignoring par you get the same output if you re-insert par (which is #3) and define the command as
newcommandignorepar[3]#2#3#1
The important point is to do the hrule after the strutpar not before.
edited 2 hours ago
answered 3 hours ago
David CarlisleDavid Carlisle
497k4111441891
497k4111441891
Instead ofstrutinsertframetitlehrulestrutpar! Theignoreparcommand swaps the arguments.
– LaTeX rulez
3 hours ago
@LaTeXrulez you make it hard to trace since you provided no usable example.hrulestrutwould be bad OK you want the hrule after thestrutbut as I say putting it after theparwould be better
– David Carlisle
3 hours ago
@LaTeXrulez I adjusted the wording to clarify that I was just discussing the dropping ofpar
– David Carlisle
3 hours ago
@LaTeXrulez sorry I rejected your edit, you removed theparfrom before thehruleleaving the following paragraph saying why theparis better meaningless.
– David Carlisle
2 hours ago
But your "instead of" is wrong... If I replaceyinxyzwithyw, I'll getxywz, notxyzw
– LaTeX rulez
2 hours ago
|
show 3 more comments
Instead ofstrutinsertframetitlehrulestrutpar! Theignoreparcommand swaps the arguments.
– LaTeX rulez
3 hours ago
@LaTeXrulez you make it hard to trace since you provided no usable example.hrulestrutwould be bad OK you want the hrule after thestrutbut as I say putting it after theparwould be better
– David Carlisle
3 hours ago
@LaTeXrulez I adjusted the wording to clarify that I was just discussing the dropping ofpar
– David Carlisle
3 hours ago
@LaTeXrulez sorry I rejected your edit, you removed theparfrom before thehruleleaving the following paragraph saying why theparis better meaningless.
– David Carlisle
2 hours ago
But your "instead of" is wrong... If I replaceyinxyzwithyw, I'll getxywz, notxyzw
– LaTeX rulez
2 hours ago
Instead of
strutinsertframetitlehrulestrutpar! The ignorepar command swaps the arguments.– LaTeX rulez
3 hours ago
Instead of
strutinsertframetitlehrulestrutpar! The ignorepar command swaps the arguments.– LaTeX rulez
3 hours ago
@LaTeXrulez you make it hard to trace since you provided no usable example.
hrulestrut would be bad OK you want the hrule after the strut but as I say putting it after the par would be better– David Carlisle
3 hours ago
@LaTeXrulez you make it hard to trace since you provided no usable example.
hrulestrut would be bad OK you want the hrule after the strut but as I say putting it after the par would be better– David Carlisle
3 hours ago
@LaTeXrulez I adjusted the wording to clarify that I was just discussing the dropping of
par– David Carlisle
3 hours ago
@LaTeXrulez I adjusted the wording to clarify that I was just discussing the dropping of
par– David Carlisle
3 hours ago
@LaTeXrulez sorry I rejected your edit, you removed the
par from before the hrule leaving the following paragraph saying why the par is better meaningless.– David Carlisle
2 hours ago
@LaTeXrulez sorry I rejected your edit, you removed the
par from before the hrule leaving the following paragraph saying why the par is better meaningless.– David Carlisle
2 hours ago
But your "instead of" is wrong... If I replace
y in xyz with yw, I'll get xywz, not xyzw– LaTeX rulez
2 hours ago
But your "instead of" is wrong... If I replace
y in xyz with yw, I'll get xywz, not xyzw– LaTeX rulez
2 hours ago
|
show 3 more comments
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f483264%2fis-this-way-of-adding-a-horizontal-line-after-the-frame-title-stupid%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
with just posting fragments it is hard to see the intent of this code or test it. What do you mean by "empty paragraph"? tex can't really have an empty paragraph. you surely need the
parafter thestrut(orhrulewill force one anyway)– David Carlisle
3 hours ago
@DavidCarlisle added screenshots
– LaTeX rulez
3 hours ago
it would be much better to add a small test file.
– David Carlisle
3 hours ago
@DavidCarlisle done
– LaTeX rulez
3 hours ago
1
the example code doesn't produce the image shown but I assume the blank line is a paragraph that just consists of
strutnot really frompar– David Carlisle
3 hours ago