5

Edit: Now I realize there is a issue with very long notes, specially because I am working with A5 paper. Using Mica's solution:

Long note

Having the tablenotes flushleft however works just fine.

Two questions in one:

  • How do I align the tablenotes to start at the left of the table and figure? (The flushleft option of threeparttable does affect the whole threeparttable and creates inconsistency)
  • Why my code displays this difference in the tablenotes, when comparing figure and table?

tablenotes misalignment

\documentclass{memoir}
\usepackage{lmodern}            % Usa a fonte Latin Modern          
\usepackage[T1]{fontenc}        % Selecao de codigos de fonte.
\usepackage[utf8]{inputenc}     % Codificacao do documento (conv. auto. dos acentos)
\usepackage[brazil]{babel}
\usepackage[range-phrase={\,a\,}]{siunitx}
\sisetup{
    group-digits=true,
    group-four-digits=true,
    group-separator={\,},
    output-decimal-marker={,}
}
\usepackage{caption}
\captionsetup{
    justification=justified,
    %labelsep=quad,
    labelsep=endash, %% ABNT q manda
    position=above,
    skip=\onelineskip,
    width=0.95\linewidth,
}
\setfloatadjustment{table}{\centering}
\setfloatadjustment{figure}{\centering}
\setfloatadjustment{threeparttable}{\centering}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage[]{threeparttable}


\begin{document}        
\begin{figure}[]
    \captionof{figure}{Pressão}
    \label{fig:pvapor2}
    \begin{threeparttable}
        \begin{tikzpicture}[]
        \begin{axis}[grid=both,trim axis left, trim axis right,
        xlabel={Something else}, ylabel={Something},
        xmin= 1150,
        xmax=1550,
        ymin=-0.02
        ]
        \addplot+[ultra thick] coordinates { 
            (1300-273,101325*4.278*10^-11)
            (1400-273,101325*8.133*10^-10)
            (1500-273,101325*1.040*10^-8)
            (1600-273,101325*9.636*10^-8)
            (1687-273,101325*5.377*10^-7)
            (1700-273,101325*6.662*10^-7)
            (1800-273,101325*3.117*10^-6)
            (1900-273,101325*1.238*10^-5)
        };
        \end{axis}
        \end{tikzpicture}
        \begin{tablenotes}
            \item Fonte: Autor.
        \end{tablenotes}
    \end{threeparttable}
\end{figure}

\begin{table}
    \captionof{table}{Planejamento}
    \label{tab:planejamentoexperimental}
    \begin{threeparttable}[t]
        \begin{tabular}{@{}SSSS @{}}
            \toprule
            \text{Ordem} & \text{Ensaio} & \text{Fator A} & \text{Fator B} \\
            \midrule
            12 & 1 & 0 & 0\\
            5 & 2 & -1.41421 & 0\\
            2 & 3 & 1 & -1\\
            11 & 4 & 0 & 0\\
            13 & 5 & 0 & 0\\
            10 & 6 & 0 & 0\\
            8 & 7 & 0 & 1.41421\\
            1 & 8 & -1 & -1\\
            9 & 9 & 0 & 0\\
            7 & 10 & 0 & -1.41421\\
            3 & 11 & -1 & 1\\
            4 & 12 & 1 & 1\\
            6 & 13 & 1.414214 & 0\\
            \bottomrule
        \end{tabular}
        \begin{tablenotes}
            \item Fonte: Autor.
        \end{tablenotes}
    \end{threeparttable}
\end{table}
\end{document}
2
  • 1
    Somehow threeparttable reads the last tables size, this does not work for your TikZ picture, which explains the difference in behaviour?
    – sheß
    Commented Mar 8, 2019 at 16:01
  • I remember having head some luck with \renewcommand\TPTminimum{\linewidth} but dont know how exactly
    – sheß
    Commented Mar 8, 2019 at 16:02

2 Answers 2

4

In the following example, I have used the flushleft option to the individual tablenotes environments. I have also embedded the tikzpicture in a tabular environment to overcome the alignment issue there.

enter image description here

\documentclass{memoir}
\usepackage{lmodern}            % Usa a fonte Latin Modern          
\usepackage[T1]{fontenc}        % Selecao de codigos de fonte.
\usepackage[utf8]{inputenc}     % Codificacao do documento (conv. auto. dos acentos)
\usepackage[brazil]{babel}
\usepackage[range-phrase={\,a\,}]{siunitx}
\sisetup{
    group-digits=true,
    group-four-digits=true,
    group-separator={\,},
    output-decimal-marker={,}
}
\usepackage{caption}
\captionsetup{
    justification=justified,
    %labelsep=quad,
    labelsep=endash, %% ABNT q manda
    position=above,
    skip=\onelineskip,
    width=0.95\linewidth,
}
\setfloatadjustment{table}{\centering}
\setfloatadjustment{figure}{\centering}
\setfloatadjustment{threeparttable}{\centering}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage[]{threeparttable}


\begin{document}        
\begin{figure}[]
    \caption{Pressão}
    \label{fig:pvapor2}
    \begin{threeparttable}
    \begin{tabular}{@{}c@{}}
        \begin{tikzpicture}[]
        \begin{axis}[grid=both,trim axis left, trim axis right,
        xlabel={Something else}, ylabel={Something},
        xmin= 1150,
        xmax=1550,
        ymin=-0.02
        ]
        \addplot+[ultra thick] coordinates { 
            (1300-273,101325*4.278*10^-11)
            (1400-273,101325*8.133*10^-10)
            (1500-273,101325*1.040*10^-8)
            (1600-273,101325*9.636*10^-8)
            (1687-273,101325*5.377*10^-7)
            (1700-273,101325*6.662*10^-7)
            (1800-273,101325*3.117*10^-6)
            (1900-273,101325*1.238*10^-5)
        };
        \end{axis}
        \end{tikzpicture}
        \end{tabular}
        \begin{tablenotes}[flushleft]
            \item Fonte: Autor.
        \end{tablenotes}
    \end{threeparttable}
\end{figure}

\begin{table}
    \caption{Planejamento}
    \label{tab:planejamentoexperimental}
    \begin{threeparttable}[t]
        \begin{tabular}{@{}SSSS @{}}
            \toprule
            \text{Ordem} & \text{Ensaio} & \text{Fator A} & \text{Fator B} \\
            \midrule
            12 & 1 & 0 & 0\\
            5 & 2 & -1.41421 & 0\\
            2 & 3 & 1 & -1\\
            11 & 4 & 0 & 0\\
            13 & 5 & 0 & 0\\
            10 & 6 & 0 & 0\\
            8 & 7 & 0 & 1.41421\\
            1 & 8 & -1 & -1\\
            9 & 9 & 0 & 0\\
            7 & 10 & 0 & -1.41421\\
            3 & 11 & -1 & 1\\
            4 & 12 & 1 & 1\\
            6 & 13 & 1.414214 & 0\\
            \bottomrule
        \end{tabular}
        \begin{tablenotes}[flushleft]
            \item Fonte: Autor.
        \end{tablenotes}
    \end{threeparttable}
\end{table}
\end{document}
4

Given that you're not using any \tnote directives, employing the threeparttable machinery and a tablenotes environment seems inappropriate or, at the least, like massive overkill. The simplest solution for your formatting objective would appear to consist of place the "Fonte" ("source", right?) line into the body of the tabular environment. In the code below, that's done by writing

\multicolumn{4}{@{}l}{\footnotesize Fonte: Autor.}

While you're making ajdustments, you should be a bit more deliberate in the way you use the S column type, especially in view of the fact that the SSSS one-size-fits-all approach is ill advised.

The same argument holds for the treatment of the material in the figure environment: There's no need for the threeparttable environment machinery. Just place the tikzpicture environment in a single-column tabular environment, with column type @{}l@{}, and let the second row consist of

\footnotesize Fonte: Autor. % second "row"

enter image description here

\documentclass{memoir}
\usepackage{lmodern}     % Usa a fonte Latin Modern          
\usepackage[T1]{fontenc} % Selecao de codigos de fonte.
\usepackage[utf8]{inputenc} 
\usepackage[brazil]{babel}
\usepackage{siunitx}
\sisetup{range-phrase={\,a\,},
         group-digits=true,
         group-four-digits=true,
         group-separator={\,},
         output-decimal-marker={,}
         }
\usepackage{caption}
\captionsetup{justification=justified,
              %labelsep=quad,
              labelsep=endash, %% ABNT q manda
              position=above,
              skip=1ex,
              %width=0.95\linewidth,
              }
\setfloatadjustment{table}{\centering}

\usepackage{tikz}
\usepackage{pgfplots}

\begin{document}        
\setcounter{chapter}{2} % just for this example

\begin{table}
    \caption{Planejamento}
    \label{tab:planejamentoexperimental}
    \begin{tabular}{@{} *{2}{S[table-format=2.0]}
                        *{2}{S[table-format=-1.5]} @{}}
    \toprule
    {Ordem} & {Ensaio} & {Fator A} & {Fator B} \\
    \midrule
    12 & 1 & 0 & 0\\
    5 & 2 & -1.41421 & 0\\
    2 & 3 & 1 & -1\\
    11 & 4 & 0 & 0\\
    13 & 5 & 0 & 0\\
    10 & 6 & 0 & 0\\
    8 & 7 & 0 & 1.41421\\
    1 & 8 & -1 & -1\\
    9 & 9 & 0 & 0\\
    7 & 10 & 0 & -1.41421\\
    3 & 11 & -1 & 1\\
    4 & 12 & 1 & 1\\
    6 & 13 & 1.414214 & 0\\
    \bottomrule
    \addlinespace
    \multicolumn{4}{@{}l}{\footnotesize Fonte: Autor.}
    \end{tabular}
\end{table}

\begin{figure}[h!]
    \centering
    \caption{Pressão}
    \label{fig:pvapor2}
    \begin{tabular}{@{}l@{}}
    \begin{tikzpicture}[]
    \begin{axis}[grid=both,trim axis left, trim axis right,
        xlabel={Something else}, ylabel={Something},
        xmin= 1150,
        xmax=1550,
        ymin=-0.02
        ]
        \addplot+[ultra thick] coordinates { 
            (1300-273,101325*4.278*10^-11)
            (1400-273,101325*8.133*10^-10)
            (1500-273,101325*1.040*10^-8)
            (1600-273,101325*9.636*10^-8)
            (1687-273,101325*5.377*10^-7)
            (1700-273,101325*6.662*10^-7)
            (1800-273,101325*3.117*10^-6)
            (1900-273,101325*1.238*10^-5)
        };
    \end{axis}
    \end{tikzpicture}\\ % end of first "row"
    \footnotesize Fonte: Autor. % second "row"
    \end{tabular}
\end{figure}
\end{document}
7
  • Hmmmm, I like your solution. I don't quiet understand your comment about t S usage, could you elaborate more? I totally ignore the difference in format 1.5 and 2 :( Also, lets say in the future I need to add a table with tnotes, thus using threeparttable, wouldn't it create a inconsistency in my thesis?
    – G. Bay
    Commented Mar 8, 2019 at 20:01
  • 1
    @G.Bay - My apologies for not being clear. If no table-format option is given, the S column type assumes that the number of digits before and after the (explicit or implicit) decimal marker is the same. If you look closely at the screenshot that goes with your query, you'll notice that the numbers in the first two column looks left-shifted, because the numbers have no decimal components. Conversely, the numbers in the final two columns looks like they've been right-shifted, as there is only 1 digit to the left of the decimal marker but up to 5 digits to the right of the decimal marker.
    – Mico
    Commented Mar 8, 2019 at 20:14
  • @G.Bay - I don't quite follow your concern about a possible inconsistent look across table environments that do or do not contain tablenotes components. Just be sure to load the threeparttable environment with the option flushleft.
    – Mico
    Commented Mar 8, 2019 at 20:17
  • 1
    @G.Bay - Indeed: In your code, since there are no \tnote directives, the argument of \item in the tablenotes environment has to be left empty. Because LaTeX is very much expecting an argument, it treats the space after \item in \item Fonte: Autor. as the argument of \item. That's why, in your code, the Fonte: Autor. ends up not being typeset fully flushleft.
    – Mico
    Commented Mar 8, 2019 at 21:30
  • 1
    @G.Bay - I'm afraid I've lost the point of this thread. I continue to believe that if you load the threeparttable package with the option flushleft, you'll get good results if there's a point to employing a tablenotes environment, viz., when there are some \tnote directives in the body of the tabular environment which require some corresponding non-trivial \item directives in the tablenotes environment. OTOH, if there are no \tnote directives to begin with, I simply don't understand why anyone would want to use a tablenotes environment and fill it with trivial \items.
    – Mico
    Commented Mar 8, 2019 at 21:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .