Interlinea dell'algoritmo Latex
Ho creato un algoritmo in lattice ma è stata inserita una spaziatura di linea extra. Al momento ho il seguente codice
\documentclass{article}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{caption}
\begin{document}
This this this
\begin{algorithm}
\algblock[TryCatchFinally]{try}{endtry}
\algcblock[TryCatchFinally]{TryCatchFinally}{finally}{endtry}
\algcblockdefx[TryCatchFinally]{TryCatchFinally}{catch}{endtry}
[1]{\textbf{catch} #1}
{\textbf{end try}}
\caption{Task}
\begin{algorithmic}[1]
\Procedure {Task Check}{}
\State \parbox[t]{313pt}{$aaaaaaaaa\textunderscore aaaaaaa = Thread(aaaaaa=call\textunderscore service, args=( "aaaaa\textunderscore aaaaaa\textunderscore generation\textunderscore aaaa", Craaaaalan, "load\textunderscore plan\textunderscore aaaa") )$}
\State \parbox[t]{313pt}{$aaaa-aaaaaaaaa\textunderscore aaaaaaa = Thread(aaaaaa=call\textunderscore service, args=( "aaaaa\textunderscore aaaaaa\textunderscore generation\textunderscore aaaa", Craaaaalan, "load\textunderscore plan\textunderscore aaaa") )$}
\State \parbox[t]{313pt}{$aaaaaa\textunderscore aaaaaaa = Thread(aaaaaa=call\textunderscore service, args=( "aaaaa\textunderscore aaaaaa\textunderscore generation\textunderscore aaaa", Craaaaalan, "load\textunderscore plan\textunderscore aaaa") )$}
\EndProcedure
\end{algorithmic}
\end{algorithm}
\end{document}
e l'output è un po 'come questo:
I tre stati nelle immagini sono chiamate di servizio identiche con una piccola modifica. Il cambiamento minore è l'uso di parole diverse e quindi una differenza di lunghezza. Il codice di esempio allegato contiene la lunghezza esatta. L'output dello stato 7 è ciò di cui ho bisogno anche per gli altri stati, ma a causa di alcune parole in più non segue il formato. Qualche idea su come correggere lo stato 5 e lo ** stato 6 ** in modo che assomigli allo stato 7 ?
Differenza di colore con e senza modalità matematica
Grazie
Risposte
La modalità matematica è totalmente inadatta per impostare contenuto letterale come nomi di variabili. Le interruzioni di riga mancanti dovrebbero essere l'ultima delle tue preoccupazioni. La crenatura è incasinata, le virgolette sono sbagliate, i segni meno invece dei trattini ...
Potresti provare con un testo normale irregolare, ma io comporrei cose come il codice sorgente, ad esempio usando il listingspacchetto:
\documentclass{article}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{caption}
\usepackage{listings}
\lstset{basicstyle=\ttfamily, breaklines}
\begin{document}
\begin{algorithm}
\algblock[TryCatchFinally]{try}{endtry}
\algcblock[TryCatchFinally]{TryCatchFinally}{finally}{endtry}
\algcblockdefx[TryCatchFinally]{TryCatchFinally}{catch}{endtry}
[1]{\textbf{catch} #1}
{\textbf{end try}}
\caption{Task}
\begin{algorithmic}[1]
\Procedure {Task Check}{}
\State \parbox[t]{313pt}{\raggedright\lstinline{aaaaaaaaa_aaaaaaa = Thread(aaaaaa=call_service, args=("aaaaa_aaaaaa_generation_aaaa", Craaaaalan, "load_plan_aaaa"))}}
\State \parbox[t]{313pt}{\raggedright\lstinline{aaaa-aaaaaaaaa_aaaaaaa = Thread(aaaaaa=call_service, args=("aaaaa_aaaaaa_generation_aaaa", Craaaaalan, "load_plan_aaaa"))}}
\State \parbox[t]{313pt}{\raggedright\lstinline{aaaaaa_aaaaaaa = Thread(aaaaaa=call_service, args=("aaaaa_aaaaaa_generation_aaaa", Craaaaalan, "load_plan_aaaa"))}}
\EndProcedure
\end{algorithmic}
\end{algorithm}
\end{document}
O se insisti sul carattere corsivo:
\documentclass{article}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{caption}
\usepackage{listings}
\lstset{basicstyle=\itshape, breaklines}
\begin{document}
\begin{algorithm}
\algblock[TryCatchFinally]{try}{endtry}
\algcblock[TryCatchFinally]{TryCatchFinally}{finally}{endtry}
\algcblockdefx[TryCatchFinally]{TryCatchFinally}{catch}{endtry}
[1]{\textbf{catch} #1}
{\textbf{end try}}
\caption{Task}
\begin{algorithmic}[1]
\Procedure {Task Check}{}
\State \parbox[t]{313pt}{\raggedright\lstinline{aaaaaaaaa_aaaaaaa = Thread(aaaaaa=call_service, args=("aaaaa_aaaaaa_generation_aaaa", Craaaaalan, "load_plan_aaaa"))}}
\State \parbox[t]{313pt}{\raggedright\lstinline{aaaa-aaaaaaaaa_aaaaaaa = Thread(aaaaaa=call_service, args=("aaaaa_aaaaaa_generation_aaaa", Craaaaalan, "load_plan_aaaa"))}}
\State \parbox[t]{313pt}{\raggedright\lstinline{aaaaaa_aaaaaaa = Thread(aaaaaa=call_service, args=("aaaaa_aaaaaa_generation_aaaa", Craaaaalan, "load_plan_aaaa"))}}
\EndProcedure
\end{algorithmic}
\end{algorithm}
\end{document}
O forse anche con inserzioni reali con interruzioni di riga ecc. Per rendere le cose più leggibili:
\documentclass{article}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{caption}
\usepackage{listings}
\lstset{basicstyle=\ttfamily, breaklines}
\begin{document}
\begin{algorithm}
\algblock[TryCatchFinally]{try}{endtry}
\algcblock[TryCatchFinally]{TryCatchFinally}{finally}{endtry}
\algcblockdefx[TryCatchFinally]{TryCatchFinally}{catch}{endtry}
[1]{\textbf{catch} #1}
{\textbf{end try}}
\caption{Task}
\begin{algorithmic}[1]
\Procedure {Task Check}{}
\State \vspace*{-1.46\baselineskip}\begin{lstlisting}
aaaaaaaaa_aaaaaaa = Thread(
aaaaaa=call_service,
args=(
"aaaaa_aaaaaa_generation_aaaa",
Craaaaalan,
"load_plan_aaaa"
)
)
\end{lstlisting}
\State \vspace*{-1.46\baselineskip}\begin{lstlisting}
aaaa-aaaaaaaaa_aaaaaaa = Thread(
aaaaaa=call_service,
args=(
"aaaaa_aaaaaa_generation_aaaa",
Craaaaalan,
"load_plan_aaaa"
)
)
\end{lstlisting}
\State \vspace*{-1.46\baselineskip}\begin{lstlisting}
aaaaaa_aaaaaaa = Thread(
aaaaaa=call_service,
args=(
"aaaaa_aaaaaa_generation_aaaa",
Craaaaalan,
"load_plan_aaaa"
)
)
\end{lstlisting}
\EndProcedure
\end{algorithmic}
\end{algorithm}
\end{document}