Relationship between strut and baselineskipstrut and strutboxHow to modify columns/column environments so...

Map of water taps to fill bottles

Converting a sprinkler system's 24V AC outputs to 3.3V DC logic inputs

Mistake in years of experience in resume?

What is the most expensive material in the world that could be used to create Pun-Pun's lute?

Is there really no use for MD5 anymore?

Contradiction proof for inequality of P and NP?

Was there a shared-world project before "Thieves World"?

can anyone help me with this awful query plan?

How do I reattach a shelf to the wall when it ripped out of the wall?

Why do games have consumables?

Do I have an "anti-research" personality?

What does the integral of a function times a function of a random variable represent, conceptually?

How to denote matrix elements succinctly?

a sore throat vs a strep throat vs strep throat

Implications of cigar-shaped bodies having rings?

Who was the lone kid in the line of people at the lake at the end of Avengers: Endgame?

"The cow" OR "a cow" OR "cows" in this context

Can an Area of Effect spell cast outside a Prismatic Wall extend inside it?

On The Origin of Dissonant Chords

How to stop co-workers from teasing me because I know Russian?

What makes accurate emulation of old systems a difficult task?

Critique of timeline aesthetic

Why did C use the -> operator instead of reusing the . operator?

How to display Aura JS Errors Lightning Out



Relationship between strut and baselineskip


strut and strutboxHow to modify columns/column environments so they resize automatically to the largest column ?Set strut heightDefinition of strut explainedStrutting around: What's the difference between strut, mathstrut and vphantom?Ensuring a paragraph uses at least a given height?Why is `strut` working in these scenarios?Variable-width horizontal rules with cline intrude cell textFirst word hyphenation in parbox with strutbaselineskip param of fontsize doesn't add space between my lines













3















Here, it is said that a strut is defined as:



rule[-.3baselineskip]{0pt}{baselineskip}


However, if I do:



newlength{strutheight}
settoheight{strutheight}{strut}printlength{strutheight}
printlength{baselineskip}


It prints:



8.39996pt 12.0pt


8.39996 is equal to 0.7*12. However, what I don't understand is that according to its definition the height of the strut should be baselineskip, because -.3baselineskip only refers to a vertical alignment offset. Why does settoheight on a strut produces this behaviour?










share|improve this question



























    3















    Here, it is said that a strut is defined as:



    rule[-.3baselineskip]{0pt}{baselineskip}


    However, if I do:



    newlength{strutheight}
    settoheight{strutheight}{strut}printlength{strutheight}
    printlength{baselineskip}


    It prints:



    8.39996pt 12.0pt


    8.39996 is equal to 0.7*12. However, what I don't understand is that according to its definition the height of the strut should be baselineskip, because -.3baselineskip only refers to a vertical alignment offset. Why does settoheight on a strut produces this behaviour?










    share|improve this question

























      3












      3








      3








      Here, it is said that a strut is defined as:



      rule[-.3baselineskip]{0pt}{baselineskip}


      However, if I do:



      newlength{strutheight}
      settoheight{strutheight}{strut}printlength{strutheight}
      printlength{baselineskip}


      It prints:



      8.39996pt 12.0pt


      8.39996 is equal to 0.7*12. However, what I don't understand is that according to its definition the height of the strut should be baselineskip, because -.3baselineskip only refers to a vertical alignment offset. Why does settoheight on a strut produces this behaviour?










      share|improve this question














      Here, it is said that a strut is defined as:



      rule[-.3baselineskip]{0pt}{baselineskip}


      However, if I do:



      newlength{strutheight}
      settoheight{strutheight}{strut}printlength{strutheight}
      printlength{baselineskip}


      It prints:



      8.39996pt 12.0pt


      8.39996 is equal to 0.7*12. However, what I don't understand is that according to its definition the height of the strut should be baselineskip, because -.3baselineskip only refers to a vertical alignment offset. Why does settoheight on a strut produces this behaviour?







      vertical-alignment baseline calc strut






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 1 hour ago









      VincentVincent

      1,70421939




      1,70421939






















          2 Answers
          2






          active

          oldest

          votes


















          4














          The height of the whole strut is baselineskip, however it is lowered by 0.3baselineskip form the baseline. Its depth plus its height totals baselineskip:



          documentclass{article}
          begin{document}
          newlength{strutheight}
          newlength{strutdepth}
          settoheight{strutheight}{strut}
          settodepth{strutdepth}{strut}
          $thestrutheight+thestrutdepth=thebaselineskip$
          end{document}


          this prints 8.39996pt + 3.60004pt = 12.0pt.



          In TeX, the “height” of a box is not its total height, but the height above the baseline, and the “depth” is the amount that box goes below that baseline. And when you do settoheight you get only the height of the box, not the total height.



          You can draw the strut and its height and depth to see:




          enter image description here




          documentclass{article}
          begin{document}
          fboxsep0pt
          fboxrule0.1pt

          fbox{strut}
          fbox{rule{0pt}{0.7baselineskip}}
          fbox{rule[-0.3baselineskip]{0pt}{0.3baselineskip}}
          end{document}





          share|improve this answer































            1














            Well, the definition of strut is



            % latex.ltx, line 594:
            defstrut{relaxifmmodecopystrutboxelseunhcopystrutboxfi}


            The code rule[-0.3baselineskip]{0pt}{baselineskip} is a less efficient way to say unhcopystrutbox, but amounts to essentially the same. Part of the strut is below the baseline, to cope with characters with descenders like p or y.



            The strutbox is updated whenever a fontsize command is processed:



            % latex.ltx, line 2808:
            defset@fontsize#1#2#3{%
            @defaultunits@tempdimb#2ptrelax@nnil
            edeff@size{strip@pt@tempdimb}%
            @defaultunits@tempskipa#3ptrelax@nnil
            edeff@baselineskip{the@tempskipa}%
            edeff@linespread{#1}%
            letbaselinestretchf@linespread
            defsize@update{%
            baselineskipf@baselineskiprelax
            baselineskipf@linespreadbaselineskip
            normalbaselineskipbaselineskip
            setboxstrutboxhbox{%
            vrule@height.7baselineskip
            @depth.3baselineskip
            @widthz@}%
            letsize@updaterelax}%
            }


            So the strutbox is a box containing a zero width rule, with height 70% of the baseline skip and depth 30% of the baseline skip.



            You can access the current dimensions as htstrutbox and dpstrutbox:



            documentclass{article}
            begin{document}

            thehtstrutbox (height)

            thedpstrutbox (depth)

            thedimexprhtstrutbox+dpstrutbox (total)

            thebaselineskip (baselineskip)

            end{document}


            enter image description here






            share|improve this answer
























              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
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f487845%2frelationship-between-strut-and-baselineskip%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              4














              The height of the whole strut is baselineskip, however it is lowered by 0.3baselineskip form the baseline. Its depth plus its height totals baselineskip:



              documentclass{article}
              begin{document}
              newlength{strutheight}
              newlength{strutdepth}
              settoheight{strutheight}{strut}
              settodepth{strutdepth}{strut}
              $thestrutheight+thestrutdepth=thebaselineskip$
              end{document}


              this prints 8.39996pt + 3.60004pt = 12.0pt.



              In TeX, the “height” of a box is not its total height, but the height above the baseline, and the “depth” is the amount that box goes below that baseline. And when you do settoheight you get only the height of the box, not the total height.



              You can draw the strut and its height and depth to see:




              enter image description here




              documentclass{article}
              begin{document}
              fboxsep0pt
              fboxrule0.1pt

              fbox{strut}
              fbox{rule{0pt}{0.7baselineskip}}
              fbox{rule[-0.3baselineskip]{0pt}{0.3baselineskip}}
              end{document}





              share|improve this answer




























                4














                The height of the whole strut is baselineskip, however it is lowered by 0.3baselineskip form the baseline. Its depth plus its height totals baselineskip:



                documentclass{article}
                begin{document}
                newlength{strutheight}
                newlength{strutdepth}
                settoheight{strutheight}{strut}
                settodepth{strutdepth}{strut}
                $thestrutheight+thestrutdepth=thebaselineskip$
                end{document}


                this prints 8.39996pt + 3.60004pt = 12.0pt.



                In TeX, the “height” of a box is not its total height, but the height above the baseline, and the “depth” is the amount that box goes below that baseline. And when you do settoheight you get only the height of the box, not the total height.



                You can draw the strut and its height and depth to see:




                enter image description here




                documentclass{article}
                begin{document}
                fboxsep0pt
                fboxrule0.1pt

                fbox{strut}
                fbox{rule{0pt}{0.7baselineskip}}
                fbox{rule[-0.3baselineskip]{0pt}{0.3baselineskip}}
                end{document}





                share|improve this answer


























                  4












                  4








                  4







                  The height of the whole strut is baselineskip, however it is lowered by 0.3baselineskip form the baseline. Its depth plus its height totals baselineskip:



                  documentclass{article}
                  begin{document}
                  newlength{strutheight}
                  newlength{strutdepth}
                  settoheight{strutheight}{strut}
                  settodepth{strutdepth}{strut}
                  $thestrutheight+thestrutdepth=thebaselineskip$
                  end{document}


                  this prints 8.39996pt + 3.60004pt = 12.0pt.



                  In TeX, the “height” of a box is not its total height, but the height above the baseline, and the “depth” is the amount that box goes below that baseline. And when you do settoheight you get only the height of the box, not the total height.



                  You can draw the strut and its height and depth to see:




                  enter image description here




                  documentclass{article}
                  begin{document}
                  fboxsep0pt
                  fboxrule0.1pt

                  fbox{strut}
                  fbox{rule{0pt}{0.7baselineskip}}
                  fbox{rule[-0.3baselineskip]{0pt}{0.3baselineskip}}
                  end{document}





                  share|improve this answer













                  The height of the whole strut is baselineskip, however it is lowered by 0.3baselineskip form the baseline. Its depth plus its height totals baselineskip:



                  documentclass{article}
                  begin{document}
                  newlength{strutheight}
                  newlength{strutdepth}
                  settoheight{strutheight}{strut}
                  settodepth{strutdepth}{strut}
                  $thestrutheight+thestrutdepth=thebaselineskip$
                  end{document}


                  this prints 8.39996pt + 3.60004pt = 12.0pt.



                  In TeX, the “height” of a box is not its total height, but the height above the baseline, and the “depth” is the amount that box goes below that baseline. And when you do settoheight you get only the height of the box, not the total height.



                  You can draw the strut and its height and depth to see:




                  enter image description here




                  documentclass{article}
                  begin{document}
                  fboxsep0pt
                  fboxrule0.1pt

                  fbox{strut}
                  fbox{rule{0pt}{0.7baselineskip}}
                  fbox{rule[-0.3baselineskip]{0pt}{0.3baselineskip}}
                  end{document}






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 1 hour ago









                  Phelype OleinikPhelype Oleinik

                  26.1k54791




                  26.1k54791























                      1














                      Well, the definition of strut is



                      % latex.ltx, line 594:
                      defstrut{relaxifmmodecopystrutboxelseunhcopystrutboxfi}


                      The code rule[-0.3baselineskip]{0pt}{baselineskip} is a less efficient way to say unhcopystrutbox, but amounts to essentially the same. Part of the strut is below the baseline, to cope with characters with descenders like p or y.



                      The strutbox is updated whenever a fontsize command is processed:



                      % latex.ltx, line 2808:
                      defset@fontsize#1#2#3{%
                      @defaultunits@tempdimb#2ptrelax@nnil
                      edeff@size{strip@pt@tempdimb}%
                      @defaultunits@tempskipa#3ptrelax@nnil
                      edeff@baselineskip{the@tempskipa}%
                      edeff@linespread{#1}%
                      letbaselinestretchf@linespread
                      defsize@update{%
                      baselineskipf@baselineskiprelax
                      baselineskipf@linespreadbaselineskip
                      normalbaselineskipbaselineskip
                      setboxstrutboxhbox{%
                      vrule@height.7baselineskip
                      @depth.3baselineskip
                      @widthz@}%
                      letsize@updaterelax}%
                      }


                      So the strutbox is a box containing a zero width rule, with height 70% of the baseline skip and depth 30% of the baseline skip.



                      You can access the current dimensions as htstrutbox and dpstrutbox:



                      documentclass{article}
                      begin{document}

                      thehtstrutbox (height)

                      thedpstrutbox (depth)

                      thedimexprhtstrutbox+dpstrutbox (total)

                      thebaselineskip (baselineskip)

                      end{document}


                      enter image description here






                      share|improve this answer




























                        1














                        Well, the definition of strut is



                        % latex.ltx, line 594:
                        defstrut{relaxifmmodecopystrutboxelseunhcopystrutboxfi}


                        The code rule[-0.3baselineskip]{0pt}{baselineskip} is a less efficient way to say unhcopystrutbox, but amounts to essentially the same. Part of the strut is below the baseline, to cope with characters with descenders like p or y.



                        The strutbox is updated whenever a fontsize command is processed:



                        % latex.ltx, line 2808:
                        defset@fontsize#1#2#3{%
                        @defaultunits@tempdimb#2ptrelax@nnil
                        edeff@size{strip@pt@tempdimb}%
                        @defaultunits@tempskipa#3ptrelax@nnil
                        edeff@baselineskip{the@tempskipa}%
                        edeff@linespread{#1}%
                        letbaselinestretchf@linespread
                        defsize@update{%
                        baselineskipf@baselineskiprelax
                        baselineskipf@linespreadbaselineskip
                        normalbaselineskipbaselineskip
                        setboxstrutboxhbox{%
                        vrule@height.7baselineskip
                        @depth.3baselineskip
                        @widthz@}%
                        letsize@updaterelax}%
                        }


                        So the strutbox is a box containing a zero width rule, with height 70% of the baseline skip and depth 30% of the baseline skip.



                        You can access the current dimensions as htstrutbox and dpstrutbox:



                        documentclass{article}
                        begin{document}

                        thehtstrutbox (height)

                        thedpstrutbox (depth)

                        thedimexprhtstrutbox+dpstrutbox (total)

                        thebaselineskip (baselineskip)

                        end{document}


                        enter image description here






                        share|improve this answer


























                          1












                          1








                          1







                          Well, the definition of strut is



                          % latex.ltx, line 594:
                          defstrut{relaxifmmodecopystrutboxelseunhcopystrutboxfi}


                          The code rule[-0.3baselineskip]{0pt}{baselineskip} is a less efficient way to say unhcopystrutbox, but amounts to essentially the same. Part of the strut is below the baseline, to cope with characters with descenders like p or y.



                          The strutbox is updated whenever a fontsize command is processed:



                          % latex.ltx, line 2808:
                          defset@fontsize#1#2#3{%
                          @defaultunits@tempdimb#2ptrelax@nnil
                          edeff@size{strip@pt@tempdimb}%
                          @defaultunits@tempskipa#3ptrelax@nnil
                          edeff@baselineskip{the@tempskipa}%
                          edeff@linespread{#1}%
                          letbaselinestretchf@linespread
                          defsize@update{%
                          baselineskipf@baselineskiprelax
                          baselineskipf@linespreadbaselineskip
                          normalbaselineskipbaselineskip
                          setboxstrutboxhbox{%
                          vrule@height.7baselineskip
                          @depth.3baselineskip
                          @widthz@}%
                          letsize@updaterelax}%
                          }


                          So the strutbox is a box containing a zero width rule, with height 70% of the baseline skip and depth 30% of the baseline skip.



                          You can access the current dimensions as htstrutbox and dpstrutbox:



                          documentclass{article}
                          begin{document}

                          thehtstrutbox (height)

                          thedpstrutbox (depth)

                          thedimexprhtstrutbox+dpstrutbox (total)

                          thebaselineskip (baselineskip)

                          end{document}


                          enter image description here






                          share|improve this answer













                          Well, the definition of strut is



                          % latex.ltx, line 594:
                          defstrut{relaxifmmodecopystrutboxelseunhcopystrutboxfi}


                          The code rule[-0.3baselineskip]{0pt}{baselineskip} is a less efficient way to say unhcopystrutbox, but amounts to essentially the same. Part of the strut is below the baseline, to cope with characters with descenders like p or y.



                          The strutbox is updated whenever a fontsize command is processed:



                          % latex.ltx, line 2808:
                          defset@fontsize#1#2#3{%
                          @defaultunits@tempdimb#2ptrelax@nnil
                          edeff@size{strip@pt@tempdimb}%
                          @defaultunits@tempskipa#3ptrelax@nnil
                          edeff@baselineskip{the@tempskipa}%
                          edeff@linespread{#1}%
                          letbaselinestretchf@linespread
                          defsize@update{%
                          baselineskipf@baselineskiprelax
                          baselineskipf@linespreadbaselineskip
                          normalbaselineskipbaselineskip
                          setboxstrutboxhbox{%
                          vrule@height.7baselineskip
                          @depth.3baselineskip
                          @widthz@}%
                          letsize@updaterelax}%
                          }


                          So the strutbox is a box containing a zero width rule, with height 70% of the baseline skip and depth 30% of the baseline skip.



                          You can access the current dimensions as htstrutbox and dpstrutbox:



                          documentclass{article}
                          begin{document}

                          thehtstrutbox (height)

                          thedpstrutbox (depth)

                          thedimexprhtstrutbox+dpstrutbox (total)

                          thebaselineskip (baselineskip)

                          end{document}


                          enter image description here







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 16 mins ago









                          egregegreg

                          737k8919373265




                          737k8919373265






























                              draft saved

                              draft discarded




















































                              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.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f487845%2frelationship-between-strut-and-baselineskip%23new-answer', 'question_page');
                              }
                              );

                              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







                              Popular posts from this blog

                              El tren de la libertad Índice Antecedentes "Porque yo decido" Desarrollo de la...

                              Castillo d'Acher Características Menú de navegación

                              Connecting two nodes from the same mother node horizontallyTikZ: What EXACTLY does the the |- notation for...