1977 Minnesota Twins season

1977 Minnesota Twins season

1977 Minnesota Twins
Major League affiliations
Location
Other information
Owner(s) Calvin Griffith
Manager(s) Gene Mauch
Local television WTCN
(Harmon Killebrew, Joe Boyle)
Local radio 830 WCCO AM
(Herb Carneal, Frank Quilici)
 < Previous season     Next season  >

The 1977 Minnesota Twins season was a season in American baseball. The team finished 84-77, fourth in the American League West.

Contents

  • Offseason 1
  • Regular season 2
    • Season standings 2.1
    • Record vs. opponents 2.2
    • Notable transactions 2.3
    • Roster 2.4
  • Player stats 3
    • Batting 3.1
      • Starters by position 3.1.1
      • Other batters 3.1.2
    • Pitching 3.2
      • Starting pitchers 3.2.1
      • Other pitchers 3.2.2
      • Relief pitchers 3.2.3
  • Awards and honors 4
  • Farm system 5
  • Notes 6
  • References 7

Offseason

  • March 18, 1977: Geoff Zahn was signed as a free agent by the Twins.[1]

Regular season

First baseman Rod Carew was named American League Most Valuable Player. In winning his sixth AL batting title, Carew flirted with becoming the first batter since Ted Williams in 1941 to hit .400, finishing at .388. He also had 239 hits, scored a league-leading 128 runs, hit 14 home runs and collected 100 RBI.

Other offensive stars were outfielder Larry Hisle, who hit 28 HR and drove in a league-leading 119 runs, and Lyman Bostock, who hit .338 with 104 runs, 14 HR and 90 RBI. Carew and Hisle were selected to the All-Star Game along with catcher Butch Wynegar

The Twins' ability to score runs was matched by their pitchers' ability to give up runs. Reliever Tom Johnson replaced Bill Campbell, racking up 16 relief wins along with 20 saves. Dave Goltz became a 20-game winner for the first time.

1,162,727 fans attended Twins games, the fourth lowest total in the American League. It was the first time the Twins since 1970 the Twins attracted more than one million fans.

Season standings

Record vs. opponents

Notable transactions

Roster

Player stats

= Indicates team leader

Batting

Starters by position

Note: Pos = Position; G = Games played; AB = At bats; H = Hits; Avg. = Batting average; HR = Home runs; RBI = Runs batted in
Pos Player G AB H Avg. HR RBI
C Wynegar, ButchButch Wynegar 144 532 139 .261 10 79
1B Carew, RodRod Carew 155 616 239 .388 14 100
2B Randall, BobBob Randall 103 306 73 .239 0 22
3B Cubbage, MikeMike Cubbage 129 417 110 .264 9 55
SS Smalley, RoyRoy Smalley 150 584 135 .231 6 56
LF Hisle, LarryLarry Hisle 141 546 165 .302 28 119
CF Bostock, LymanLyman Bostock 153 593 199 .336 14 90
RF Ford, DanDan Ford 144 453 121 .267 11 60
DH Kusick, CraigCraig Kusick 115 268 68 .254 12 45

Other batters

Note: G = Games played; AB = At bats; H = Hits; Avg. = Batting average; HR = Home runs; RBI = Runs batted in
Player G AB H Avg. HR RBI
Norwood, WillieWillie Norwood 39 83 19 .229 3 9
Gómez, LuisLuis Gómez 32 65 16 .246 0 11
Borgmann, GlennGlenn Borgmann 17 43 11 .256 2 7
Bulling, BudBud Bulling 15 32 5 .156 0 5
Bass, RandyRandy Bass 9 19 2 .105 0 0

Pitching

Starting pitchers

Note: G = Games pitched; IP = Innings pitched; W = Wins; L = Losses; ERA = Earned run average; SO = Strikeouts
Player G IP W L ERA SO
Goltz, DaveDave Goltz 39 303 20 11 3.36 186
Thormodsgard, PaulPaul Thormodsgard 37 218 11 15 4.62 94
Zahn, GeoffGeoff Zahn 34 198 12 14 4.68 88
Redfern, PetePete Redfern 30 137.1 6 9 5.18 73
Pazik, MikeMike Pazik 3 18 1 0 2.50 6

Other pitchers

Note: G = Games pitched; IP = Innings pitched; W = Wins; L = Losses; ERA = Earned run average; SO = Strikeouts
Player G IP W L ERA SO
Schueler, RonRon Schueler 52 134.2 8 7 4.41 77
Johnson, DaveDave Johnson 30 72.2 2 5 4.58 33
Holly, JeffJeff Holly 18 48.1 2 3 6.89 32
Butler, BillBill Butler 6 21 0 1 6.86 5

Relief pitchers

Note: G = Games pitched; W = Wins; L = Losses; SV = Saves; ERA = Earned run average; SO = Strikeouts
Player G W L SV ERA SO
Johnson, TomTom Johnson 71 16 7 15 3.13 87
Burgmeier, TomTom Burgmeier 61 6 4 7 5.09 35
Serum, GaryGary Serum 8 0 0 0 4.37 4
Carrithers, DonDon Carrithers 7 0 1 0 6.91 3
Shellenback, JimJim Shellenback 5 0 0 0 7.94 3
Hughes, JimJim Hughes 2 0 0 0 2.08 1

Awards and honors

Farm system

Level Team League Manager
AAA Tacoma Twins Pacific Coast League Del Wilber and Tom Kelly
AA Orlando Twins Southern League Johnny Goryl
A Visalia Oaks California League Roy McMillan
A Wisconsin Rapids Twins Midwest League Jim Rantz, Carlos Pascual
and Spencer "Red" Robbins
Rookie Elizabethton Twins Appalachian League Fred Waters

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
  1. ^ Geoff Zahn page at Baseball Reference
  2. ^ Don Carrithers page at Baseball Reference
  3. ^ Dave Johnson page at Baseball-Reference
  4. ^ Darrell Jackson page at Baseball Reference

References

  • Player stats from www.baseball-reference.com
  • Team info from www.baseball-almanac.com