Split vertical spacing in two continuity pages












0















I want to construct a macro named vs which typeset a constant vertical spacing, e.g. vs{40em} will get 40em height of white spacing. I know there are many ways -- vskip, vspace, etc... -- to achieve this. But, all these methods fail if encountering pagebreak, as shown in my attached figure produced by the following MWE. Anyone can help me with this?



MWE:



documentclass{article}
usepackage{geometry}
geometry{showframe}

begin{document}
some text.vskip10em
question 1...vskip40em
question 2...vskip40em
question 3...vskip40em
end{document}


enter image description here










share|improve this question





























    0















    I want to construct a macro named vs which typeset a constant vertical spacing, e.g. vs{40em} will get 40em height of white spacing. I know there are many ways -- vskip, vspace, etc... -- to achieve this. But, all these methods fail if encountering pagebreak, as shown in my attached figure produced by the following MWE. Anyone can help me with this?



    MWE:



    documentclass{article}
    usepackage{geometry}
    geometry{showframe}

    begin{document}
    some text.vskip10em
    question 1...vskip40em
    question 2...vskip40em
    question 3...vskip40em
    end{document}


    enter image description here










    share|improve this question



























      0












      0








      0








      I want to construct a macro named vs which typeset a constant vertical spacing, e.g. vs{40em} will get 40em height of white spacing. I know there are many ways -- vskip, vspace, etc... -- to achieve this. But, all these methods fail if encountering pagebreak, as shown in my attached figure produced by the following MWE. Anyone can help me with this?



      MWE:



      documentclass{article}
      usepackage{geometry}
      geometry{showframe}

      begin{document}
      some text.vskip10em
      question 1...vskip40em
      question 2...vskip40em
      question 3...vskip40em
      end{document}


      enter image description here










      share|improve this question
















      I want to construct a macro named vs which typeset a constant vertical spacing, e.g. vs{40em} will get 40em height of white spacing. I know there are many ways -- vskip, vspace, etc... -- to achieve this. But, all these methods fail if encountering pagebreak, as shown in my attached figure produced by the following MWE. Anyone can help me with this?



      MWE:



      documentclass{article}
      usepackage{geometry}
      geometry{showframe}

      begin{document}
      some text.vskip10em
      question 1...vskip40em
      question 2...vskip40em
      question 3...vskip40em
      end{document}


      enter image description here







      spacing






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 13 at 0:38







      lyl

















      asked Mar 12 at 7:46









      lyllyl

      70638




      70638






















          2 Answers
          2






          active

          oldest

          votes


















          3














          If you want that the space can be splitted and be in part on one page and in part on the next, you could try a loop with small chunks. E.g.



          documentclass{article}
          usepackage{geometry}
          geometry{showframe}
          usepackage{xparse}
          ExplSyntaxOn
          NewDocumentCommandmanyvspace { m }
          {
          par
          int_step_inline:nn{#1}{vspace*{1em}goodbreak}
          }
          ExplSyntaxOff
          begin{document}
          some text.vskip10em
          question 1... manyvspace{30}
          question 2... manyvspace{40}
          question 3... manyvspace{40}
          end{document}





          share|improve this answer
























          • Is there a better way to use manyvspace like this: manyvspace{25.4mm}, manyvspace{2cm}, manyvspace{3em}... . That is to say, it's just like vspace(*), but can split white blank(across pages) in two or more pages.

            – lyl
            Mar 13 at 7:08





















          3














          Simply use the * form:



          vspace*{4cm}


          This answers the question in the title, although looking at your sketch example code, I would have thought you always wanted a question title above the space in which case the space should never fall at the top of the page so dropping space at that point should not be an issue.



          Following further comments it seems you don't really want space at all but rather a white paragraph of (say) 5 lines, which may be broken over a page, for which you can do



          section*{Some title}
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}


          section*{Some other title}
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}





          share|improve this answer


























          • Following your suggest, I replace vskip40em with vspace*{40em) , but get a typeset which is not my desire. I just want the vertical spacing can cross pages, that is to say, the top position of the next page can also white blanked.

            – lyl
            Mar 12 at 8:23













          • @lyl vspace* will make space at the top of the page if a page break happens befpre it. If you mean that you want 40em of space allows a blank in the middle then that is a different question with a different answer. mbox{}\mbox{}\mbox{}\mbox{}par will make 4 lines of "space" that can have a page break in the middle.

            – David Carlisle
            Mar 12 at 10:41











          • Repeat some times of mbox\, well, it's a hacky trick. Thank you!

            – lyl
            Mar 13 at 1:07











          • @lyl I would not see it as a hack at all, rather the most natural markup for that request. You want something that acts like a 5 line paragraph with no text, so a 5 line paragraph with no text seems to be the natural thing to use.

            – David Carlisle
            Mar 13 at 7:40











          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%2f479030%2fsplit-vertical-spacing-in-two-continuity-pages%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









          3














          If you want that the space can be splitted and be in part on one page and in part on the next, you could try a loop with small chunks. E.g.



          documentclass{article}
          usepackage{geometry}
          geometry{showframe}
          usepackage{xparse}
          ExplSyntaxOn
          NewDocumentCommandmanyvspace { m }
          {
          par
          int_step_inline:nn{#1}{vspace*{1em}goodbreak}
          }
          ExplSyntaxOff
          begin{document}
          some text.vskip10em
          question 1... manyvspace{30}
          question 2... manyvspace{40}
          question 3... manyvspace{40}
          end{document}





          share|improve this answer
























          • Is there a better way to use manyvspace like this: manyvspace{25.4mm}, manyvspace{2cm}, manyvspace{3em}... . That is to say, it's just like vspace(*), but can split white blank(across pages) in two or more pages.

            – lyl
            Mar 13 at 7:08


















          3














          If you want that the space can be splitted and be in part on one page and in part on the next, you could try a loop with small chunks. E.g.



          documentclass{article}
          usepackage{geometry}
          geometry{showframe}
          usepackage{xparse}
          ExplSyntaxOn
          NewDocumentCommandmanyvspace { m }
          {
          par
          int_step_inline:nn{#1}{vspace*{1em}goodbreak}
          }
          ExplSyntaxOff
          begin{document}
          some text.vskip10em
          question 1... manyvspace{30}
          question 2... manyvspace{40}
          question 3... manyvspace{40}
          end{document}





          share|improve this answer
























          • Is there a better way to use manyvspace like this: manyvspace{25.4mm}, manyvspace{2cm}, manyvspace{3em}... . That is to say, it's just like vspace(*), but can split white blank(across pages) in two or more pages.

            – lyl
            Mar 13 at 7:08
















          3












          3








          3







          If you want that the space can be splitted and be in part on one page and in part on the next, you could try a loop with small chunks. E.g.



          documentclass{article}
          usepackage{geometry}
          geometry{showframe}
          usepackage{xparse}
          ExplSyntaxOn
          NewDocumentCommandmanyvspace { m }
          {
          par
          int_step_inline:nn{#1}{vspace*{1em}goodbreak}
          }
          ExplSyntaxOff
          begin{document}
          some text.vskip10em
          question 1... manyvspace{30}
          question 2... manyvspace{40}
          question 3... manyvspace{40}
          end{document}





          share|improve this answer













          If you want that the space can be splitted and be in part on one page and in part on the next, you could try a loop with small chunks. E.g.



          documentclass{article}
          usepackage{geometry}
          geometry{showframe}
          usepackage{xparse}
          ExplSyntaxOn
          NewDocumentCommandmanyvspace { m }
          {
          par
          int_step_inline:nn{#1}{vspace*{1em}goodbreak}
          }
          ExplSyntaxOff
          begin{document}
          some text.vskip10em
          question 1... manyvspace{30}
          question 2... manyvspace{40}
          question 3... manyvspace{40}
          end{document}






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 12 at 9:02









          Ulrike FischerUlrike Fischer

          196k8302689




          196k8302689













          • Is there a better way to use manyvspace like this: manyvspace{25.4mm}, manyvspace{2cm}, manyvspace{3em}... . That is to say, it's just like vspace(*), but can split white blank(across pages) in two or more pages.

            – lyl
            Mar 13 at 7:08





















          • Is there a better way to use manyvspace like this: manyvspace{25.4mm}, manyvspace{2cm}, manyvspace{3em}... . That is to say, it's just like vspace(*), but can split white blank(across pages) in two or more pages.

            – lyl
            Mar 13 at 7:08



















          Is there a better way to use manyvspace like this: manyvspace{25.4mm}, manyvspace{2cm}, manyvspace{3em}... . That is to say, it's just like vspace(*), but can split white blank(across pages) in two or more pages.

          – lyl
          Mar 13 at 7:08







          Is there a better way to use manyvspace like this: manyvspace{25.4mm}, manyvspace{2cm}, manyvspace{3em}... . That is to say, it's just like vspace(*), but can split white blank(across pages) in two or more pages.

          – lyl
          Mar 13 at 7:08













          3














          Simply use the * form:



          vspace*{4cm}


          This answers the question in the title, although looking at your sketch example code, I would have thought you always wanted a question title above the space in which case the space should never fall at the top of the page so dropping space at that point should not be an issue.



          Following further comments it seems you don't really want space at all but rather a white paragraph of (say) 5 lines, which may be broken over a page, for which you can do



          section*{Some title}
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}


          section*{Some other title}
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}





          share|improve this answer


























          • Following your suggest, I replace vskip40em with vspace*{40em) , but get a typeset which is not my desire. I just want the vertical spacing can cross pages, that is to say, the top position of the next page can also white blanked.

            – lyl
            Mar 12 at 8:23













          • @lyl vspace* will make space at the top of the page if a page break happens befpre it. If you mean that you want 40em of space allows a blank in the middle then that is a different question with a different answer. mbox{}\mbox{}\mbox{}\mbox{}par will make 4 lines of "space" that can have a page break in the middle.

            – David Carlisle
            Mar 12 at 10:41











          • Repeat some times of mbox\, well, it's a hacky trick. Thank you!

            – lyl
            Mar 13 at 1:07











          • @lyl I would not see it as a hack at all, rather the most natural markup for that request. You want something that acts like a 5 line paragraph with no text, so a 5 line paragraph with no text seems to be the natural thing to use.

            – David Carlisle
            Mar 13 at 7:40
















          3














          Simply use the * form:



          vspace*{4cm}


          This answers the question in the title, although looking at your sketch example code, I would have thought you always wanted a question title above the space in which case the space should never fall at the top of the page so dropping space at that point should not be an issue.



          Following further comments it seems you don't really want space at all but rather a white paragraph of (say) 5 lines, which may be broken over a page, for which you can do



          section*{Some title}
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}


          section*{Some other title}
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}





          share|improve this answer


























          • Following your suggest, I replace vskip40em with vspace*{40em) , but get a typeset which is not my desire. I just want the vertical spacing can cross pages, that is to say, the top position of the next page can also white blanked.

            – lyl
            Mar 12 at 8:23













          • @lyl vspace* will make space at the top of the page if a page break happens befpre it. If you mean that you want 40em of space allows a blank in the middle then that is a different question with a different answer. mbox{}\mbox{}\mbox{}\mbox{}par will make 4 lines of "space" that can have a page break in the middle.

            – David Carlisle
            Mar 12 at 10:41











          • Repeat some times of mbox\, well, it's a hacky trick. Thank you!

            – lyl
            Mar 13 at 1:07











          • @lyl I would not see it as a hack at all, rather the most natural markup for that request. You want something that acts like a 5 line paragraph with no text, so a 5 line paragraph with no text seems to be the natural thing to use.

            – David Carlisle
            Mar 13 at 7:40














          3












          3








          3







          Simply use the * form:



          vspace*{4cm}


          This answers the question in the title, although looking at your sketch example code, I would have thought you always wanted a question title above the space in which case the space should never fall at the top of the page so dropping space at that point should not be an issue.



          Following further comments it seems you don't really want space at all but rather a white paragraph of (say) 5 lines, which may be broken over a page, for which you can do



          section*{Some title}
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}


          section*{Some other title}
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}





          share|improve this answer















          Simply use the * form:



          vspace*{4cm}


          This answers the question in the title, although looking at your sketch example code, I would have thought you always wanted a question title above the space in which case the space should never fall at the top of the page so dropping space at that point should not be an issue.



          Following further comments it seems you don't really want space at all but rather a white paragraph of (say) 5 lines, which may be broken over a page, for which you can do



          section*{Some title}
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}


          section*{Some other title}
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}\
          mbox{}






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Mar 12 at 10:43

























          answered Mar 12 at 7:52









          David CarlisleDavid Carlisle

          495k4111391887




          495k4111391887













          • Following your suggest, I replace vskip40em with vspace*{40em) , but get a typeset which is not my desire. I just want the vertical spacing can cross pages, that is to say, the top position of the next page can also white blanked.

            – lyl
            Mar 12 at 8:23













          • @lyl vspace* will make space at the top of the page if a page break happens befpre it. If you mean that you want 40em of space allows a blank in the middle then that is a different question with a different answer. mbox{}\mbox{}\mbox{}\mbox{}par will make 4 lines of "space" that can have a page break in the middle.

            – David Carlisle
            Mar 12 at 10:41











          • Repeat some times of mbox\, well, it's a hacky trick. Thank you!

            – lyl
            Mar 13 at 1:07











          • @lyl I would not see it as a hack at all, rather the most natural markup for that request. You want something that acts like a 5 line paragraph with no text, so a 5 line paragraph with no text seems to be the natural thing to use.

            – David Carlisle
            Mar 13 at 7:40



















          • Following your suggest, I replace vskip40em with vspace*{40em) , but get a typeset which is not my desire. I just want the vertical spacing can cross pages, that is to say, the top position of the next page can also white blanked.

            – lyl
            Mar 12 at 8:23













          • @lyl vspace* will make space at the top of the page if a page break happens befpre it. If you mean that you want 40em of space allows a blank in the middle then that is a different question with a different answer. mbox{}\mbox{}\mbox{}\mbox{}par will make 4 lines of "space" that can have a page break in the middle.

            – David Carlisle
            Mar 12 at 10:41











          • Repeat some times of mbox\, well, it's a hacky trick. Thank you!

            – lyl
            Mar 13 at 1:07











          • @lyl I would not see it as a hack at all, rather the most natural markup for that request. You want something that acts like a 5 line paragraph with no text, so a 5 line paragraph with no text seems to be the natural thing to use.

            – David Carlisle
            Mar 13 at 7:40

















          Following your suggest, I replace vskip40em with vspace*{40em) , but get a typeset which is not my desire. I just want the vertical spacing can cross pages, that is to say, the top position of the next page can also white blanked.

          – lyl
          Mar 12 at 8:23







          Following your suggest, I replace vskip40em with vspace*{40em) , but get a typeset which is not my desire. I just want the vertical spacing can cross pages, that is to say, the top position of the next page can also white blanked.

          – lyl
          Mar 12 at 8:23















          @lyl vspace* will make space at the top of the page if a page break happens befpre it. If you mean that you want 40em of space allows a blank in the middle then that is a different question with a different answer. mbox{}\mbox{}\mbox{}\mbox{}par will make 4 lines of "space" that can have a page break in the middle.

          – David Carlisle
          Mar 12 at 10:41





          @lyl vspace* will make space at the top of the page if a page break happens befpre it. If you mean that you want 40em of space allows a blank in the middle then that is a different question with a different answer. mbox{}\mbox{}\mbox{}\mbox{}par will make 4 lines of "space" that can have a page break in the middle.

          – David Carlisle
          Mar 12 at 10:41













          Repeat some times of mbox\, well, it's a hacky trick. Thank you!

          – lyl
          Mar 13 at 1:07





          Repeat some times of mbox\, well, it's a hacky trick. Thank you!

          – lyl
          Mar 13 at 1:07













          @lyl I would not see it as a hack at all, rather the most natural markup for that request. You want something that acts like a 5 line paragraph with no text, so a 5 line paragraph with no text seems to be the natural thing to use.

          – David Carlisle
          Mar 13 at 7:40





          @lyl I would not see it as a hack at all, rather the most natural markup for that request. You want something that acts like a 5 line paragraph with no text, so a 5 line paragraph with no text seems to be the natural thing to use.

          – David Carlisle
          Mar 13 at 7:40


















          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%2f479030%2fsplit-vertical-spacing-in-two-continuity-pages%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

          How to change which sound is reproduced for terminal bell?

          Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

          Can I use Tabulator js library in my java Spring + Thymeleaf project?