¿Debo usar centro o centrado para figuras y tablas?

¿Cuál es la forma correcta de centrar figuras y tablas (figure, table)?

\begin{center} ... \end{center} 

o

\begin{centering} ... \end{centering} 

Comentarios

Responder

La forma correcta es

\begin{figure} \centering ... (Code for pictures, captions) ... \end{figure} 

\begin{center}\end{center} dentro de un figure el entorno dará como resultado un espacio vertical adicional (generalmente no deseado).

Tenga en cuenta que mientras \centering produce el espaciado adecuado, agregue manualmente este comando a cada figure entorno (y para cada table y flotante personalizado) es tedioso y va en contra de la idea de separar el contenido de un documento del formato . Incluso mejores formas son agregar lo siguiente al preámbulo de su documento (gracias a egreg por el consejo):

\makeatletter \g@addto@macro\@floatboxreset\centering \makeatother 

o cargar el floatrow paquete que permite controlar la justificación de los contenidos flotantes del preámbulo (con objectset=centering como predeterminado).

Comentarios

  • También tenga en cuenta que \centering es una declaración, no un entorno. El funcionamiento de \begin{centering} es una consecuencia desafortunada de la forma en que los entornos funcionan internamente en LaTeX: el entorno foo consiste esencialmente en dos macros \foo y \endfoo que son llamados por \begin{foo} y \end{foo}, respectivamente (junto con alguna verificación de errores, como anidación adecuada). Pero dado que \endfoo se llama a través de \csname endfoo\endcsname, esa macro no ‘ realmente tiene que existir . Esto significa que incluso cosas como $\begin{alpha}\end{alpha}$ funcionan (pero, por supuesto, no deben usarse).
  • Hay ‘ s también el más esotérico \g@addto@macro\@floatboxreset\centering que, por supuesto, debe estar precedido por \makeatletter y seguido por \makeatother.
  • Gracias por mencionar el paquete floatrow que parece muy, muy poderoso (debería haberlo encontrado antes, ahora cambiando todas las definiciones de figura / tabla en mi tesis será bastante trabajo). Sin embargo, la documentación es tan larga y hay tantas posibilidades de configuración, que será muy difícil encontrar la mejor configuración … ¿hay un tutorial con un » recomendado » ¿configuración para una tesis de dos páginas? 🙁
  • @Villemoes Entonces, ¿por qué tantos editores de LaTeX usan fragmentos para insertar figuras que usan el entorno center en lugar del centering declaración?
  • Para usar con IEEEtran, \g@addto@macro\@floatboxreset\centering no es efectivo ya que \figure redefine \@floatboxreset. Yo uso etoolbox y \patchcmd{\figure}{\normalsize}{\normalsize\centering}{}{}.

Respuesta

Este es un suplemento (¡muy tarde!) de respuesta de lockstep , que solo ofrece una demostración visual de la diferencia entre el uso de \centering y el center dentro de figure entornos.

Cada página muestra 2 figuras, una con \centering y otra con center. Las diferencias en el espaciado son el resultado de ordenar los dos figure entornos diferentes rently. En la primera página, \centering se usa primero y el entorno center en segundo lugar, mientras que en la segunda página, este orden se invierte.

Los resultados muestran claramente un espaciado inadecuado para la figura inferior (primera página) y la figura superior (segunda página), es decir, para cualquier figura que use center en lugar de \centering.

showframe se utiliza para mostrar el diseño general de la página.

ilustración de las diferencias entre

código > \ centrado < / código > y < código > centro < / código > entorno dentro de < código > figura < / código > entornos

\documentclass{article} \usepackage{graphicx,showframe,kantlipsum} \begin{document} \kant[1] \begin{figure} \centering \includegraphics[scale=.25]{example-image-a} \caption{Figure with centering} \end{figure} \kant[2] \begin{figure} \begin{center} \includegraphics[scale=.25]{example-image-a} \end{center} \caption{Figure in center environment} \end{figure} \kant[3] \begin{figure} \begin{center} \includegraphics[scale=.25]{example-image-a} \end{center} \caption{Figure in center environment} \end{figure} \kant[4] \begin{figure} \centering \includegraphics[scale=.25]{example-image-a} \caption{Figure with centering} \end{figure} \end{document} 

Finalmente, compare dos páginas con dos cifras cada una.La primera página incluye figuras que usan \centering, mientras que la segunda incluye figuras que usan el entorno center.

Otras comparaciones

\documentclass{article} \usepackage{graphicx,showframe,kantlipsum} \begin{document} \kant[1] \begin{figure} \centering \includegraphics[scale=.25]{example-image-a} \caption{Figure with centering} \end{figure} \kant[2] \begin{figure} \centering \includegraphics[scale=.25]{example-image-a} \caption{Figure with centering} \end{figure} \kant[3] \begin{figure} \begin{center} \includegraphics[scale=.25]{example-image-a} \end{center} \caption{Figure in center environment} \end{figure} \kant[4] \begin{figure} \begin{center} \includegraphics[scale=.25]{example-image-a} \end{center} \caption{Figure in center environment} \end{figure} \end{document} 

Respuesta

Dado que este hilo dio origen a un pequeño malentendido , me gustaría agregar una nota.

Como dicen las otras respuestas, center el entorno debe nunca dentro de un figure o table entorno , debes usar \centering en su lugar:

ingrese la descripción de la imagen aquí

Pero si su tabla o imagen no están flotando, es decir, le gustaría tenerlas exactamente donde las puso, es decir, no dentro de un entorno figure o table, puede utilizar un center sin problemas. Es equivalente a un entorno table o figure con la opción H de float paquete.

Si desea agregar un título, puede usar \captionof de \caption paquete.

\documentclass{article} \usepackage{graphicx} \usepackage{booktabs} \usepackage{caption} \captionsetup[table]{position=above} \usepackage{float} \begin{document} You can use \texttt{center} environments here, because they are not within a floating one: \begin{center} \captionof{table}{A non-floating table within a \texttt{center} environment} \begin{tabular}{cc} \toprule Ducks & Lions \\ \midrule 1 & 2 \\ \bottomrule \end{tabular} \end{center} \begin{center} \includegraphics[width=.5\linewidth]{example-image-a} \captionof{figure}{A non-floating figure within a \texttt{center} environment} \end{center} They are equivalent to a \texttt{table} or \texttt{figure} environment with the \texttt{H} option of \texttt{float} package: \begin{table}[H] \centering \caption{A non-floating table with \texttt{H} option} \begin{tabular}{cc} \toprule Ducks & Lions \\ \midrule 1 & 2 \\ \bottomrule \end{tabular} \end{table} \begin{figure}[H] \centering \includegraphics[width=.5\linewidth]{example-image-a} \caption{A non-floating figure with \texttt{H} option} \end{figure} Just to show the also the lists works: \listoftables \listoffigures \end{document} 

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Comentarios

  • ¿Qué tal si flushleft y flushright una tabla o una figura?
  • @BlackMild Hay flushleft y flushright entornos, así como \raggedright y \raggedleft comandos

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *