Wrap caption under subfigure with subfigures of different heights











up vote
0
down vote

favorite












I have two subfigures side by side in one figure, and one subfigure is less than half the height of the other. I would like to align the subfigures at their titles and have the caption fill the empty space under the smaller subfigure, then overflow beneath both figures. Is this possible? Below is the code and picture of how it is now.



Thank you in advance!



begin{figure}[H]
centering
subfloat{{includegraphics[width=5cm]{Fig10a.png} }}%
qquad
subfloat{{includegraphics[width=5cm]{Fig10b.png} }}%
caption{Caption text goes here.}
label{fig:fig10}
end{figure}


enter image description here










share|improve this question


























    up vote
    0
    down vote

    favorite












    I have two subfigures side by side in one figure, and one subfigure is less than half the height of the other. I would like to align the subfigures at their titles and have the caption fill the empty space under the smaller subfigure, then overflow beneath both figures. Is this possible? Below is the code and picture of how it is now.



    Thank you in advance!



    begin{figure}[H]
    centering
    subfloat{{includegraphics[width=5cm]{Fig10a.png} }}%
    qquad
    subfloat{{includegraphics[width=5cm]{Fig10b.png} }}%
    caption{Caption text goes here.}
    label{fig:fig10}
    end{figure}


    enter image description here










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I have two subfigures side by side in one figure, and one subfigure is less than half the height of the other. I would like to align the subfigures at their titles and have the caption fill the empty space under the smaller subfigure, then overflow beneath both figures. Is this possible? Below is the code and picture of how it is now.



      Thank you in advance!



      begin{figure}[H]
      centering
      subfloat{{includegraphics[width=5cm]{Fig10a.png} }}%
      qquad
      subfloat{{includegraphics[width=5cm]{Fig10b.png} }}%
      caption{Caption text goes here.}
      label{fig:fig10}
      end{figure}


      enter image description here










      share|improve this question













      I have two subfigures side by side in one figure, and one subfigure is less than half the height of the other. I would like to align the subfigures at their titles and have the caption fill the empty space under the smaller subfigure, then overflow beneath both figures. Is this possible? Below is the code and picture of how it is now.



      Thank you in advance!



      begin{figure}[H]
      centering
      subfloat{{includegraphics[width=5cm]{Fig10a.png} }}%
      qquad
      subfloat{{includegraphics[width=5cm]{Fig10b.png} }}%
      caption{Caption text goes here.}
      label{fig:fig10}
      end{figure}


      enter image description here







      subfloats






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 30 at 19:05









      hannahrae

      1




      1






















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote













          This solution modifies @makecaption locally to format the caption using hangindent and hangafter. The saveboxes are used to compute the distance for the text to be wrapped.



          The subfloats are aligned at the top using raisebox. Technically, the caption overlaps the left picture, hence the [0pt].



          The extra topskip is due to a feature (bug) in subfig which behaves differently in vmode and hmode.



          documentclass{article}
          usepackage{graphicx}
          usepackage{subfig}
          usepackage{blindtext}
          usepackage{caption}% not used, test for compatibility
          usepackage{hyperref}

          makeatletter
          newcommand{hangcaption}[2]{% #1 = hangindent, #2 = hangafterbaselineskip (negative distance)
          longdef@makecaption##1##2{%
          vskipabovecaptionskip
          hangindent=#1relax
          hangafter=numexpr #2relax/baselineskiprelax
          ##1: ##2par
          vskipbelowcaptionskip}%
          ignorespaces}
          makeatother

          begin{document}
          listoffigures

          begin{figure}[hp]
          sbox0{subfloat{includegraphics[width=5cm,height=6cm]{example-image}}}%
          sbox1{subfloat{includegraphics[width=5cm,height=2cm]{example-image}}}%
          centering
          raisebox{-height}[0pt][0pt]{usebox0}hfilhfil
          raisebox{dimexpr topskip-height}{usebox1}% topskip ?????
          hangcaption{0.5textwidth}{dimexpr ht1-ht0}%
          caption[short caption]{blindtext}
          end{figure}

          end{document}


          demo






          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',
            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%2f412917%2fwrap-caption-under-subfigure-with-subfigures-of-different-heights%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








            up vote
            0
            down vote













            This solution modifies @makecaption locally to format the caption using hangindent and hangafter. The saveboxes are used to compute the distance for the text to be wrapped.



            The subfloats are aligned at the top using raisebox. Technically, the caption overlaps the left picture, hence the [0pt].



            The extra topskip is due to a feature (bug) in subfig which behaves differently in vmode and hmode.



            documentclass{article}
            usepackage{graphicx}
            usepackage{subfig}
            usepackage{blindtext}
            usepackage{caption}% not used, test for compatibility
            usepackage{hyperref}

            makeatletter
            newcommand{hangcaption}[2]{% #1 = hangindent, #2 = hangafterbaselineskip (negative distance)
            longdef@makecaption##1##2{%
            vskipabovecaptionskip
            hangindent=#1relax
            hangafter=numexpr #2relax/baselineskiprelax
            ##1: ##2par
            vskipbelowcaptionskip}%
            ignorespaces}
            makeatother

            begin{document}
            listoffigures

            begin{figure}[hp]
            sbox0{subfloat{includegraphics[width=5cm,height=6cm]{example-image}}}%
            sbox1{subfloat{includegraphics[width=5cm,height=2cm]{example-image}}}%
            centering
            raisebox{-height}[0pt][0pt]{usebox0}hfilhfil
            raisebox{dimexpr topskip-height}{usebox1}% topskip ?????
            hangcaption{0.5textwidth}{dimexpr ht1-ht0}%
            caption[short caption]{blindtext}
            end{figure}

            end{document}


            demo






            share|improve this answer



























              up vote
              0
              down vote













              This solution modifies @makecaption locally to format the caption using hangindent and hangafter. The saveboxes are used to compute the distance for the text to be wrapped.



              The subfloats are aligned at the top using raisebox. Technically, the caption overlaps the left picture, hence the [0pt].



              The extra topskip is due to a feature (bug) in subfig which behaves differently in vmode and hmode.



              documentclass{article}
              usepackage{graphicx}
              usepackage{subfig}
              usepackage{blindtext}
              usepackage{caption}% not used, test for compatibility
              usepackage{hyperref}

              makeatletter
              newcommand{hangcaption}[2]{% #1 = hangindent, #2 = hangafterbaselineskip (negative distance)
              longdef@makecaption##1##2{%
              vskipabovecaptionskip
              hangindent=#1relax
              hangafter=numexpr #2relax/baselineskiprelax
              ##1: ##2par
              vskipbelowcaptionskip}%
              ignorespaces}
              makeatother

              begin{document}
              listoffigures

              begin{figure}[hp]
              sbox0{subfloat{includegraphics[width=5cm,height=6cm]{example-image}}}%
              sbox1{subfloat{includegraphics[width=5cm,height=2cm]{example-image}}}%
              centering
              raisebox{-height}[0pt][0pt]{usebox0}hfilhfil
              raisebox{dimexpr topskip-height}{usebox1}% topskip ?????
              hangcaption{0.5textwidth}{dimexpr ht1-ht0}%
              caption[short caption]{blindtext}
              end{figure}

              end{document}


              demo






              share|improve this answer

























                up vote
                0
                down vote










                up vote
                0
                down vote









                This solution modifies @makecaption locally to format the caption using hangindent and hangafter. The saveboxes are used to compute the distance for the text to be wrapped.



                The subfloats are aligned at the top using raisebox. Technically, the caption overlaps the left picture, hence the [0pt].



                The extra topskip is due to a feature (bug) in subfig which behaves differently in vmode and hmode.



                documentclass{article}
                usepackage{graphicx}
                usepackage{subfig}
                usepackage{blindtext}
                usepackage{caption}% not used, test for compatibility
                usepackage{hyperref}

                makeatletter
                newcommand{hangcaption}[2]{% #1 = hangindent, #2 = hangafterbaselineskip (negative distance)
                longdef@makecaption##1##2{%
                vskipabovecaptionskip
                hangindent=#1relax
                hangafter=numexpr #2relax/baselineskiprelax
                ##1: ##2par
                vskipbelowcaptionskip}%
                ignorespaces}
                makeatother

                begin{document}
                listoffigures

                begin{figure}[hp]
                sbox0{subfloat{includegraphics[width=5cm,height=6cm]{example-image}}}%
                sbox1{subfloat{includegraphics[width=5cm,height=2cm]{example-image}}}%
                centering
                raisebox{-height}[0pt][0pt]{usebox0}hfilhfil
                raisebox{dimexpr topskip-height}{usebox1}% topskip ?????
                hangcaption{0.5textwidth}{dimexpr ht1-ht0}%
                caption[short caption]{blindtext}
                end{figure}

                end{document}


                demo






                share|improve this answer














                This solution modifies @makecaption locally to format the caption using hangindent and hangafter. The saveboxes are used to compute the distance for the text to be wrapped.



                The subfloats are aligned at the top using raisebox. Technically, the caption overlaps the left picture, hence the [0pt].



                The extra topskip is due to a feature (bug) in subfig which behaves differently in vmode and hmode.



                documentclass{article}
                usepackage{graphicx}
                usepackage{subfig}
                usepackage{blindtext}
                usepackage{caption}% not used, test for compatibility
                usepackage{hyperref}

                makeatletter
                newcommand{hangcaption}[2]{% #1 = hangindent, #2 = hangafterbaselineskip (negative distance)
                longdef@makecaption##1##2{%
                vskipabovecaptionskip
                hangindent=#1relax
                hangafter=numexpr #2relax/baselineskiprelax
                ##1: ##2par
                vskipbelowcaptionskip}%
                ignorespaces}
                makeatother

                begin{document}
                listoffigures

                begin{figure}[hp]
                sbox0{subfloat{includegraphics[width=5cm,height=6cm]{example-image}}}%
                sbox1{subfloat{includegraphics[width=5cm,height=2cm]{example-image}}}%
                centering
                raisebox{-height}[0pt][0pt]{usebox0}hfilhfil
                raisebox{dimexpr topskip-height}{usebox1}% topskip ?????
                hangcaption{0.5textwidth}{dimexpr ht1-ht0}%
                caption[short caption]{blindtext}
                end{figure}

                end{document}


                demo







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Feb 6 at 13:38

























                answered Jan 31 at 5:54









                John Kormylo

                43.5k12466




                43.5k12466






























                    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.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • 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%2f412917%2fwrap-caption-under-subfigure-with-subfigures-of-different-heights%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?