Here are some considerations, since this question is open-ended:
\documentclass{article}
\usepackage{xcolor}% http://ctan.org/pkg/xcolor
\newcommand{\parm}{\mathord{\color{black!33}\bullet}}%
\begin{document}
\[
f(x,.) \quad f(x,\cdot) \quad f(x,\ast) \quad f(x,\star) \quad
f(x,\bullet) \quad f(x,\parm)
\]
\end{document}
I've included \parm
which is a 33% black \bullet
, perhaps a little more subtle than the full-fledged solid \bullet
. Whatever you choose, best to define a command that sets such a "placeholder". If you're after something "fancy", I would suggest you peruse the tables of symbols contained in Scott Pakin's Comprehensive LaTeX Symbol List.
After Johannes_b pointed me in the right direction, it turned out that using \captionsetup[subtable]{position=auto}
fixes the spacing in all four cases.
Long answer
After some experimentation, it seemed to me that the \caption
of the outer table
environment somehow affected the \caption
used in the inner subtable
environment. This led med to attempt wrapping the table \caption
in a \begingroup
-\endgroup
pair to isolate any side-effects. In the following MWE, this was done with the problematic case 4:
\documentclass{article}
\usepackage{booktabs,caption,subcaption,blindtext}
\captionsetup[subtable]{skip=20pt}
\newcommand\exampletable{
\begin{tabular}{ll}
\toprule
A & B\\
\bottomrule
\end{tabular}
}
\begin{document}
A single line of text that shows the spacing between the text and the float.
\begin{table}[!h]
\caption{Main caption}
\centering
\begin{subtable}[t]{10em}
\centering
\exampletable
\caption{Subcaption 1}
\end{subtable}
\end{table}
A single line of text that shows the spacing between the text and the float.
\begin{table}[!h]
\begingroup
\caption{Main caption}
\endgroup
\centering
\begin{subtable}[t]{10em}
\centering
\exampletable
\caption{Subcaption 1}
\end{subtable}
\end{table}
A single line of text that shows the spacing between the text and the float.
\end{document}
And the result confirms the suspicion:
Table 2 in the image above corresponds to the case where \caption
was used within a group.
After some digging through the caption
source code, it turns out that the \caption@position
macro is set as a result of using \caption
in the table
environment (it is undefined initially, unless overridden globally), and it is tested for with the \caption@iftop
macro when \caption
is used again in the subtable
environment. In other words, the position attribute of the caption in the outer environment will override the caption position in nested environments, if their \caption
commands succeed the \caption
command of the outer environment, and the caption positions of the nested environments haven't been set explicitly.
To confirm this, I tried to reset the value of \caption@position
after the table caption:
\begin{table}[!h]
\caption{Main caption}
\makeatletter
\let\caption@position\@undefined
\makeatother
\centering
\begin{subtable}[t]{10em}
\centering
\exampletable
\caption{Subcaption 1}
\end{subtable}
\end{table}
and it turned out that this had the same effect as wrapping the \caption
in a group.
Note that the code above should not be used as a solution to this problem! Even the caption package source code states that the \caption@position
macro should not be depended on.
So why does position=auto work?
It turns out that using \captionsetup[subtable]{position=auto}
will result in a call to \caption@setposition{auto}
before the subtable caption is output, and the auto
argument will simply do \let\caption@position\@undefined
, which is exactly what we wanted.
Best Answer
I think that there are two most sensible options:
$\langle\,,\rangle$
\cdot
s in place of the arguments:$\langle\cdot,\cdot\rangle$
(this is what I prefer).Typeset versions:
In the second one, if you don't like the space after the comma:
$\langle\cdot{,}\cdot\rangle$