Проблема центрирования подплава

Проблема центрирования подплава

Попробуйте запустить этот код, удаляя по одному каждый \pgfplotstablegetelem. Вы увидите, что 2 подплава будут двигаться шаг за шагом к центру. Почему? Сохраняя их все, результат будет следующим. Мне нужно сохранить \newcommandтаким образом, но в то же время фигуру по центру, как мне это сделать?

введите описание изображения здесь

\documentclass[a4paper,twoside,12pt]{book}

\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage[english]{babel}
\usepackage{tikz}
\usepackage{pgfplotstable, filecontents}
\usepackage{subfig}
\usepackage{float}


\newcommand{\iso}[1]{
\pgfplotstablegetelem{#1}{T}\of{coefficienti.dat}
\pgfmathsetmacro{\T}{\pgfplotsretval}
\pgfplotstablegetelem{#1}{K}\of{coefficienti.dat}
\pgfmathsetmacro{\K}{\pgfplotsretval}
\pgfplotstablegetelem{#1}{Q}\of{coefficienti.dat}
\pgfmathsetmacro{\Q}{\pgfplotsretval}
\pgfplotstablegetelem{#1}{Kf}\of{coefficienti.dat}
\pgfmathsetmacro{\Kf}{\pgfplotsretval}
\pgfplotstablegetelem{#1}{n}\of{coefficienti.dat}
\pgfmathsetmacro{\n}{\pgfplotsretval}
\pgfplotstablegetelem{#1}{Klf}\of{coefficienti.dat}
\pgfmathsetmacro{\Klf}{\pgfplotsretval}
\pgfplotstablegetelem{#1}{Qlf}\of{coefficienti.dat}
\pgfmathsetmacro{\Qlf}{\pgfplotsretval}
\pgfplotstablegetelem{#1}{m}\of{coefficienti.dat}
\pgfmathsetmacro{\m}{\pgfplotsretval}

    \begin{tikzpicture}
        \begin{axis}[
            width=7cm,
            domain=0:1,
            xlabel=$Equilibrium$,
            ylabel=$Sorbed$,
            legend style={draw=none, at={(.9,.3)}}]
        \end{axis}
    \end{tikzpicture}

}


\begin{document}

\begin{filecontents*}{coefficienti.dat}
T       K       Q       Kf      n       Klf     Qlf     m
400     0.0463  32.9        5.78        0.321   .0840   40.7        .675
500     0.154   23.8        6.33        0.281   .0722   86.8        .354
600     0.115   24.6        6.30        0.261   .0257   247     .280
700     1.68        24.2        12.1        0.153   .9760   32.0        .376
\end{filecontents*}

\begin{figure}[H]
    \centering
    \subfloat[]{\iso{0}}
    \subfloat[]{\iso{0}}
    \caption{This caption is centered, but not the 2 subfloats}
\end{figure}

\end{document}

решение1

У вас хороший запас пробелов в конце строк. Ставьте %в конце строк, по желанию.

\documentclass[a4paper,twoside,12pt]{book}

\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage[english]{babel}
\usepackage{tikz}
\usepackage{pgfplotstable, filecontents}
\usepackage{subfig}
\usepackage{float}


\newcommand{\iso}[1]{%
\pgfplotstablegetelem{#1}{T}\of{coefficienti.dat}%
\pgfmathsetmacro{\T}{\pgfplotsretval}%
\pgfplotstablegetelem{#1}{K}\of{coefficienti.dat}%
\pgfmathsetmacro{\K}{\pgfplotsretval}%
\pgfplotstablegetelem{#1}{Q}\of{coefficienti.dat}%
\pgfmathsetmacro{\Q}{\pgfplotsretval}%
\pgfplotstablegetelem{#1}{Kf}\of{coefficienti.dat}%
\pgfmathsetmacro{\Kf}{\pgfplotsretval}%
\pgfplotstablegetelem{#1}{n}\of{coefficienti.dat}%
\pgfmathsetmacro{\n}{\pgfplotsretval}%
\pgfplotstablegetelem{#1}{Klf}\of{coefficienti.dat}%
\pgfmathsetmacro{\Klf}{\pgfplotsretval}%
\pgfplotstablegetelem{#1}{Qlf}\of{coefficienti.dat}%
\pgfmathsetmacro{\Qlf}{\pgfplotsretval}%
\pgfplotstablegetelem{#1}{m}\of{coefficienti.dat}%
\pgfmathsetmacro{\m}{\pgfplotsretval}%
    \begin{tikzpicture}%
        \begin{axis}[
            width=7cm,
            domain=0:1,
            xlabel=$Equilibrium$,
            ylabel=$Sorbed$,
            legend style={draw=none, at={(.9,.3)}}]
        \end{axis}%
    \end{tikzpicture}%
}


\begin{document}

\begin{filecontents*}{coefficienti.dat}
T       K       Q       Kf      n       Klf     Qlf     m
400     0.0463  32.9        5.78        0.321   .0840   40.7        .675
500     0.154   23.8        6.33        0.281   .0722   86.8        .354
600     0.115   24.6        6.30        0.261   .0257   247     .280
700     1.68        24.2        12.1        0.153   .9760   32.0        .376
\end{filecontents*}

\begin{figure}[H]
    \centering
    \subfloat[]{\iso{0}}
    \subfloat[]{\iso{0}}
    \caption{This caption is centered, but not the 2 subfloats}
\end{figure}

\end{document}

введите описание изображения здесь

Обратите внимание, что width=7cmэто слишком много. Вместо этого используйте width=0.5\linewidth.

введите описание изображения здесь

Связанный контент