<script>
if (window.testRunner)
    testRunner.setPrinting();
</script>

ARGUMENTUM

L. Sergius Catilina, homo patricii generis, magna vi et animi et
corporis, sed ingenio malo pravoque, praetorius, qui iam a. u. c. 689
caedem consulum facere eaque facta rerum potiri constituerat, casu autem
rem perficere prohibitus erat, ascitis ad consilium rei publicae
opprimendae hominibus omnis generis perditissiis atque audacissimis, quos
inopia, cupiditas, scelera stimulabant, consulatum in annum 691 p. u. c.
petivit, sed cum, quae in animo habebat, perniciosa rei publicae consilia
parum occultata essent, studiis bonorum omnium M. Tullius Cicero una cum
C. Antonio consul factus est.  Qua re commotus L. Catilina M. Cicerone
C. Antonio consulibus cupidius etiam sua consilia recepit, quibus maxime
Ciceronis consulis diligentia restitit ad quem Catilinae eiusque sociorum
consilia a Fulvia, muliere nobili, quae rem habebat cum Q. Curio, qui
particeps fuit conspirationis illius, deferebantur.  Cum autem ista mala
consilia contra salutem rei publicae a coniuratis inita apertius iam
agitarentur, senatus consultum factum est, darent operam consules, ne quid
res publica detrimenti caperet, effectumque est, ut Catilina spe
consulatus, quem in proximum annum petebat, excideret, designarenturque
D. Silanus et L. Murena.  Quae cum ita essent, L. Catilina, qui iam ante
per Italiam ad homines seditiosos, maxime veteres L. Sullae milites,
concitandos nuntios miserat, ad C. Manlium, qui Faesulas, in urbem
Etruriae munitam, manum armatorum coegerat, proficisci constituit et
bellum patriae inferre convocatisque nocte, quae inter VIII et VII Id.
Novembres erat, sociis in domum M. Porci Laecae consilium, quod ceperat,
aperuit.  Qua in congregatione nocturna duo equites Romani Ciceronem
consulem illa ipsa nocte ante lucem, cum sicut salutaturi eius domum
intrassent, interficiendum receperunt.  M. Cicero vitatis insidiis proximo
die, qui fuit a. d.  VI Id.  Novembres, dispositis praesidiis senatum in
templum Iovis Statoris convocavit, quo cum Catilina quasi sui purgandi
causa venisset, Cicero eam, quae infra legitur, orationem in Catilinam
vehementissime invehens habuit.



Quo usque tandem abutere, Catilina, patientia nostra?  quam diu etiam
furor iste tuus nos eludet?  quem ad finem sese effrenata iactabit
audacia?  Nihilne te nocturnum praesidium Palati, nihil urbis vigiliae,
nihil timor populi, nihil concursus bonorum omnium, nihil hic munitissimus
habendi senatus locus, nihil horum ora voltusque moverunt?  Patere tua
consilia non sentis, constrictam iam horum omnium scientia teneri
coniurationem tuam non vides?  Quid proxima, quid superiore nocte egeris,
ubi fueris, quos convocaveris, quid consilii ceperis, quem nostrum
ignorare arbitraris?  O tempora, o mores! Senatus haec intellegit.  consul
videt; hic tamen vivit.  Vivit?  immo vero etiam in senatum venit, fit
publici consilii particeps, notat et designat oculis ad caedem unum
quemque nostrum.  Nos autem fortes viri satis facere rei publicae videmur,
si istius furorem ac tela vitemus.  Ad mortem te, Catilina, duci iussu
consulis iam pridem oportebat, in te conferri pestem, quam tu in nos
[omnes iam diu] machinaris.  An vero vir amplissumus, P. Scipio, pontifex
maximus, Ti.  Gracchum mediocriter labefactantem statum rei publicae
privatus interfecit; Catilinam orbem terrae caede atque incendiis vastare
cupientem nos consules perferemus?  Nam illa nimis antiqua praetereo, quod
C. Servilius Ahala Sp.  Maelium novis rebus studentem manu sua occidit.
Fuit, fuit ista quondam in hac re publica virtus, ut viri fortes
acrioribus suppliciis civem perniciosum quam acerbissimum hostem
coercerent.  Habemus senatus consultum in te, Catilina, vehemens et grave,
non deest rei publicae consilium neque auctoritas huius ordinis; nos, nos,
dico aperte, consules desumus.  Decrevit quondam senatus, ut L. Opimius
consul videret, ne quid res publica detrimenti caperet; nox nulla
intercessit; interfectus est propter quasdam seditionum suspiciones
C. Gracchus, clarissimo patre, avo, maioribus, occisus est cum liberis
M. Fulvius consularis.  Simili senatus consulto C. Mario et L.  Valerio
consulibus est permissa res publica; num unum diem postea L. Saturninum
tribunum pl.  et C.  Servilium praetorem mors ac rei publicae poena
remorata est?  At [vero] nos vicesimum iam diem patimur hebescere aciem
horum auctoritatis.  Habemus enim huiusce modi senatus consultum, verum
inclusum in tabulis tamquam in vagina reconditum, quo ex senatus consulto
confestim te interfectum esse, Catilina, convenit.  Vivis, et vivis non ad
deponendam, sed ad confirmandam audaciam.  Cupio, patres conscripti, me
esse clementem, cupio in tantis rei publicae periculis me non dissolutum
videri, sed iam me ipse inertiae nequitiaeque condemno.  Castra sunt in
Italia contra populum Romanum in Etruriae faucibus conlocata, crescit in
dies singulos hostium numerus; eorum autem castrorum imperatorem ducemque
hostium intra moenia atque adeo in senatu videmus intestinam aliquam
cotidie perniciem rei publicae molientem.  Si te iam, Catilina,
comprehendi, si interfici iussero, credo, erit verendum mihi, ne non
potius hoc omnes boni serius a me quam quisquam crudelius factum esse
dicat.  Verum ego hoc, quod iam pridem factum esse oportuit, certa de
causa nondum adducor ut faciam.  Tum denique interficiere, cum iam nemo
tam inprobus, tam perditus, tam tui similis inveniri poterit, qui id non
iure factum esse fateatur.  Quamdiu quisquam erit, qui te defendere
audeat, vives, et vives ita, ut [nunc] vivis.  multis meis et firmis
praesidiis obsessus, ne commovere te contra rem publicam possis.  Multorum
te etiam oculi et aures non sentientem, sicut adhuc fecerunt,
speculabuntur atque custodient.

Etenim quid est, Catilina, quod iam amplius expectes, si neque nox
tenebris obscurare coeptus nefarios nec privata domus parietibus continere
voces coniurationis tuae potest, si illustrantur, si erumpunt omnia?  Muta
iam istam mentem, mihi crede, obliviscere caedis atque incendiorum.
Teneris undique; luce sunt clariora nobis tua consilia omnia; quae iam
mecum licet recognoscas.  Meministine me ante diem XII Kalendas Novembris
dicere in senatu fore in armis certo die, qui dies futurus esset ante diem
VI Kal.  Novembris, C. Manlium, audaciae satellitem atque administrum
tuae?  Num me fefellit, Catilina, non modo res tanta, tam atrox tamque
incredibilis, verum, id quod multo magis est admirandum, dies?  Dixi ego
idem in senatu caedem te optumatium contulisse in ante diem V Kalendas
Novembris, tum cum multi principes civitatis Roma non tam sui conservandi
quam tuorum consiliorum reprimendorum causa profugerunt.  Num infitiari
potes te illo ipso die meis praesidiis, mea diligentia circumclusum
commovere te contra rem publicam non potuisse, cum tu discessu ceterorum
nostra tamen, qui remansissemus, caede te contentum esse dicebas?  Quid?
cum te Praeneste Kalendis ipsis Novembribus occupaturum nocturno impetu
esse confideres, sensistin illam coloniam meo iussu meis praesidiis,
custodiis, vigiliis esse munitam?  Nihil agis, nihil moliris, nihil
cogitas, quod non ego non modo audiam, sed etiam videam planeque sentiam.
Recognosce tandem mecum noctem illam superiorem; iam intelleges multo me
vigilare acrius ad salutem quam te ad perniciem rei publicae.  Dico te
priore nocte venisse inter falcarios (non agam obscure) in M. Laecae
domum; convenisse eodem complures eiusdem amentiae scelerisque socios.
Num negare audes?  quid taces?  Convincam, si negas.  Video enim esse hic
in senatu quosdam, qui tecum una fuerunt.  O di inmortales! ubinam gentium
sumus?  in qua urbe vivimus?  quam rem publicam habemus?  Hic, hic sunt in
nostro numero, patres conscripti, in hoc orbis terrae sanctissimo
gravissimoque consilio, qui de nostro omnium interitu, qui de huius urbis
atque adeo de orbis terrarum exitio cogitent! Hos ego video consul et de
re publica sententiam rogo et, quos ferro trucidari oportebat, eos nondum
voce volnero! Fuisti igitur apud Laecam illa nocte, Catilina, distribuisti
partes Italiae, statuisti, quo quemque proficisci placeret, delegisti,
quos Romae relinqueres, quos tecum educeres, discripsisti urbis partes ad
incendia, confirmasti te ipsum iam esse exiturum, dixisti paulum tibi esse
etiam nunc morae, quod ego viverem.  Reperti sunt duo equites Romani, qui
te ista cura liberarent et sese illa ipsa nocte paulo ante lucem me in meo
lectulo interfecturos [esse] pollicerentur.  Haec ego omnia vixdum etiam
coetu vestro dimisso comperi; domum meam maioribus praesidiis munivi atque
firmavi, exclusi eos, quos tu ad me salutatum mane miseras, cum illi ipsi
venissent, quos ego iam multis ac summis viris ad me id temporis venturos
esse praedixeram.
