secret3des
11-03-2008, 15:25
Hi!
Ich habe Probleme mit der Zeilennummerierung, wenn ich \usepackage{algpseudocode} verwende, um \Function (und Co) zu ermöglichen.
Kann mir jemand sagen wie ich die Fehler beheben kann?
(siehe auch: http://www.mrunix.de/forums/showthread.php?t=56962 )
Anbei ein "Minimal"beispiel und das Paket (TexnicCenter Projekt) inkl. Log-Datei und PDF:
http://home.arcor.de/3des/alg_test.zip
Viele Grüße,
Tom
\documentclass[titlepage, 12pt, final,oneside]{scrbook}
\KOMAoptions{paper=a4}
\usepackage[automark,headsepline]{scrpage2} % für die Formatierung (der Fuß- und Kopfzeile)
\usepackage[latin1]{inputenc} % für die Unterstützung von Umlauten
\usepackage[ngerman]{babel} % deutsche Silbentrennung
\usepackage{float}
\usepackage{caption}
\usepackage{algorithmic}
\usepackage{algorithm}
\usepackage{algpseudocode}
\makeatletter
\newcounter{algorithmic}
\let\ORIG@algorithmic\algorithmic
\def\algorithmic{\stepcounter{algorithmic}\ORIG@al gorithmic}
\def\theHALC@line{\thealgorithmic-\theALC@line}
\def\theHALC@rem{\thealgorithmic-\theALC@rem}
\makeatother
\usepackage[pdftex,
colorlinks=true, linkcolor=blue, urlcolor=blue, citecolor=blue,
raiselinks=true,
bookmarks=false,
bookmarksopenlevel=1,
bookmarksopen=true,
bookmarksnumbered=true,
hyperindex=true,
plainpages=false,% correct hyperlinks
pdfpagelabels=true%,% view TeX pagenumber in PDF reader
%pdfborder={0 0 0.5}
]{hyperref} % erzeuge Hyperlinks z.B. für pdflatex
\begin{document}
\begin{flushleft}
\captionsetup{style=ruled,type=algorithm,skip=0pt}
\makeatletter
\fst@algorithm\@fs@pre
\makeatother
\caption{blub}
\label{alg:blub}
\makeatletter
\@fs@mid
\makeatother
\algsetup{indent=1em}
\algsetup{linenodelimiter=.}
\renewcommand{\algorithmiccomment}[1]{// #1 }
\textbf{Eingaben:~} Relation $R$, Zwei dimensionale Pareto-Präferenz $P:=P_1\:\otimes P_2$\\
\textbf{Ausgabe:~} BMO set
\begin{algorithmic}[1]
\Function{void TestFunc}{Typ param1, Typ2 param2}
\State Ergebnis $\leftarrow \emptyset$\\
\Comment{Die Level-Werte des letzten Tupels im BMO-Set speichern}
\State int bla1 = MAX\_INTEGER, bla2 = MAX\_INTEGER;
~\\
\Comment{Sortieren nach blub}
~\\
\State SORT(blub);
\ForAll{$t \in R$}
\If{xy $\leq$ bla1} \label{alg:blub:vgl1a}
\State
\Comment{$t$ zu Ergebnis hinzufügen}
\State Ergebnis = Ergebnis $\cup t$ \label{alg:blub:bmo1}
\State bla1 = xy;
\EndIf
\EndFor
\EndFunction
\end{algorithmic}
\makeatletter
\@fs@post
\makeatother
\end{flushleft}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.
Referenz auf Zeile \ref{alg:blub:vgl1a} und noch eine Referenz auf Zeile \ref{alg:blub:bmo1}.
\end{document}
Ich habe Probleme mit der Zeilennummerierung, wenn ich \usepackage{algpseudocode} verwende, um \Function (und Co) zu ermöglichen.
Kann mir jemand sagen wie ich die Fehler beheben kann?
(siehe auch: http://www.mrunix.de/forums/showthread.php?t=56962 )
Anbei ein "Minimal"beispiel und das Paket (TexnicCenter Projekt) inkl. Log-Datei und PDF:
http://home.arcor.de/3des/alg_test.zip
Viele Grüße,
Tom
\documentclass[titlepage, 12pt, final,oneside]{scrbook}
\KOMAoptions{paper=a4}
\usepackage[automark,headsepline]{scrpage2} % für die Formatierung (der Fuß- und Kopfzeile)
\usepackage[latin1]{inputenc} % für die Unterstützung von Umlauten
\usepackage[ngerman]{babel} % deutsche Silbentrennung
\usepackage{float}
\usepackage{caption}
\usepackage{algorithmic}
\usepackage{algorithm}
\usepackage{algpseudocode}
\makeatletter
\newcounter{algorithmic}
\let\ORIG@algorithmic\algorithmic
\def\algorithmic{\stepcounter{algorithmic}\ORIG@al gorithmic}
\def\theHALC@line{\thealgorithmic-\theALC@line}
\def\theHALC@rem{\thealgorithmic-\theALC@rem}
\makeatother
\usepackage[pdftex,
colorlinks=true, linkcolor=blue, urlcolor=blue, citecolor=blue,
raiselinks=true,
bookmarks=false,
bookmarksopenlevel=1,
bookmarksopen=true,
bookmarksnumbered=true,
hyperindex=true,
plainpages=false,% correct hyperlinks
pdfpagelabels=true%,% view TeX pagenumber in PDF reader
%pdfborder={0 0 0.5}
]{hyperref} % erzeuge Hyperlinks z.B. für pdflatex
\begin{document}
\begin{flushleft}
\captionsetup{style=ruled,type=algorithm,skip=0pt}
\makeatletter
\fst@algorithm\@fs@pre
\makeatother
\caption{blub}
\label{alg:blub}
\makeatletter
\@fs@mid
\makeatother
\algsetup{indent=1em}
\algsetup{linenodelimiter=.}
\renewcommand{\algorithmiccomment}[1]{// #1 }
\textbf{Eingaben:~} Relation $R$, Zwei dimensionale Pareto-Präferenz $P:=P_1\:\otimes P_2$\\
\textbf{Ausgabe:~} BMO set
\begin{algorithmic}[1]
\Function{void TestFunc}{Typ param1, Typ2 param2}
\State Ergebnis $\leftarrow \emptyset$\\
\Comment{Die Level-Werte des letzten Tupels im BMO-Set speichern}
\State int bla1 = MAX\_INTEGER, bla2 = MAX\_INTEGER;
~\\
\Comment{Sortieren nach blub}
~\\
\State SORT(blub);
\ForAll{$t \in R$}
\If{xy $\leq$ bla1} \label{alg:blub:vgl1a}
\State
\Comment{$t$ zu Ergebnis hinzufügen}
\State Ergebnis = Ergebnis $\cup t$ \label{alg:blub:bmo1}
\State bla1 = xy;
\EndIf
\EndFor
\EndFunction
\end{algorithmic}
\makeatletter
\@fs@post
\makeatother
\end{flushleft}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.
Referenz auf Zeile \ref{alg:blub:vgl1a} und noch eine Referenz auf Zeile \ref{alg:blub:bmo1}.
\end{document}