unificar o tamanho da fonte da figura (gerada pelo gnuplot) e o tamanho da fonte do látex

unificar o tamanho da fonte da figura (gerada pelo gnuplot) e o tamanho da fonte do látex

Estou gerando alguns números com o terminal gnuplot epslatex em modo autônomo. Não há problema em gerar os números e a qualidade.

No entanto, ao usar a classe de artigo elsevier no modo de duas colunas, tenho que dimensionar os números para caber na largura da coluna e então, como esperado, os tamanhos das fontes estão diminuindo. Tentei dimensionar as fontes ou o tamanho das figuras no gnuplot. Mas estou enfrentando o mesmo problema.

Estou pensando que deveria ser capaz de unificar os tamanhos de fonte da legenda, chave, etc. no Latex e torná-los iguais ao texto do documento.

Alguma dica sobre como resolver esse problema sem entrar em outro software?

PS: Eu gostaria de resolver esse problema dentro do Latex e do gnuplot, se possível, primeiro.

Responder1

Não creio que seja possível fazer isso facilmente usando o conjunto atual de ferramentas ( gnuplote epslatex). A razão é que dependendo das dimensões e do tamanho da fonte do documento LaTeX final, você precisaria calcular manualmente as dimensões e o tamanho da fonte das figuras.

O que você precisa pode ser feito facilmente usando pgfplots, que é um pacote LaTeX para que todo o código para desenhar gráficos possa ser incluído em seu .texarquivo. Veja o exemplo abaixo onde a figura preenche naturalmente a largura da coluna do documento e usa o mesmo tamanho de fonte.

O processo que utilizo para gerar gráficos é o seguinte:

  1. Execute experimentos usando o programa de sua escolha, arquivo de texto de saída
  2. Use pgfplotspara escrever código LaTeX no .texarquivo principal para traçar o gráfico

Consulte a seção "Leitura de coordenadas de tabelas" domanual de pgfplotsPara maiores informações.

\documentclass[5p]{elsarticle}

\usepackage{lipsum}
\usepackage{pgfplots}

\begin{document}

\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[
    width=\columnwidth,
    xlabel=$x$,
    ylabel=$y$,
    legend pos=north west]
  \addplot {x^3};
  \addlegendentry{$y = x^3$};
\end{axis}
\end{tikzpicture}
\end{figure}

\lipsum[1-2]

\end{document}

insira a descrição da imagem aqui

\documentclass[3p]{elsarticle}

\usepackage{lipsum}
\usepackage{pgfplots}

\begin{document}

\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[
    width=\columnwidth,
    xlabel=$x$,
    ylabel=$y$,
    legend pos=north west]
  \addplot {x^3};
  \addlegendentry{$y = x^3$};
\end{axis}
\end{tikzpicture}
\end{figure}

\lipsum[1-2]

\end{document}

insira a descrição da imagem aqui

Responder2

Pelo que entendi, você tem duas opções:

  1. Usando \resizeboxpara dimensionar todo o conteúdo do .texarquivo produzido com o epslatexterminal, ou seja \resizebox{\linewidth}{!}{\input{epslatex-file.tex}}, . Observe que suas fontes também serão dimensionadas.

  2. Especificando o tamanho das parcelas em seu gnuplotcódigo, set terminal epslatex size a bonde ae bpodem ter unidades (ou seja, cm). O Gnuplot não parece aceitar um tamanho mais dinâmico, pois \linewidth- o que seria adequado ao seu propósito, acredito.

Alternativamente, usar PGFplots pode ser sua melhor opção - assumindo que você não precisa de gráficos 3D. Os PGFplots têm muita fome de memória LaTeX quando vão para 3D.

informação relacionada