Slang's Anti-Singularity
  • Slanghome
  • Slangblog
  • Slangpuzzles
    • CurrentPuzzles
    • ScholarPuzzle
    • PastPuzzles

Free* Writing Tools For Writers

2/11/2013

0 Comments

 
Got your attention with that magic word "Free" didn't I? I did use an asterisk, and since you are already here, please! read on.

I've been in contact with actual published authors recently. Once I got over the celebrity worship and envy, I wondered about the tools they use to get their thoughts down. This might be why I never quite get around to writing; I often get caught up in the what and how of the mechanics, rather than the actual doing. I also know that it is the truly rare and gifted writer that makes actual money from their efforts, and anything that can save money is a Good Thing.

I am rather familiar with word processing tools, after having written code-based document management systems embedded within the word processor itself, plus years and years of experience formatting document types to exacting specifications. You see, I am essentially lazy – as are most programmers – and instead of doing something repeatedly, I'll figure a way for the computer to do it for me. I leverage many of the existing tools in my work; it's easier than coding a function from scratch (again, I'm lazy) and there are a number of built-in features in most major word processors that – right out of the box – can greatly assist a writer in not only creating consistent format but consistent content as well. 

Since you've probably already forked out some money for the word processor (I say probably, because OpenOffice is free), here are some tips to get the word processor to do more of the work, making the tools themselves free. See how I did that?

I discuss primarily MS Word tools for a couple of reasons: (1) It's what I am using now, and (2) it's common, but these same features are found in OpenOffice and likely in most other major word processors as well, regardless of the platform. Let the easing of the wordsmithing process begin!
AutoCorrect:
This function in word processors  automatically corrects commonly misspelled words. If that weren't valuable enough, it can also be customized to correct intentionally entered gibberish into a meaningful word, phrase or even a sentence unique to your working environment.  

For example you are working on your military thriller,  and one of your characters is Master Gunnery Sergeant Bustamonte-Lopez. Due to the nature of your manuscript, you need to have his title often in the document.  Sure, you can type it in each time, or you can even copy and paste. Though each time you use a copy function for something else, you have to either type it again, or hunt it down to copy again.

Or, you can set up an AutoCorrect entry. To do that, you would first identify the trigger text  - the equivalent of a misspelled word - say "mgst."  Then, you would also identify the full title and name that you want it to be corrected to: "Master Gunnery Sergeant Bustamonte-Lopez." Lock in the correction, and the next time in your document you type "mgst" and press the spacebar, the character's full name and title is entered. Pretty handy. This can work to expand your trigger to any word, phrase or sentence.
NOTE: It's probably not a good idea to use a real word as your trigger, just in case you need to use that word and don't want it always automatically corrected to your expanded form.
 If you need more or totally need your trigger to be a real word not to be automatically corrected , read on about AutoText.
AutoText:
AutoText entries are somewhat similar to autocorrect with some significant added functionality – kind of like making them AutoCorrect’s bigger and much badder brother. In fact, you can bypass using autocorrect entirely and any of the entries you would have made using the autocorrect function instead. AutoText has a number of functionality advantages over autocorrect:
  1. It can encompass multiple paragraphs, varying textual formats, even section breaks.  Essentially, anything you can put into your manuscript, you can replicate with a simple set of keystrokes.
  2. You can use any text as a trigger for creating the text: you are not limited to code words since inserting the AutoText entry requires a specific trigger action (in Word, it’s pressing the F3 key).
  3. AutoText triggers can be saved with the current manuscript, or saved globally for use with any future document. 
You can use it to create page layout changes on the fly, for example if you need to alter from portrait to landscape for an illustration and back. Oh, and have the font size and paragraph formatting different in the altered page. You can repeat the process of establishing the necessary breaks, and formatting, or you can do it once, save it as an AutoText entry, and re-use with only a few keystrokes. The hardest part is creating your block of formatted text - which you have to do anyway. Save it as an AutoText entry and you’re Ready to Rumble™ to use it again and again.
Example: I used MS Word as a report generator for SQL database queries. (There, I just lost two of my now three regular readers.) Depending on the data I returned, I needed to have a differently formatted document, combining font names, sizes and table shape.  Instead of using multiple templates (to be discussed later), I created the different configurations ahead of time, and saved them as AutoText entries. Then, when the user needed to create the report, using a macro (also to be discussed later)  the fully formatted AutoText configuration is placed in the document and filled with the query results. Probably far more complicated than will commonly be used, but a illustrative example of what can be done.
That should give you a couple of ideas about how you can more effectively use your creative time writing, instead of typing. Next up: styles, templates and *gasp* macros.
0 Comments

VBA Code Wrangling

7/25/2012

0 Comments

 
In the environment I am working, we use MS Word - customized to within a hairsbreadth of its life. Across multiple code templates that are loaded when Word starts, document/code templates that are available only when a particular document type is open, and even docm files that are documents that contain code, there is close to 100K lines of VBA code. That's a lot of code to manage. 

As part of the management process, changes and/or updates are necessary. That's pretty much what we do, most of the time, and add new functionality when users dream up something new. All good. The issues I was running into was the time spent looking for a particular function or module that I could leverage as is, or repurpose with limited modifications. 

The search ability built into the Visual Basic Environment is limited to open code documents and templates. And, unlike OpenOffice code, Word's code is not simple text files that can be searched via really handy tools such as GREP. It looked like I had to roll my own. No problem. VBA contains a self-referential method to examine the code itself. What I did was open all the code templates/documents, extract the contents of all the modules' subs and functions, and built a single searchable Word document, color coded and styled to identify template, subs, functions and comments.

After the initial code development and ensuring it all worked, I put it all in a portable docm, slapped an interface on the front and created a few bells and whistles to make using it easier. Now, all I need to do is open the codeoutput.docm file, and double click the start button on the document to launch the options dialog, click the appropriate generate button, and get a fresh cup of coffee while it grinds through all my templates and code documents.

There are a few options that I can select as shown in the image below. You can identify folders of code templates to include, and individual code templates/files to exclude. Both of those processes are point and click using the "+" and "-" buttons. To add, click the "=" and use the folder/file picker to make your selection. To remove, select an item in the list and click "-".
Picture
Clicking the "Sub & Fcn List" button generates a three-column table list of all your subs and functions, and includes the first line past the name of the sub or function and saves the file as "Sub_Fcns<yyyymmdd>.docx" in the location where you've indicated. Why the first line past the name, you ask? I includedi t, since I usually put a comment here that indicates the purpose of the sub/function. All public subs/functions are highlighted. Snip below.
Picture
Clicking the "All Text" button generates the whole enchilada. It creates and saves the file as "Code<yyyymmdd>.docx" in the location you've indicated in the form. What I did after that is convert the document to a chm file, so I didn't have to open the document for searching if I was knee deep in Word code. Launch the .chm, and keep it open for reference.  

Each module is styled as Heading1 and each sub or function is styled as Heading2. That way, you can collapse the document to an outline and speed around if you want, and, if you convert it to a .chm file, the styles can become TOC entries. What it looks like is shown below. 
Picture
Click the "Save Settings" button to save the folders to include, files to exclude and file types for the next time you need it. 

If you want to download the docm that does it and modify it for your own purposes, click below and have at it. I'm sure many can improve it. The code has a digital signature verified by Verisign. I'm legit! 
codeoutput.dotm
File Size: 62 kb
File Type: dotm
Download File

0 Comments

Zip-a-dee-doo-dah, zip-a-dee-aye

3/20/2012

0 Comments

 
With a tip of the earworm hat to Disney, I hadn't been in my new position 5 hours before I was unceremoniously dumped into the tech stew that is the Word 2010 object model, and more specifically, the ribbon. I have no one else to blame but myself, however, as the dunking was completely self-inflicted.

It took a few more hours of poking, prodding, reading and trial & error, but I think I am finally gaining some headway in providing customizations, and even dynamic ones at that. Of course, along the way, I made some wrong turns, and went down some apparently blind alleys, but every error-path turned up something useful – just not necessarily useful to me right now.

One of the alleys I followed included a process of making the OS (in this case, Window 7) think a .docx/docm file was a zip file, in order to add some material to it. That wasn't a direction I needed to be heading but…

Everything old is new again (according to Barenaked Ladies), and apparently everything recent is new, too. Making the OS think a document is a zip was the way in which I was able to crack it open and peer at the XML innards using OpenOffice. It seems that is the way of Microsoft Word 2010, too. In addition to recalling my VB/VBA/MS T-SQL stuff, I guess I get to leverage my more recent knowledge of XML inside a document. 

I don't know for sure if I can play directly with the XML at this point, as the direction wasn't where I needed to be heading at this time. But you can be sure I'll be purposefully looking down that alley in the near future. 
0 Comments

Forward to the Past

3/13/2012

0 Comments

 
After nearly five years of exclusively dealing with OpenOffice (OO) Writer as my word processor, and developing code behind it, I am heading back to Microsoft Word-land. A lot of the differences between the two may or not make a difference in how easily I return to MS land; I remember some of the things that OO lacked at the start that really bugged me. 

I am really looking forward to a robust support and help environment (can anyone say Intellisense?), the very large support infrastructure of developers and the MSDN availability online. I will miss the ease of access to the inner workings of OO's .xba code files and the ease with which I could even access the base XML of a .odt file. After all, an odt is simply a zipped file of xml and other supporting documents. To access the base XML, all a user has to do is change the extension of the .odt to .zip and open it up. All the information about the document is now readily available in a simple XML format. 

I don't know if that accessibility is there in the newest version of MS Word, but it was sadly lacking in the last version I coded against. In that version (2003) the files were binary and unaccessible. Most unfortunate. 

So long OO, the run's been fun, and I'll still be using you on my own computer, but for work, it's off to Microsoft. It's time to stop looking at ThisComponent and start looking at ActiveDocument again.
0 Comments

    RSS Feed

    Author

    Just a guy out exploring the world. Former world-class never-was endurance runner.

    ​Hit me up, and we'll catch a beer or coffee in your town.


    Follow @slang4201

    Archives

    August 2022
    July 2022
    June 2022
    May 2022
    April 2022
    March 2022
    February 2022
    January 2022
    December 2021
    November 2021
    October 2021
    September 2021
    August 2021
    May 2021
    October 2020
    September 2020
    December 2019
    November 2019
    October 2019
    July 2019
    October 2018
    September 2018
    May 2018
    April 2018
    November 2017
    October 2017
    July 2017
    June 2017
    June 2015
    August 2014
    January 2014
    October 2013
    September 2013
    June 2013
    May 2013
    April 2013
    March 2013
    February 2013
    January 2013
    December 2012
    November 2012
    October 2012
    September 2012
    August 2012
    July 2012
    June 2012
    May 2012
    April 2012
    March 2012
    February 2012
    January 2012
    December 2011
    November 2011
    October 2011
    August 2011
    March 2011
    October 2010
    July 2010
    January 2009
    December 2008
    October 2008

    Categories

    All
    2011
    Alfama
    Alternate Energy
    Android
    Angela Sullivan
    Animals
    Antiques
    Apple
    Ash Canyon
    Astronomy
    AT&T
    Australia 2022
    Bailout
    Battery
    Bicycling
    Biometrics
    Books
    Brisbane
    Cairns
    Canary Islands
    Carrier Iq
    Carson City
    Cascais
    Centennial
    C Hill
    C-Hill
    Christmas
    Climate
    Clothing
    Coding
    Colorado
    Columbus
    Cramps
    Curiosity
    Dad
    Dardanelles Lake
    Dell
    Dick's Lake
    Dilbert
    Diving
    Eagle Lake
    Earworms
    Eating Problems
    Eclipse
    Economy
    Ecuador
    Education
    Eldorado Canyon
    El Valle
    Energy
    Errors
    Espionage
    Europe 2019
    Evi
    Fallon
    Family
    Fontanillis Lake
    Food
    Gamboa
    Garmin
    Geocaching
    Goals
    Google
    Google Earth
    Grouse Lake
    Hiking
    Inov8
    Investing
    Ipad
    Iphone
    Iron Mountain
    Lanzarote
    Legislatures
    Lisbon
    Mac
    Market
    Market Drop
    Mars
    Mctarnahan
    Medicine
    Microsoft Word
    Motivation
    Mountain Biking
    Moving Minutes
    Music
    Nevada Day
    Nfc
    Ohio
    Olympics
    Openoffice
    Opportunity
    Panama 2018
    Panama 2022
    Paper Airplane
    People
    Playa Coronado
    Politics
    Portugal
    Prison Hill
    Privacy
    Puts
    Puzzles
    Quito
    Race
    Rant
    Reno
    Retrospective
    Roosevelt
    Running
    Running Dynamics
    Saddest Cities
    Safe & Sober
    Science
    Scuba
    Shoes
    Shopping
    Sicily
    Sierra
    Sierra Canyon
    Sintra
    Slangsploration
    Snl
    Soccer
    Software
    Spasms
    Spirit
    Sullivan Canyon
    Svn
    Tahoe
    Tahoe Rim Trail
    Taormina
    Taxes
    Technology
    Transit
    Travel
    Trees
    Vba
    Velma Lakes
    Venus
    Verizon
    Violin
    Watches
    Weather
    Wolframalpha
    Words
    Wrestling
    Writing
    Xkcd
    Yawbe
    Yoga

This is ALL MINE, I tell you! copyright 2010-2022