TeX - LaTeX Asked by mwoua on September 30, 2021
I am adding figures to a work and most of the figures are too wide and are thus not centered but are shifted to the right. I searched here and found a solution, that would consist in adding the centerline{}
command into the figure environment. This work fine for figures added with the command includegraphics{}
, like in this example:
begin{figure}[h!]
begin{center}
centerline{includegraphics{SOIR_optics}}
end{center} % is this really useful?
end{figure}
But when I try to add a tikzpicture
instead, this solution does not work (see example)
begin{figure}[h!]
begin{center}
centerline{begin{tikzpicture}
some code
end{tikzpicture}}
end{center}
end{figure}
My question is : are there alternatives to this centerline{}
command?
Thanks!
The centerline
command should never be used in a LaTeX document (unless you know precisely what you're doing, and probably only in the preamble for some definition). Use
begin{figure}[htp]
centering
<whatever>
end{figure}
and <whatever>
(a graphic, a TikZ picture or anything) will be centered.
Correct answer by egreg on September 30, 2021
You can use adjustbox
documentclass{scrreprt}
usepackage[export]{adjustbox} %% export option makes adjustbox --
%% -- goodies available inside includegraphics command
usepackage{graphicx}
begin{document}
Xhrulefill X
begin{figure}[htp]
includegraphics[width=1.1textwidth,center]{example-image-a}
end{figure}
end{document}
This is very useful for figures that are wider than textwidth
. Another useful macro will be adjustbox
environment with max width
option.
documentclass{scrreprt}
usepackage[export]{adjustbox}
usepackage{graphicx}
begin{document}
Xhrulefill X
This is resized to verb|1.1textwidth|
begin{figure}[htp]
begin{adjustbox}{center,max width=1.1textwidth}
includegraphics[width=1.2textwidth,center]{example-image-a}
end{adjustbox}
end{figure}
clearpage
The following is not resized:
begin{figure}[htp]
begin{adjustbox}{center,max width=1.1textwidth}
includegraphics[width=0.7textwidth,center]{example-image-b}
end{adjustbox}
end{figure}
end{document}
The advantage of max width
is that the content is resized only if it exceeds the max width
otherwise not.
With tikzpicture
environment
I assume that your tikz picture are saved as separate files. Then using adjustbox
and tikzscale
packages:
documentclass{article}
usepackage{graphicx,tikz,tikzscale}
usepackage{adjustbox}
usepackage{filecontents}
begin{filecontents*}{myfig.tikz}
begin{tikzpicture}[inner sep=0pt, outer sep=0pt]
draw[use as bounding box](-20,-20) rectangle (20,20);
node at (0,0) (A) {A};
node[above right] (B) at (A.north east) {B};
draw (A.south west)--(B.north east);
end{tikzpicture}
end{filecontents*}
begin{document}
Xhrulefill X
This is resized to verb|1.1textwidth|
begin{figure}[htp]
begin{adjustbox}{max width=1.1textwidth,center}
includegraphics[width=1.2textwidth]{myfig.tikz}
end{adjustbox}
end{figure}
clearpage
The following is not resized:
begin{figure}[htp]
begin{adjustbox}{max width=1.1textwidth,center}
includegraphics[width=0.7textwidth]{myfig.tikz}
end{adjustbox}
end{figure}
end{document}
Answered by user11232 on September 30, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP