Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

The title says it. Lets have to counters:

\newcounter{myCount}
\newcounter{anotherCount}

I set myCount to some value for example 10

\setcounter{myCount}{10}

How do I set counter anotherCount to double the value of myCount? I have tried things like

\setcounter{anotherCount}{2\value{myCount}}

and

\setcounter{anotherCount}{2\themyCount}

but non of this works.

share|improve this question
    
\multiply\myCount by 2 — this is not a length! –  Eddy_Em Jan 15 '13 at 8:09

3 Answers 3

up vote 9 down vote accepted

The 'official' LaTeX way (using only things documented in LaTeX: A Document Preparation System) is to use \addtocounter, as mentioned in a comment

\documentclass{article}
\newcounter{A}
\newcounter{B}
\begin{document}
\setcounter{A}{3}
\setcounter{B}{\value{A}}
\addtocounter{B}{\value{A}}

\arabic{A} and \arabic{B}
\end{document}

Loading the calc package (part of the core LaTeX2e system) allows

\documentclass{article}
\usepackage{calc}

\newcounter{A}
\newcounter{B}
\begin{document}
\setcounter{A}{3}
\setcounter{B}{2*\value{A}}

\arabic{A} and \arabic{B}
\end{document}

Of course, you can also use lower-level TeX or e-TeX constructs, as covered in the other answers.

share|improve this answer
    
the "official LaTeX" way was defined before eTeX was developed with its \numexpr and \dimexpr –  Herbert Jan 15 '13 at 8:38
    
@Herbert Of course. The \numexpr primitive does not have LaTeX syntax, so really doesn't fit 'properly'. One could of course redefine \setcounter to use e-TeX, in a similar way to the way that calc alters the definitions to allow expressions in a very different way. (Or you could use Heiko's intcalc package for the same thing without requiring e-TeX.) –  Joseph Wright Jan 15 '13 at 8:41
    
For me calc syntax is simplest and looks consistent with LaTeX counters. –  drasto Jan 15 '13 at 10:04
\documentclass{minimal}
\begin{document}
\newcounter{A}    \newcounter{B}
\setcounter{A}{3} \setcounter{B}{\numexpr\theA*2\relax}

\theA\ and \theB

\end{document}
share|improve this answer

Don't forget that counter isn't same as length. Use commands \advance, \divide and \multiply to work with counters.

For example, this code will compute value of typographics sheets (run it in the end of document):

\newcount{\podp}
\newcount{\podpfr}
\podp=\c@page
\podpfr=\c@page
\divide\podp by 16
\multiply\podp by 100
\multiply\podpfr by 100
\divide\podpfr by 16
\advance\podpfr by -\podp
\divide\podp by 100
…
\hbox to 0pt{Формат $60\!\times\!84\;1/16$}\hfil Усл.печ.л.~%
{\the\podp.\ifnum\podpfr<10 0\fi\the\podpfr}\hfil
share|improve this answer
    
LaTeX is just a set of macros on TeX, so I see nothing awful to use tex in latex. –  Eddy_Em Jan 15 '13 at 8:44
    
In simple things like this there's better to use tex commands whether to use one more latex package that do such simple work. If such thins meets frequently in document, there would be better to choose latex-way. –  Eddy_Em Jan 15 '13 at 9:00

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.