MaTeX, font size, and PlotLegends












4












$begingroup$


I want to create plots in Mathematica where all labels have font sizes which match those in a LaTeX document.
I start by defining



Needs["MaTeX`"];
texStyle = {FontFamily -> "Latin Modern Roman", FontSize -> 12}


Now, if I export a simple plot



Export["test1.pdf", 
Plot[{Sin[x], Cos[x]}, {x, 0, 2 Pi},
BaseStyle -> texStyle,
ImageSize -> 400]]


the font sizes match those in my document. However, if I include a plot legend



Export["test2.pdf",
Plot[{Sin[x], Cos[x]}, {x, 0, 2 Pi},
BaseStyle -> texStyle,
ImageSize -> 400,
PlotLegends -> Placed[MaTeX[{"\sin(x)", "\cos(x)"}], {0.6, 0.8}]]]


the font size in the plot is too small. This might have to do with the fact that Mathematica makes the second plot smaller (independent of MaTeX).










share|improve this question









$endgroup$












  • $begingroup$
    Minor note: MaTeX does use a 12 pt font size by default, but instead of relying on that (it may change in the future!) I would set it explicitly too.
    $endgroup$
    – Szabolcs
    6 hours ago
















4












$begingroup$


I want to create plots in Mathematica where all labels have font sizes which match those in a LaTeX document.
I start by defining



Needs["MaTeX`"];
texStyle = {FontFamily -> "Latin Modern Roman", FontSize -> 12}


Now, if I export a simple plot



Export["test1.pdf", 
Plot[{Sin[x], Cos[x]}, {x, 0, 2 Pi},
BaseStyle -> texStyle,
ImageSize -> 400]]


the font sizes match those in my document. However, if I include a plot legend



Export["test2.pdf",
Plot[{Sin[x], Cos[x]}, {x, 0, 2 Pi},
BaseStyle -> texStyle,
ImageSize -> 400,
PlotLegends -> Placed[MaTeX[{"\sin(x)", "\cos(x)"}], {0.6, 0.8}]]]


the font size in the plot is too small. This might have to do with the fact that Mathematica makes the second plot smaller (independent of MaTeX).










share|improve this question









$endgroup$












  • $begingroup$
    Minor note: MaTeX does use a 12 pt font size by default, but instead of relying on that (it may change in the future!) I would set it explicitly too.
    $endgroup$
    – Szabolcs
    6 hours ago














4












4








4





$begingroup$


I want to create plots in Mathematica where all labels have font sizes which match those in a LaTeX document.
I start by defining



Needs["MaTeX`"];
texStyle = {FontFamily -> "Latin Modern Roman", FontSize -> 12}


Now, if I export a simple plot



Export["test1.pdf", 
Plot[{Sin[x], Cos[x]}, {x, 0, 2 Pi},
BaseStyle -> texStyle,
ImageSize -> 400]]


the font sizes match those in my document. However, if I include a plot legend



Export["test2.pdf",
Plot[{Sin[x], Cos[x]}, {x, 0, 2 Pi},
BaseStyle -> texStyle,
ImageSize -> 400,
PlotLegends -> Placed[MaTeX[{"\sin(x)", "\cos(x)"}], {0.6, 0.8}]]]


the font size in the plot is too small. This might have to do with the fact that Mathematica makes the second plot smaller (independent of MaTeX).










share|improve this question









$endgroup$




I want to create plots in Mathematica where all labels have font sizes which match those in a LaTeX document.
I start by defining



Needs["MaTeX`"];
texStyle = {FontFamily -> "Latin Modern Roman", FontSize -> 12}


Now, if I export a simple plot



Export["test1.pdf", 
Plot[{Sin[x], Cos[x]}, {x, 0, 2 Pi},
BaseStyle -> texStyle,
ImageSize -> 400]]


the font sizes match those in my document. However, if I include a plot legend



Export["test2.pdf",
Plot[{Sin[x], Cos[x]}, {x, 0, 2 Pi},
BaseStyle -> texStyle,
ImageSize -> 400,
PlotLegends -> Placed[MaTeX[{"\sin(x)", "\cos(x)"}], {0.6, 0.8}]]]


the font size in the plot is too small. This might have to do with the fact that Mathematica makes the second plot smaller (independent of MaTeX).







plotting legending matex






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 7 hours ago









kalixkalix

927




927












  • $begingroup$
    Minor note: MaTeX does use a 12 pt font size by default, but instead of relying on that (it may change in the future!) I would set it explicitly too.
    $endgroup$
    – Szabolcs
    6 hours ago


















  • $begingroup$
    Minor note: MaTeX does use a 12 pt font size by default, but instead of relying on that (it may change in the future!) I would set it explicitly too.
    $endgroup$
    – Szabolcs
    6 hours ago
















$begingroup$
Minor note: MaTeX does use a 12 pt font size by default, but instead of relying on that (it may change in the future!) I would set it explicitly too.
$endgroup$
– Szabolcs
6 hours ago




$begingroup$
Minor note: MaTeX does use a 12 pt font size by default, but instead of relying on that (it may change in the future!) I would set it explicitly too.
$endgroup$
– Szabolcs
6 hours ago










1 Answer
1






active

oldest

votes


















4












$begingroup$

This has nothing to do with MaTeX and is essentially a duplicate of




  • How to export graphics in “Working” style environment rather than “Printout”?


(But can't be marked as such because that question is on StackOverflow, and it was asked before the creation of Mathematica.SE)



However, MaTeX does come with a nice tutorial on preparing figures to size, which explains this issue. Enter MaTeX/tutorial/PreparingFiguresToSize in the address bar of the documentation browser.



enter image description here



In short, when an expression with head Graphics or Graphics3D is exported, it retains the sizes. However, when any other visual expression is exported to PDF, it will use the styles from the PrintingStyleEnvironment. The default is "Printout", which downscales everything to 80%. This applies to all sorts of expressions that format content in notebooks, such as Row, Grid, Labeled, etc. It also applies to Legended, which is the head of any graphics containing a legend. This is because Legended uses the same underlying boxes as Grid, Column, Labeled and several others: GridBox.



Yes, this is very annoying and very hard to figure out if you are not aware of it.



The workaround is to set the PrintingStyleEnvironment to be the same as the style environment used for on-screen display:



SetOptions[$FrontEndSession, PrintingStyleEnvironment -> "Working"]


This setting will persist until you restart the Front End. If you use $FrontEnd instead of $FrontEndSession then it persists even across restarts. I do not recommend doing this though, as there is a good reason for the "Printout" environment downscaling to 80%: this environment is used when printing notebooks or converting notebooks to multi-page PDFs. Without the downscaling very little content fits on a single page.






share|improve this answer











$endgroup$













    Your Answer





    StackExchange.ifUsing("editor", function () {
    return StackExchange.using("mathjaxEditing", function () {
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
    });
    });
    }, "mathjax-editing");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "387"
    };
    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%2fmathematica.stackexchange.com%2fquestions%2f193995%2fmatex-font-size-and-plotlegends%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









    4












    $begingroup$

    This has nothing to do with MaTeX and is essentially a duplicate of




    • How to export graphics in “Working” style environment rather than “Printout”?


    (But can't be marked as such because that question is on StackOverflow, and it was asked before the creation of Mathematica.SE)



    However, MaTeX does come with a nice tutorial on preparing figures to size, which explains this issue. Enter MaTeX/tutorial/PreparingFiguresToSize in the address bar of the documentation browser.



    enter image description here



    In short, when an expression with head Graphics or Graphics3D is exported, it retains the sizes. However, when any other visual expression is exported to PDF, it will use the styles from the PrintingStyleEnvironment. The default is "Printout", which downscales everything to 80%. This applies to all sorts of expressions that format content in notebooks, such as Row, Grid, Labeled, etc. It also applies to Legended, which is the head of any graphics containing a legend. This is because Legended uses the same underlying boxes as Grid, Column, Labeled and several others: GridBox.



    Yes, this is very annoying and very hard to figure out if you are not aware of it.



    The workaround is to set the PrintingStyleEnvironment to be the same as the style environment used for on-screen display:



    SetOptions[$FrontEndSession, PrintingStyleEnvironment -> "Working"]


    This setting will persist until you restart the Front End. If you use $FrontEnd instead of $FrontEndSession then it persists even across restarts. I do not recommend doing this though, as there is a good reason for the "Printout" environment downscaling to 80%: this environment is used when printing notebooks or converting notebooks to multi-page PDFs. Without the downscaling very little content fits on a single page.






    share|improve this answer











    $endgroup$


















      4












      $begingroup$

      This has nothing to do with MaTeX and is essentially a duplicate of




      • How to export graphics in “Working” style environment rather than “Printout”?


      (But can't be marked as such because that question is on StackOverflow, and it was asked before the creation of Mathematica.SE)



      However, MaTeX does come with a nice tutorial on preparing figures to size, which explains this issue. Enter MaTeX/tutorial/PreparingFiguresToSize in the address bar of the documentation browser.



      enter image description here



      In short, when an expression with head Graphics or Graphics3D is exported, it retains the sizes. However, when any other visual expression is exported to PDF, it will use the styles from the PrintingStyleEnvironment. The default is "Printout", which downscales everything to 80%. This applies to all sorts of expressions that format content in notebooks, such as Row, Grid, Labeled, etc. It also applies to Legended, which is the head of any graphics containing a legend. This is because Legended uses the same underlying boxes as Grid, Column, Labeled and several others: GridBox.



      Yes, this is very annoying and very hard to figure out if you are not aware of it.



      The workaround is to set the PrintingStyleEnvironment to be the same as the style environment used for on-screen display:



      SetOptions[$FrontEndSession, PrintingStyleEnvironment -> "Working"]


      This setting will persist until you restart the Front End. If you use $FrontEnd instead of $FrontEndSession then it persists even across restarts. I do not recommend doing this though, as there is a good reason for the "Printout" environment downscaling to 80%: this environment is used when printing notebooks or converting notebooks to multi-page PDFs. Without the downscaling very little content fits on a single page.






      share|improve this answer











      $endgroup$
















        4












        4








        4





        $begingroup$

        This has nothing to do with MaTeX and is essentially a duplicate of




        • How to export graphics in “Working” style environment rather than “Printout”?


        (But can't be marked as such because that question is on StackOverflow, and it was asked before the creation of Mathematica.SE)



        However, MaTeX does come with a nice tutorial on preparing figures to size, which explains this issue. Enter MaTeX/tutorial/PreparingFiguresToSize in the address bar of the documentation browser.



        enter image description here



        In short, when an expression with head Graphics or Graphics3D is exported, it retains the sizes. However, when any other visual expression is exported to PDF, it will use the styles from the PrintingStyleEnvironment. The default is "Printout", which downscales everything to 80%. This applies to all sorts of expressions that format content in notebooks, such as Row, Grid, Labeled, etc. It also applies to Legended, which is the head of any graphics containing a legend. This is because Legended uses the same underlying boxes as Grid, Column, Labeled and several others: GridBox.



        Yes, this is very annoying and very hard to figure out if you are not aware of it.



        The workaround is to set the PrintingStyleEnvironment to be the same as the style environment used for on-screen display:



        SetOptions[$FrontEndSession, PrintingStyleEnvironment -> "Working"]


        This setting will persist until you restart the Front End. If you use $FrontEnd instead of $FrontEndSession then it persists even across restarts. I do not recommend doing this though, as there is a good reason for the "Printout" environment downscaling to 80%: this environment is used when printing notebooks or converting notebooks to multi-page PDFs. Without the downscaling very little content fits on a single page.






        share|improve this answer











        $endgroup$



        This has nothing to do with MaTeX and is essentially a duplicate of




        • How to export graphics in “Working” style environment rather than “Printout”?


        (But can't be marked as such because that question is on StackOverflow, and it was asked before the creation of Mathematica.SE)



        However, MaTeX does come with a nice tutorial on preparing figures to size, which explains this issue. Enter MaTeX/tutorial/PreparingFiguresToSize in the address bar of the documentation browser.



        enter image description here



        In short, when an expression with head Graphics or Graphics3D is exported, it retains the sizes. However, when any other visual expression is exported to PDF, it will use the styles from the PrintingStyleEnvironment. The default is "Printout", which downscales everything to 80%. This applies to all sorts of expressions that format content in notebooks, such as Row, Grid, Labeled, etc. It also applies to Legended, which is the head of any graphics containing a legend. This is because Legended uses the same underlying boxes as Grid, Column, Labeled and several others: GridBox.



        Yes, this is very annoying and very hard to figure out if you are not aware of it.



        The workaround is to set the PrintingStyleEnvironment to be the same as the style environment used for on-screen display:



        SetOptions[$FrontEndSession, PrintingStyleEnvironment -> "Working"]


        This setting will persist until you restart the Front End. If you use $FrontEnd instead of $FrontEndSession then it persists even across restarts. I do not recommend doing this though, as there is a good reason for the "Printout" environment downscaling to 80%: this environment is used when printing notebooks or converting notebooks to multi-page PDFs. Without the downscaling very little content fits on a single page.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited 6 hours ago

























        answered 6 hours ago









        SzabolcsSzabolcs

        163k14447944




        163k14447944






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Mathematica 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.


            Use MathJax to format equations. MathJax reference.


            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%2fmathematica.stackexchange.com%2fquestions%2f193995%2fmatex-font-size-and-plotlegends%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

            A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

            Calculate evaluation metrics using cross_val_predict sklearn

            Insert data from modal to MySQL (multiple modal on website)