World Library  
Flag as Inappropriate
Email this Article

Hans-Rudolf Rösing

Article Id: WHEBN0009559681
Reproduction Date:

Title: Hans-Rudolf Rösing  
Author: World Heritage Encyclopedia
Language: English
Subject: 5th U-boat Flotilla, 3rd U-boat Flotilla, 7th U-boat Flotilla, German submarine U-11 (1935), Otto Schuhart
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Hans-Rudolf Rösing

Hans-Rudolf Rösing
Born (1905-09-28)28 September 1905
Wilhelmshaven
Died

16 December 2004(2004-12-16) (aged 99#REDIRECT

  • This is a redirect from a page that has been moved (renamed). This page was kept as a redirect to avoid breaking links, both internal and external, that may have been made to the old page name. For more information follow the category link.}

    }}: Ritterkreuz des Eisernen Kreuzes). The Knight's Cross of the Iron Cross was awarded to recognise extreme battlefield bravery or successful military leadership.

    Contents

    • Early life and pre-war service 1
    • World War II 2
    • Later life 3
    • Summary of career 4
      • Ships attacked 4.1
      • Awards 4.2
      • Wehrmachtbericht references 4.3
    • Translation notes 5
    • References 6
      • Citations 6.1
      • Bibliography 6.2
    • External links 7

    Early life and pre-war service

    Rösing was born on 28 September 1905 in Wilhelmshaven, at the time an exclave of the Province of Hanover, a province of the Kingdom of Prussia. He was the son of Vizeadmiral Bernhard Rösing (1869–1947) and his wife Elfriede, née Wünsche (1882–1961). He had three brothers, Wilhelm, Kurt-Wolf and Bernhard, all killed during World War II, and a sister named Elfriede.[1]

    He joined the Reichsmarine on 31 March 1924 as a member of "Crew 1924" (the incoming class of 1924). He underwent basic military training in the 2nd department of the standing ship division of the Baltic Sea in Stralsund (4 April 1924 – 27 September 1928).[Tr 1][Tr 2] Rösing was then transferred to the Elsass (28 September 1924 – 31 March 1925), attaining the rank of Seekadett (midshipman) on 1 April 1925. Rösing was then transferred to the training ship Niobe (1 April 1925 – 11 July 1925) before continuing his training on board Berlin (12 July 1925 – 30 March 1926). He then underwent a number of cadet training courses at the Naval Academy at Mürwik (31 March 1926 – 23 March 1927). These were interrupted by two navigational training cruises on the tender Nordsee (23 July 1926 – 27 July 1926) and the gunboat Panther (18 October 1926 – 22 October 1926). During this training period he advanced in rank to Fähnrich zur See (officer cadet) on 1 April 1926.[2]

    Rösing then attended more training courses, including a torpedo course (24 March 1927 – 28 May 1927), a communication course (29 May 1927 – 3 July 1927), both held at Flensburg-Mürwik. He then attended a pathfinder course (4 July 1927 – 31 July 1927) at Kiel-Wik.[Tr 3] He then attended another naval infantry training course (1 August 1927 – 26 September 1927) with the 2nd department of the standing ship division in Strasund before taking a naval artillery course (27 September 1927 – 8 January 1928) at Kiel-Wik. Following these land based trainings he was stationed on Nymphe for 13 months (9 January 1928 – 10 March 1929). While stationed on Nymphe he was commissioned as officer and attained the rank Leutnant zur See (Second Lieutenant) on 1 October 1928. He then participated in the training course (11 March 1929 – 27 March 1929) for naval anti-aircraft artillery at Wilhelmshaven before again boarding Nymphe for three weeks (28 March 1929 – 16 April 1929).[2]

    Rösing was then stationed on Königsberg (17 April 1929 – 31 October 1929) before he was appointed company officer with the 2nd department of the standing ship division of the Baltic Sea on 1 November 1929. During this assignment he was promoted to Oberleutnant zur See (First Lieutenant) on 1 April 1930.[2] Germany was forbidden to operate submarines under the Treaty of Versailles and Rösing was one of a small number of chosen personnel who were detached to foreign navies to gain experience in submarines. On 6 February 1931 he was officially assigned to the special task force of the naval command and put on an exchange program with the Swedish Navy.[Tr 4] After this special assignment on 10 July 1931 he was transferred back to the 2nd department of the standing ship division (11 July 1931 – 21 September 1931). During this posting he also spent one month on board the sailing yacht Asta (1 August 1931 – 30 August 1931).[2]

    His next assignment (22 September 1931 – 22 December 1931) placed him on the Admiral's staff at the Baltic Naval Station,[Tr 5] while in parallel he attended a technical officers training course at the Naval Academy at Mürwik. Rösing was then transferred to the 1st Schnellboot-Demi-Flotilla (23 December 1931 – 1 October 1933) where he commanded his first boat, Schnellboot S-15.[Tr 6] During this command he attended two more training courses, anti-gas defence (4 February 1932 – 17 February 1932) and a Spanish language interpreter training vacation (5 May 1932 – 15 June 1932). He passed his Spanish interpreter test on 26 October 1932. From 4 November 1932 the end of his assignment with the 1st Schnellboot-Demi-Flotilla on 1 October 1933 he commanded S-3.[3]

    After spending two years at the Unterseebootsabwehrschule, Rösing, recently promoted Kapitänleutnant, was given his first submarine command when he commissioned the new U-11. After two years in this small Type IIB coastal submarine, he took command of U-35, a larger Type VIIA ocean-going boat. In 1937 Rösing was given command of another Type IIB, U-10, and assigned to the Torpedoerprobungskommando, responsible for the testing of new torpedo types. After a year in this post he was appointed commander of 5th U-boat Flotilla - Flotille Emsmann - at Kiel.

    World War II

    July 1939 saw Rösing promoted to Korvettenkapitän. Following a short spell of duty on the staff of the Befehlshaber der U-Boote (Dönitz, q.v.), Rösing was posted to command 7th U-boat Flotilla at Kiel. This command lasted until 21 May 1940, at which time he took over the Type VIIB boat U-48 from her highly successful previous commander, Herbert Schultze. His crew, among others, included the highly experienced 1st Watch Officer Reinhard Suhren, 2nd Watch Officer Otto Ites and chief engineer Erich Zürn. In the course of his two war patrols with U-48, Rösing sank 12 ships totaling over 60,000 tons and led a wolfpack dubbed Rösing's wolfpack. These achievements and earning himself the U-Boat War Badge, Iron Cross First Class and Knight's Cross of the Iron Cross.

    Rösing (left) awards Günther Heydemann with the Knight's Cross.

    Rösing left U-48 in December 1940, and was appointed liaison officer to the Italian submarine force operating out of Bordeaux in occupied France. After some months he was given command of 3rd U-boat Flotilla, but in August 1941 returned to the staff of the Befehlshaber der U-boote. In July 1942, Rösing was appointed as FdU West (Führer der Unterseeboote West), with headquarters in both Paris and Angers; he was responsible for all boats committed to the Battle of the Atlantic, and thus a great majority of the entire U-boat fleet. In February 1943 he was promoted to Fregattenkapitän, and one month later to Kapitän zur See. He remained as FdU West until autumn 1944, when the Allied liberation of France forced the Kriegsmarine to transfer the remaining boats of 2nd and 7th U-boat flotillas to bases in Norway, Denmark, and northern Germany.

    Later life

    After the German surrender in May 1945, Rösing spent about a year in British captivity before being released. Serving as a member of the Naval Historical Team he subsequently joined the post-war Navy, and was given command of German naval units operating in the North Sea (Marine-Abschnittskommando Nordsee), and later Military District I, rising to the rank of Konteradmiral. He retired from active service in 1965, having added to the Bundesverdienstkreuz (Federal Service Cross) to his wartime decorations. He died on 16 December 2004, at the age of 99.

    Summary of career

    Ships attacked

    As a U-boat commander of U-48 Hans-Rudolf Rösing is credited with the sinking of 12 ships for a total of 60,701 gross register tons (GRT), further damaging one ship of 5,888 GRT.

    Date Name of ship Nationality Tonnage Fate
    5 June 1940 SS Stancor  United Kingdom 798 Sunk at
    7 June 1940 SS Frances Massey  United Kingdom 4,212 Sunk at
    7 June 1940 SS Eros  United Kingdom 5,888 Damaged at
    11 June 1940 SS Violando N Goulandris  Greece 2,375 Sunk at
    19 June 1940 MV Tudor  Norway 6,607 Sunk at
    19 June 1940 SS Baron Loudoun  United Kingdom 3,164 Sunk at
    19 June 1940 SS British Monarch  United Kingdom 5,661 Sunk at
    20 June 1940 MV Moerdrecht  Netherlands 7,493 Sunk at
    16 August 1940 SS Hedrun  Sweden 2,325 Sunk at
    19 August 1940 SS Ville de Gand  Belgium 7,590 Sunk at
    24 August 1940 SS La Brea  United Kingdom 6,666 Sunk at
    25 August 1940 SS Empire Merlin  United Kingdom 5,763 Sunk at
    25 August 1940 MV Athelcrest  United Kingdom 6,825 Sunk at

    Awards

    Wehrmachtbericht references

    Date Original German Wehrmachtbericht wording Direct English translation
    Saturday, 22 June 1940 Ein zurückgekehrtes Unterseeboot unter dem Kommando von Korvettenkapitän Rösing meldet die Versenkung von 42 686 BRT.[5] A returned submarine under the command of Lieutenant Commander Rösing reports the sinking of 42,686 GRT.
    Monday, 26 August 1940 Ein Unterseeboot unter Führung von Korvettenkapitän Rösing Versenkte 46 170 BRT feindlichen Handelsschiffraums. Das Unterseeboot hat damit auf zwei Fernfahrten 88  856 BRT versenkt.[6] A submarine under the leadership of Lieutenant Commander Rösing sunk 46,170 GRT enemy merchant shipping. The submarine has sunk so far 88,856 GRT on two patrols.

    Translation notes


    -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


    local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

    local p = {}


    -- Helper functions


    local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

    local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

    function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

    function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

    function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

    function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


    -- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


    function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

    function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


    -- Hatnote -- -- Produces standard hatnote text. Implements the template.


    function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

    function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
    %s
    ', table.concat(classes, ' '), s )

    end

    return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


    local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

    local p = {}


    -- Helper functions


    local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

    local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

    function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

    function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

    function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

    function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


    -- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


    function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

    function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


    -- Hatnote -- -- Produces standard hatnote text. Implements the template.


    function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

    function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
    %s
    ', table.concat(classes, ' '), s )

    end

    return p
  • ^ 2nd department —II. Abteilung
  • ^ standing ship division —Schiffsstammdivision
  • ^ pathfinder—Sperrbrecher
  • ^ special task force of the naval command—Sonderkommando der Marineleitung
  • ^ Baltic Naval Station—Marinestation der Ostsee
  • ^ 1st Schnellboot-Demi-Flotilla—1. Schnellbootshalbflottille
  • References

    Citations


    -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


    local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

    local p = {}


    -- Helper functions


    local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

    local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

    function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

    function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

    function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

    function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


    -- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


    function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

    function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


    -- Hatnote -- -- Produces standard hatnote text. Implements the template.


    function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

    function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
    %s
    ', table.concat(classes, ' '), s )

    end

    return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


    local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

    local p = {}


    -- Helper functions


    local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

    local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

    function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

    function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

    function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

    function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


    -- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


    function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

    function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


    -- Hatnote -- -- Produces standard hatnote text. Implements the template.


    function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

    function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
    %s
    ', table.concat(classes, ' '), s )

    end

    return p
    1. ^
    2. ^ a b c d Busch & Röll 2003, p. 55.
    3. ^ a b c d e f Busch & Röll 2003, p. 56.
    4. ^ Fellgiebel 2000, p. 362.
    5. ^ Die Wehrmachtberichte 1939–1945 Band 1, p. 225.
    6. ^ Die Wehrmachtberichte 1939–1945 Band 1, p. 270.

    Bibliography

    External links

    Military offices
    Preceded by
    none
    Commander of 5th U-boat Flotilla
    December 1938 – December 1939
    Succeeded by
    Kapitänleutnant Karl-Heinz Moehle
    Preceded by
    Korvettenkapitän Ernst Sobe
    Commander of 7th U-boat Flotilla
    January 1940 – May 1940
    Succeeded by
    Kapitänleutnant Herbert Sohler
    Preceded by
    Kapitänleutnant Hans Eckermann
    Commander of 3rd U-boat Flotilla
    March 1941 – July 1941
    Succeeded by
    Kapitänleutnant Herbert Schultze


This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.