Consider the following:
Code: Select all
\documentclass[a4paper]{article}
\usepackage[hmargin=2.4cm,vmargin=3cm]{geometry}
\usepackage{subcaption}
\usepackage{auto-pst-pdf,pstricks-add}
\usepackage{expl3}
\ExplSyntaxOn
\cs_new_eq:NN
\calculate
\fp_eval:n
\ExplSyntaxOff
\begin{document}
\noindent Test, test, test, test, test, test, test, test, test, test,
test, test, test, test, test, test, test, test, test, test, test, test.
\begin{figure}[htbp]
\def\figur{2}
\def\hoejde{\calculate{3*\figur}}
\def\bredde{\calculate{2*\figur}}
\def\faktorA{\calculate{\hoejde+1}}
\def\faktorB{\calculate{\bredde+1}}
\def\faktorC{\calculate{\bredde/2+1}}
\def\skalering{\calculate{3/\figur}}
\centering
\psset{unit=\skalering}
\begin{subfigure}{0.42\textwidth}
\centering
\begin{pspicture}(\bredde,\hoejde)
\pnode(!\bredde\space 2 div 0){A}
\pnode(!0 \bredde\space){B}
\pnode(!\bredde\space 2 div \hoejde\space){C}
\pnode(!\bredde\space 2 3 div \hoejde\space mul){D}
\rput(!\bredde\space 2 div \bredde\space 8 div sub
2 3 div \hoejde\space mul \bredde\space 8 div sub){\small{$A$}}
\rput(!\bredde\space 2 div \bredde\space 8 div sub
2 3 div \hoejde\space mul \bredde\space 8 div add){\small{$B$}}
\rput(!\bredde\space 2 div \bredde\space 8 div add
2 3 div \hoejde\space mul \bredde\space 8 div sub){\small{$C$}}
\rput(!\bredde\space 2 div \bredde\space 8 div add
2 3 div \hoejde\space mul \bredde\space 8 div add){\small{$D$}}
\multido{\iA=0+1}{\faktorA}{\psline[linestyle=dashed,linecolor=blue]%
(0,\iA)(\bredde\space,\iA)}
\multido{\iB=0+1}{\faktorB}{\psline[linestyle=dashed,linecolor=blue]%
(\iB,0)(\iB,\hoejde\space)}
\psline[linewidth=1.25pt](A)(C)
\psline[linewidth=1.25pt](B)(D)
\pspolygon[linewidth=2pt,linecolor=red](A)(B)(C)(D)
\end{pspicture}
\subcaption{F{\o}r omrokeringen.}
\end{subfigure}
\begin{subfigure}{0.42\textwidth}
\centering
\begin{pspicture}(\figur,\hoejde)
\pnode(0,0){A}
\pnode(!0 2 3 div \hoejde\space mul){B}
\pnode(!0 \hoejde\space){C}
\pnode(!\bredde\space 2 div \hoejde\space){D}
\pnode(!\bredde\space 2 div 2 3 div \hoejde\space mul){E}
\pnode(!\bredde\space 2 div 0){F}
\rput(!\bredde\space 2 div \bredde\space 8 div sub
2 3 div \hoejde\space mul \bredde\space 8 div sub){\small{$A$}}
\rput(!\bredde\space 2 div \bredde\space 8 div sub
2 3 div \hoejde\space mul \bredde\space 8 div add){\small{$B$}}
\rput(!\bredde\space 8 div
\hoejde\space \bredde\space 8 div sub){\small{$C$}}
\rput(!\bredde\space 8 div \bredde\space 8 div){\small{$D$}}
\multido{\iC=0+1}{\faktorA}{\psline[linestyle=dashed,linecolor=blue]%
(0,\iC)(!\bredde\space 2 div \iC)}
\multido{\iD=0+1}{\faktorC}{\psline[linestyle=dashed,linecolor=blue]%
(\iD,0)(\iD,\hoejde\space)}
\pspolygon[linewidth=1.25pt](A)(C)(D)(F)
\psline[linewidth=1.25pt](B)(E)
\psline[linewidth=2pt,linecolor=red](F)(B)(D)
\end{pspicture}
\subcaption{Efter omrokeringen.}
\end{subfigure}
\caption{Figur~$\figur$ i figurf{\o}lgen.}
\end{figure}
\end{document}
If I strip the example to the following, the figures are centered (but I cannot figure out what causes the wrong placement in the example above):
Code: Select all
\documentclass[a4paper]{article}
\usepackage[hmargin=2.4cm,vmargin=3cm]{geometry}
\usepackage{subcaption}
\usepackage{pstricks-add}
\begin{document}
\noindent Test, test, test, test, test, test, test, test, test, test,
test, test, test, test, test, test, test, test, test, test, test, test.
\begin{figure}[htbp]
\centering
\begin{subfigure}{0.42\textwidth}
\centering
\begin{pspicture}(4,0)
\psline(0,0)(4,0)
\end{pspicture}
\subcaption{Something.}
\end{subfigure}
\begin{subfigure}{0.42\textwidth}
\centering
\begin{pspicture}(2,0)
\psline(0,0)(2,0)
\end{pspicture}
\subcaption{Something else.}
\end{subfigure}
\caption{Yet another caption}
\label{fig:2}
\end{figure}
\end{document}
Update
It seems to have something to do with the
{0.42\textwidth}
arguments. If I use {0.58\textwidth}
for the left figure and {0.38\textwidth}
for the right figure, it seems to work, but it seems wrong to use a trail and error method like this.