1

I am using cite package to manage citations (compressing many citations, superscripting). And I am trying to use the package's \citen command to display the in-line version of a reference, but within square brackets (in the answer to @Steven B. Segletes's "self-referential-ness": so as not to have to put square brackets all the time when I need them).

I came to this (as suggested by @Steven B. Segletes and @TeXnician I removed mathmode):

\newcommand{\citin}[1]{%
    [\citen{#1}]%
}%

Although I get no errors nor warnings and the output looks nice, I would like to know if this is the proper way to define square brackets within macro, if else, please tell, I am new in macro definitions. I also worry if those brackets will keep together with the number inside on line break.

Is this also the way I should follow to get square bracketed superscripted output?

EDIT: MWE

\documentclass[11pt,a4paper]{article}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage[super,nobreak]{cite}% cytowania w indeksie górnym, bez łamania wyliczeń cytowanych
\newcommand{\citin}[1]{% użyj \citin do cytowania w linii (np. Wg [1] sprawa ma się tak...)
    [\citen{#1}]%
    }%
\begin{document}%
\blindtext \cite{przyklad} \par
Or maybe not all from \citin{kowalski}.

\begin{thebibliography}{9}

\bibitem{przyklad}
D. Przyklad.
\newblock Title 1.
\newblock {\em APL}, 1:1–2, 2015.

\bibitem{kowalski}
D. Kowalski.
\newblock Title 2.
\newblock {\em JPC}, 2:2–5, 2017.
\end{thebibliography}
\end{document}

MWE image

5
  • 1
    I don't believe math mode is needed for brackets, so that [\citen{#1}] should be sufficient. However, your definition is self-referential. Commented Oct 13, 2017 at 9:53
  • You still do not need the math mode for the cite.
    – TeXnician
    Commented Oct 13, 2017 at 9:58
  • OK. This works as well, but is it really the way I should do to add brackets in superscript also? Or should I somehow redefine the \cite command? Commented Oct 13, 2017 at 10:01
  • 1
    You should provide us with a minimum working example (code beginning with \documentclass, ending with \end{document}) in which you use the macros as you are intending to use them. That will help us see what exactly it is you are trying to accomplish, and may help us give you the best answer. Commented Oct 13, 2017 at 10:05
  • Here it is now. I mean to have the "1" as superscripted [1] to work with cite package Commented Oct 13, 2017 at 10:36

1 Answer 1

1

To answer the direct question, maybe this?

\documentclass[11pt,a4paper]{article}
\usepackage[english]{babel}
\usepackage{blindtext,amsmath}
\usepackage[super,nobreak]{cite}% cytowania w indeksie górnym, bez łamania wyliczeń cytowanych
\newcommand{\citin}[1]{% użyj \citin do cytowania w linii (np. Wg [1] sprawa ma się tak...)
    \unskip$^\text{[\citen{#1}]}$%
    }%
\begin{document}%
\blindtext \cite{przyklad} \par
Or maybe not all from \citin{kowalski}.
Also from \citin{przyklad, kowalski}.

\begin{thebibliography}{9}

\bibitem{przyklad}
D. Przyklad.
\newblock Title 1.
\newblock {\em APL}, 1:1–2, 2015.

\bibitem{kowalski}
D. Kowalski.
\newblock Title 2.
\newblock {\em JPC}, 2:2–5, 2017.
\end{thebibliography}
\end{document}

enter image description here


However, the cite manual gives the explicit example of how to make \cite place superscripted citations in brackets, if this would be preferable.

enter image description here

\documentclass[11pt,a4paper]{article}
\usepackage[english]{babel}
\usepackage{blindtext,amsmath}
\usepackage[super,nospace,compress,nobreak]{cite}% cytowania w indeksie górnym, bez łamania wyliczeń cytowanych
\makeatletter
\renewcommand\@citess[1]{\textsuperscript{[#1]}}
\makeatother
\begin{document}%
\blindtext \cite{przyklad} \par
Or maybe not all from \cite{kowalski}.
Also from \cite{przyklad, kowalski}.

\begin{thebibliography}{9}

\bibitem{przyklad}
D. Przyklad.
\newblock Title 1.
\newblock {\em APL}, 1:1–2, 2015.

\bibitem{kowalski}
D. Kowalski.
\newblock Title 2.
\newblock {\em JPC}, 2:2–5, 2017.
\end{thebibliography}
\end{document}

enter image description here

6
  • I guess this answers my question, but what is the unskip here for if you could tell me? Commented Oct 13, 2017 at 11:01
  • @OlekTomkowski \unskip removes any prior space, so that there is no gap prior to the superscript, which had been introduced when you leave a space before the invocation of \citin, as in not all from \citin{kowalski} One could have alternately invoked as not all from\citin{kowalski} and then the \unskip would be unnecessary. Commented Oct 13, 2017 at 11:10
  • Thank you, now I see that with your solution I can also remove the [super] option from cite, thus not having to use the inline version which natively has square brackets. Commented Oct 13, 2017 at 11:14
  • @OlekTomkowski Please see the supplement to my answer, if that is even better. Commented Oct 13, 2017 at 11:23
  • It seems even better, but I'd rather not re-define things within the package if I don't have to. Now I use the previous solution having defined mnemonic citeup when I want it up and with brackets. I find it quite reasonable for now :) Commented Oct 13, 2017 at 14:11

You must log in to answer this question.

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