Proving that $\operatorname{Tor}_n^R$ is a bifunctor $\newcommand{\Tor}{\operatorname{Tor}}$

Ex10.2 pg 615: For a ring $R$ and fixed $k \ge 0$, prove that $\Tor_n^R(-,-)$ is a bifunctor. 

I am aware of this post. I am also not satisfied with the answer. I am unfamilar with total complexes, and I still don't see how the argument writes out. 
Concerns: 

  
*
  
*There must be a choice of projective resolution here. $P,Q$ be resolutions of $A,B$. Suppose $P'$ is another resolution of $A$, then we can show we have $\mathbb{Z}$-isomoprhisms.
  $$\Tor_n^R(A,B) \cong \Tor_n^R(A,B)'$$
  
*In Rotman's homological algebra, we defined $\Tor$ as derived functor of right tensor, whislt $\operatorname{tor}$ as derived functor of left tensor. Hence, $\Tor$ is only a functor in its first argument, and how does make sense of an induced morphism $\Tor_n^R(A,B) \rightarrow \Tor_n^R(A,B')$ from $B\rightarrow B'$ ?
  
*I was thinking we may use the isomorphism $\Tor_n(A,B) \cong \operatorname{tor}_n(A,B)$. But isomoprhism is terribly (for me) obscured in the proof: Theorem 6.32, pg 355. 
  
*How should one approach? May someone also elaborate on using total complexes? 
  

Ok: so I have defined my own "induced morphisms". This is the proof I came up with. I wonder if it is right. I don't like it as it requires pointwise element chase - is this inevitable? 

 A: $\newcommand{\Tor}{\operatorname{Tor}}$ You can define $\Tor$ cleanly as a bifunctor in the following way, which does involve double complexes, but this is something you will have to get used to (for better or for worse). Along the way, you obtain also a proof that $\Tor$ can be computed resolving either variable.
Given a right module $M$ and a left module $N$, choose projective resolutions $\varepsilon:P\to M$ and $\varepsilon':Q\to N$. The complex $P\otimes Q$ is defined as follows: in degree $n$, it is the sum of terms $P_i\otimes Q_j$ with $i+j=n$, and the differential is $d_P\otimes 1+1\otimes d_Q$, with the appropriate sign rule that $(1\otimes d)(x\otimes y) = (-1)^{|x|}x\otimes dy$.
That the assignment $(P,Q)\to P\otimes Q$ is a bifunctor from complexes to complexes is something you should check. In particular, viewing $M$ and $N$ as complexes in degree $0$ with no differential, there are maps $\varepsilon \otimes 1:P\otimes Q\to M\otimes Q$ and $1\otimes \varepsilon' : P\otimes Q\to P\otimes N$.
Taking homology, you obtain maps $\Tor(M,N) \longleftarrow H_*(P\otimes Q)\longrightarrow \Tor(M,N)'$ where I am using a prime to distinguish between the two possible ways to compute $\Tor$. Note that all of this is functorial up to the choice of projective resolutions. Now I claim that both of these maps are isomorphisms.
The upshot of all this is that now we have identified $\Tor$ as a composition of two functors, one is a bifunctor on complexes and the other the homology functor, so from this it is evident that $\Tor$ is a bifunctor. Moreover, the description of the induced maps is the one you suggest, obtained by element chasing.
The proof that the maps $\varepsilon\otimes 1$ and $1\otimes \varepsilon'$ are quasi-isomorphisms can be found in Rotman's book, and in Weibel's book too. It relies on the Acyclic Assembly Lemma, which is a very elementary example of the use of spectral sequences.
