Pergunta

figuras em LaTeX, pode-se usar \textwidth e \columnwidth para especificar tamanhos do parente gráfico para o tamanho do texto ao redor, por exemplo, \includegraphics[width=.5\textwidth]{myimage}.

Gostaria de mudar facilmente de onecolumn para twocolumn modelo (e volta) sem a figura de crescimento muito grande para onecolumn modelo. Para o modelo twocolumn (onde \columnwidth é cerca de metade do \textwidth), eu gostaria de ter algo como: \includegraphics[width=.9\columnwidth]{myimage}. e para o modelo onecolumn (onde \columnwidth e \textwidth são iguais):
\includegraphics[width=.5\textwidth]{myimage}.

Agora, eu percebi que eu poderia limitar esta usando algum tipo de operador min: \includegraphics[width=min(.5\textwidth,.9\columnwidth)]{myimage} mas esta é uma sintaxe inválida. Existe algo parecido com isto para resolver este problema, possivelmente através do uso de sistema de macro LaTeX?

Foi útil?

Solução

Embora seja possível escrever este tipo de macro, eu não gostaria de codificá-lo em cada figura; como sobre algo como isto

\makeatletter
\newlength \figwidth
\if@twocolumn
  \setlength \figwidth {0.9\columnwidth}
\else
  \setlength \figwidth {0.5\textwidth}
\fi
\makeatother

e, em seguida, usar

\includegraphics[width=\figwidth]{myimage}

para inserir o gráfico.

Outras dicas

\textwidth é a largura horizontal do corpo da página, e não é apropriado para suas finalidades.

\linewidth é a largura da linha atual; ele será atualizado apropriado para colunas, recuo, etc.

O parágrafo a seguir produz uma imagem que deve caber precisamente a largura toda a linha (ou seja, nenhum aviso overful):

\noindent\includegraphics[width=\linewidth]{myimage}

Se você preferir pequenas margens à esquerda e à direita, você pode usar:

\begin{center}
\includegraphics[width=.9\linewidth]{myimage}
\end{center}

Ou, se você quiser especificar as margens em um tamanho absoluto:

\usepackage{calc}
...
\begin{center}
\includegraphics[width=\linewidth-20pt]{myimage}
\end{center}

Hmm ... o código acima (\ if @ twocolumn etc.) não está funcionando para mim em tudo. Não faço ideia por que não. :( tetex no OSX usando Fink. Tentando usar revtex4, então talvez esse é o problema. Eu realmente gosto da idéia deste tipo de mudança, porque eu vou ser dorking com larguras etc. para a minha tese e vários artigos de jornal, e ter estas distâncias especificadas com a macro pode ser útil para estes tipos de conversões.

Quaisquer comentários muito apreciada! -Allen

Alguém que está mais familiarizado com este provavelmente irá responder, mas nota que você também precisa mudar o seu tipo de figura para ser figura * se você estiver indo de duas colunas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top