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

555 timer FM transmitter

How to write a column outside the braces in a matrix?

Relationship between strut and baselineskip

I preordered a game on my Xbox while on the home screen of my friend's account. Which of us owns the game?

Is Diceware more secure than a long passphrase?

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?

Can I grease a crank spindle/bracket without disassembling the crank set?

Two field separators (colon and space) in awk

How to have a sharp product image?

Coordinate my way to the name of the (video) game

Is there any official lore on the Far Realm?

Pre-plastic human skin alternative

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

How much cash can I safely carry into the USA and avoid civil forfeiture?

Is it idiomatic to construct against `this`

What is the philosophical significance of speech acts/implicature?

How to pronounce 'c++' in Spanish

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

How can I practically buy stocks?

"Whatever a Russian does, they end up making the Kalashnikov gun"? Are there any similar proverbs in English?

Can SQL Server create collisions in system generated constraint names?

Minor Revision with suggestion of an alternative proof by reviewer

How do I check if a string is entirely made of the same substring?



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 2 hours ago









      VincentVincent

      1,70421939




      1,70421939






















          2 Answers
          2






          active

          oldest

          votes


















          5














          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









              5














              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




























                5














                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


























                  5












                  5








                  5







                  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 2 hours ago









                  Phelype OleinikPhelype Oleinik

                  26.2k54791




                  26.2k54791























                      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 1 hour 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

                              Щит и меч (фильм) Содержание Названия серий | Сюжет |...

                              is 'sed' thread safeWhat should someone know about using Python scripts in the shell?Nexenta bash script uses...

                              Meter-Bus Содержание Параметры шины | Стандартизация |...