Reading notebook vs reading-material

I have used the code in example 433 The Fifth Body to implement a notebook. I’ve also used Jim Aitkin’s ‘reading-material’ so I can have readable books and magazines. However when I try to read my notebook, Jim’s code takes over and says ‘there is nothing written in your notebook’ because the notebook doesn’t have a reading-material value. I have tried to add:

Instead of reading the log: say "[text of the text file of the pad]."

But Inform can’t see the text file.

My code is thus:

A jotter is a kind of thing. A jotter has an external file called the text file. A jotter can be fresh or used. A jotter is usually fresh. A jotter has a text called the heading. 

The currently erased jotter is an object that varies. 

To erase (pad - a jotter): 
	now the currently erased jotter is the pad; 
	write "[heading of the currently erased jotter][paragraph break]" to the text file of the pad; 
	now the pad is fresh. 

To write in (pad - a jotter): 
	append "[the time of day]: [player's command][line break]" to the text file of the pad; 
	now the pad is used. 

To read (pad - a jotter): 
	say "You read: [paragraph break][text of the text file of the pad]". 

When play begins: 
	repeat with pad running through jotters: 
		erase the pad. 

Instead of examining a used jotter (called the pad): 
	read the pad. 

Instead of examining a fresh jotter (called the pad): 
	say "There is nothing of note in [the pad]." 

Target jotter is an object that varies. The target jotter is usually nothing. 

Understand "write in [something preferably held]" or "write [something preferably held]" as writing in. Writing in is an action applying to one thing. 

Check writing in: 
	if the noun is not a jotter, say "It would be better to write in a log." instead. 

Carry out writing in: 
	now the command prompt is "LOG ENTRY: "; 
	now the target jotter is the noun. 

Report writing in: 
	say "You open [the noun] and prepare to write in it." 

After reading a command when target jotter is a jotter: 
	now the command prompt is ">"; 
	write in target jotter; 
	now target jotter is used; 
	say "You finish writing and fold the logbook away."; 
	now the target jotter is nothing; 
	reject the player's command. 

Understand "erase [something preferably held]" as erasing. Erasing is an action applying to one carried thing. 

Check erasing: 
	if the noun is not a jotter, say "It's hard to see how." instead. 

Carry out erasing: 
	erase the noun. 

Report erasing: 
	say "You tear out all the used pages in [the noun]." 

The player carries a jotter called your log. The file of Player's Observations is called "log". The text file of your log is the file of Player's Observations. The heading of your log is "Log Book". 

Understand "logbook", "notebook", "note", "log book", "note book" as log.


Chapter Five - Jim Aitkin's Reading-Material

A thing has some text called the reading-material. The reading-material of a thing is usually "".
Understand the command "read" as something new.
Reading is an action applying to one thing and requiring light.
Understand "read [something]" as reading.
Check reading:
	if the reading-material of the noun is "":
		say "Nothing is printed on [the noun].” instead;
Carry out reading:
	say "[reading-material of the noun]."

That’s because in this context, ‘pad’ doesn’t mean anything. (Elsewhere in the code, ‘pad’ is used as a temporary named variable, but the ‘temporary’ part means that it has no meaning in any given code block unless it gets defined.) So try this:

Instead of reading the log: say "[text of the text file of the log][paragraph break]".
Or if you wanted this to work more generally for jotters:

Instead of reading a jotter (called pad): say "[text of the text file of pad][paragraph break]".
(Here we’re creating a new temporary variable that corresponds with the noun, but we could have called it anything; ‘pad’ is just conveniently memorable.)

Hi maga - thank you so much for this. The answer is obvious, of course, but that just didn’t occur to me. Appreciate your time, thanks.