3

I'm using algorithm environment and I can't fix the text alignment (i want to justify text).

Here is a screenshoot for reference.

And the code is:

\documentclass[12pt,letterpaper,twoside]{book}
\usepackage[spanish]{babel}
\selectlanguage{spanish} 
\usepackage[spanish,onelanguage,ruled,vlined]{algorithm2e}
\usepackage{amsfonts}   % Para fuentes no comunes
\usepackage{amssymb}  % Para simbolos no comunes
\usepackage{amsmath}   % Algunas cosas matematicas
\usepackage{bbm}
\usepackage[]{units}
%Funciones
\def\sign{\mathop{\mbox{\normalfont sign}}\nolimits}
\newcommand{\R}{\mathbb{R}}
\newcommand{\evf}[2]{\mathop{\big|_{#1}^{#2}\big.}\limits}
\newcommand{\bez}{\mathop{\mathbbm{b}}}
\newcommand{\ba}[1]{\overline{{#1}}}
\newcommand{\ti}[1]{\tilde{{#1}}}
\newcommand{\h}[1]{\hat{{#1}}}
\newcommand{\entera}[1]{\left[\!\left[{#1}\right]\!\right]}
\newcommand{\encima}[1]{\overline{\;#1}}
\newcommand{\abs}[1]{\mid {#1}\mid}
\newcommand{\norma}[1]{\parallel {#1} \parallel}
\newcommand{\mbf}[1]{\mathbf{{#1}}}
\newcommand{\area}{\mathfrak{A}}
\newcommand{\parentesis}[1]{\left({#1}\right)}
\newcommand{\corchetes}[1]{\left[{#1}\right]}

\begin{document}
\begin{algorithm}[h!] 
\caption{Esquema MOSN de integraci\'on trapezoidal en tiempo.}
\label{AlgoTrapezoidal}
\SetAlgoLined
\vspace{0.3cm}
\KwData{Las velocidades en los NFD $\corchetes{v^{\pm}_{x}}^{t_{0}}_{i}$ son conocidas de c\'aculos previos.}\vspace{0.3cm} 
\KwResult{Integraci\'on temporal del sistema Velocidad--Estado.}
\vspace{0.3cm}
%Paso 1
      \textbf{Paso 1}: Calcule $\corchetes{u^{\pm}_{x}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i}$ y $\corchetes{u^{*}_{z}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$. Usando las velocidades en los NFD y condiciones iniciales, se obtiene la integraci\'on centrada $\corchetes{u^{\pm}_{x}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i} = \corchetes{u^{\pm}_{x}}^{t_{0}-\nicefrac{\Delta t}{2}}_{i} + \Delta t \corchetes{v^{\pm}_{x}}^{t_{0}}_{i}$. Luego, calcule $\corchetes{u^{*}_{z}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i + \nicefrac{1}{2}}$ de la condici\'on de continuidad de $\tau_{zz}$ en el plano de falla. Esto es, sustituir la anterior aproximaci\'on de $\corchetes{\frac{\partial u^{\pm}_{x}}{\partial x}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$ y la estimada de $\corchetes{\frac{\partial u^{\pm}_{z}}{\partial z}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$ (usando est\'eciles en una direcci\'on de la matriz $\boldsymbol G$) en esta condici\'on de continuidad para obtener $\corchetes{u^{*}_{z}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$.\

\vspace{0.3cm}
%Paso 2      
      \textbf{Paso 2}: Obtener los esfuerzos $\corchetes{\tau^{\pm}_{xx}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$ y $\corchetes{\tau^{\pm}_{zz}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$ introduciendo $\corchetes{\frac{\partial u^{\pm}_{x}}{\partial x}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$ y $\corchetes{\frac{\partial u^{\pm}_{z}}{\partial z}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$ en la Ley de Hooke (ecuaciones~\ref{Hooke1}--\ref{Hooke3}), diferenciados para obtener el gradiente del esfuerzo en los NFD $\corchetes{\frac{\partial \tau^{\pm}_{xx}}{\partial x}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i}$, y usados en la ecuaic\'on~\eqref{Rest} para obtener $\corchetes{R^{\pm}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i}$.\

\vspace{0.3cm}
%Paso 3
      \textbf{Paso 3}: Con la velocidad y la variable de estado centro--distribu\'idas en tiempo como en la Figura~\eqref{IntTrapezoidal}, integre las ecuaciones de evoluci\'on de la variable de estado \eqref{feq}--\eqref{fee} sobre el intervalo $\corchetes{t_{0} - \nicefrac{\Delta t}{2}, t_{0} + \nicefrac{\Delta t}{2}}$, con la velocidad de deslizamiento $V$ aproximada por su valor en el centro de ese intervalo, $t_{0}$. Con esta aproximaci\'on, las ecuaciones de la variable de estado se convierten en EDO lineales que pueden ser integradas anal\'iticamente.\

\vspace{0.3cm}
%Paso 4
    \textbf{Paso 4}: Integre la velocidad de deslizamiento $V$ de la ecuaci\'on~\eqref{VelDiscret} sobre el intervalo $\corchetes{t_{0}, t_{0} + \Delta t}$ y finalmente aproxime $\Psi$ por $\Psi ^{t_{0} + \nicefrac{\Delta t}{2}}$. \
\vspace{0.3cm}
\end{algorithm}

\end{document}

Thanks a lot for your knowledge! enter image description here

  • Please make your code compilable (if possible), or at least complete it with \documentclass{...}, the required \usepackage's, \begin{document}, and \end{document}. That may seem tedious to you, but think of the extra work it represents for TeX.SX users willing to give you a hand. Help them help you: remove that one hurdle between you and a solution to your problem. – Moriambar Apr 14 '17 at 20:24
  • (cont'd) \SetAlgoLined and \KwData are, in fact not defined (at least with my preamble. You should complete your MWE – Moriambar Apr 14 '17 at 20:26
  • Hi, you're right. Here is yhe complete code. I would like to give more line spacing son the equations and text don't look tight and also justify the code as well. – AdN Apr 14 '17 at 22:01
2

To get justified text, you can use the ragged2e package and \justifying, to set the linespread, \usepackage{setspace} and something like \setstretch{1.5}.

To simplyfy the usage of all these commands, you can wrap it in a newcommand. (thanks @gernot for the suggestion!)

enter image description here

\documentclass[12pt,letterpaper,twoside]{book}
\usepackage[spanish]{babel}
\selectlanguage{spanish} 
\usepackage[spanish,onelanguage,ruled,vlined,fillcomment ]{algorithm2e}
\usepackage{amsfonts}   % Para fuentes no comunes
\usepackage{amssymb}  % Para simbolos no comunes
\usepackage{amsmath}   % Algunas cosas matematicas
\usepackage{bbm}
\usepackage[]{units}
%Funciones
\def\sign{\mathop{\mbox{\normalfont sign}}\nolimits}
\newcommand{\R}{\mathbb{R}}
\newcommand{\evf}[2]{\mathop{\big|_{#1}^{#2}\big.}\limits}
\newcommand{\bez}{\mathop{\mathbbm{b}}}
\newcommand{\ba}[1]{\overline{{#1}}}
\newcommand{\ti}[1]{\tilde{{#1}}}
\newcommand{\h}[1]{\hat{{#1}}}
\newcommand{\entera}[1]{\left[\!\left[{#1}\right]\!\right]}
\newcommand{\encima}[1]{\overline{\;#1}}
\newcommand{\abs}[1]{\mid {#1}\mid}
\newcommand{\norma}[1]{\parallel {#1} \parallel}
\newcommand{\mbf}[1]{\mathbf{{#1}}}
\newcommand{\area}{\mathfrak{A}}
\newcommand{\parentesis}[1]{\left({#1}\right)}
\newcommand{\corchetes}[1]{\left[{#1}\right]}

\usepackage{ragged2e}
\usepackage{setspace}

\newcommand\Paso[1]{\medskip\par\noindent\textbf{Paso #1:}\ \justifying} 

\begin{document}
\begin{algorithm}[h!] 
\caption{Esquema MOSN de integraci\'on trapezoidal en tiempo.}
\label{AlgoTrapezoidal}
\SetAlgoLined
\setstretch{1.5}
\vspace{0.3cm}
\KwData{Las velocidades en los NFD $\corchetes{v^{\pm}_{x}}^{t_{0}}_{i}$ son conocidas de c\'aculos previos.}\vspace{0.3cm} 
\KwResult{Integraci\'on temporal del sistema Velocidad--Estado.}

\Paso{1} Calcule $\corchetes{u^{\pm}_{x}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i}$ y $\corchetes{u^{*}_{z}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$. Usando las velocidades en los NFD y condiciones iniciales, se obtiene la integraci\'on centrada $\corchetes{u^{\pm}_{x}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i} = \corchetes{u^{\pm}_{x}}^{t_{0}-\nicefrac{\Delta t}{2}}_{i} + \Delta t \corchetes{v^{\pm}_{x}}^{t_{0}}_{i}$. Luego, calcule $\corchetes{u^{*}_{z}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i + \nicefrac{1}{2}}$ de la condici\'on de continuidad de $\tau_{zz}$ en el plano de falla. Esto es, sustituir la anterior aproximaci\'on de $\corchetes{\frac{\partial u^{\pm}_{x}}{\partial x}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$ y la estimada de $\corchetes{\frac{\partial u^{\pm}_{z}}{\partial z}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$ (usando est\'eciles en una direcci\'on de la matriz $\boldsymbol G$) en esta condici\'on de continuidad para obtener $\corchetes{u^{*}_{z}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$.

\Paso{2} Obtener los esfuerzos $\corchetes{\tau^{\pm}_{xx}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$ y $\corchetes{\tau^{\pm}_{zz}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$ introduciendo $\corchetes{\frac{\partial u^{\pm}_{x}}{\partial x}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$ y $\corchetes{\frac{\partial u^{\pm}_{z}}{\partial z}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i+\nicefrac{1}{2}}$ en la Ley de Hooke (ecuaciones~\ref{Hooke1}--\ref{Hooke3}), diferenciados para obtener el gradiente del esfuerzo en los NFD $\corchetes{\frac{\partial \tau^{\pm}_{xx}}{\partial x}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i}$, y usados en la ecuaic\'on~\eqref{Rest} para obtener $\corchetes{R^{\pm}}^{t_{0}+\nicefrac{\Delta t}{2}}_{i}$.

\Paso{3} Con la velocidad y la variable de estado centro--distribu\'idas en tiempo como en la Figura~\eqref{IntTrapezoidal}, integre las ecuaciones de evoluci\'on de la variable de estado \eqref{feq}--\eqref{fee} sobre el intervalo $\corchetes{t_{0} - \nicefrac{\Delta t}{2}, t_{0} + \nicefrac{\Delta t}{2}}$, con la velocidad de deslizamiento $V$ aproximada por su valor en el centro de ese intervalo, $t_{0}$. Con esta aproximaci\'on, las ecuaciones de la variable de estado se convierten en EDO lineales que pueden ser integradas anal\'iticamente.

\Paso{4} Integre la velocidad de deslizamiento $V$ de la ecuaci\'on~\eqref{VelDiscret} sobre el intervalo $\corchetes{t_{0}, t_{0} + \Delta t}$ y finalmente aproxime $\Psi$ por $\Psi ^{t_{0} + \nicefrac{\Delta t}{2}}$. 
\vspace{0.3cm}
\end{algorithm}

\end{document}
  • 1
    It might help to defined something like \newcommand\Paso[1]{\medskip\par\noindent\textbf{Paso #1:}\ \justifying} to get a uniform layout. And to remove the single backslashes at the end of the paragraphs. Then you can start each step by just writing \Paso{1} ... \Paso{2} ... and can remove all the \vskip, \noindent, \justifying stuff. – gernot says Reinstate Monica Apr 14 '17 at 22:27
  • 1
    Hi, this effectively solve my problem. But see that steps 2, 3 and 4 in the Algorithm are tabbed. I just solve this new issue by writing \noindent before \textbf{Paso X}. Anyway, thanks a lot for your help on this. :) – AdN Apr 14 '17 at 22:27
  • @gernot I've tried with your \newcommand but it set the whole text aligned to the left. Sorry :/ – AdN Apr 14 '17 at 22:33
  • @AdN (1) Take Sam's code. (2) Add the definition \newcommand\Paso[1]... (see above) to the preamble. (3) Replace Velocidad--Estado.} \vspace{0.3cm} %Paso 1 \textbf{Paso 1}: \justifying by Velocidad--Estado.} \Paso{1}. (4) Replace \nicefrac{1}{2}}$. \vspace{0.3cm} %Paso 2 \noindent \textbf{Paso 2}: \justifying by \nicefrac{1}{2}}$. \Paso{2} (5) ... and so on. (The line breaks get lost in the comment here, you can add one before \Paso) The formatting stays the same, but you don't have all these formatting commands distributed among the text. – gernot says Reinstate Monica Apr 14 '17 at 22:49
  • @gernot Thanks for your suggestion! I included it in my answer. – user36296 Apr 15 '17 at 14:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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