Hypertext link formatting options - disable auto formatting? Link export?

I am editing a document with a lot of hyperlinks in different paragraph types (headers etc.) and each has different font characteristics. The final destination of the document is a .pdf file and I’d like the links to be clickable in the pdf.

Adding or editing hypertext documents autoformats the anchor text with the “Internet Link” character format. While this can be customized, it applies all formatting characteristics specified which breaks paragraph formatting.

I have found it is possible to override this with direct formatting, but that’s extremely tedious in a large document. I have not found a way to define multiple styles or to override the automatic application of “Internet link” style (disabling URL Recongition in autocorrect settings doesn’t help for an explicit hypertext link).

I can’t find a way to apply a different character style over the auto-applied “internet link” style.

So far the only solution to achieve the desired appearance is manually applied direct formatting to override the auto-formatting of the anchor text. What am i missing? I mean, obviously a lot, but specifically here…

Internet Link is a very special character style. When hyperlink recognition is enabled, Writer adds Internet Link over the active styles formatting. This is the only case where you can have two character styles simultaneously with precedence paragraph style < character style < Internet Link < direct formatting.

Depending on which attribute from para+char styles you wont to keep in the hyperlink, you have to customise Internet Link to put these attributes in “transparent state”. So tell me which and I’ll give you the recipe.


If you have already customised Internet Link, you may have fiddled with some attributes you want to see from the other character style or paragraph style. This is where it is important to set the non-essential (for you) attributes to “transparent” state. This is not trivial because it is not explained in the documentation.
I then reiterate my request about what you want to do and how you did it (to better illustrate the case, attach a 1-page sample file).

Can you be more specific about what does not go according to your expectations? I cannot see an issue. For me, the hyperlink character style only adds blue color and underline to whatever formatting is implied by the character style, i.e., preserves all other formatting features. A different character style even remains in effect, which is exceptional for character styles.

You can edit that character style to remove any formatting features if that is what you are looking for, or remove the character style: the link will still work.

I’m getting a specific font, size, font features, etc. applied, but I messed with the style and maybe borked it. If I delete the size specification, it defaults to 2pt. I may be stuck in a FrameMaker mentality still, after all these years, but I miss “as is” as an option for the styles. It made it clear whether the style would or would not impose a modification.

If I inspect an applied character style, I get

Internet Link ->
  Char Difference Height           0
  Char Height                      2
  Char Property Height             100
  Char Underline                   0
  Char Underline Color             0x-1
  Char Underline Has Color         False

I think you have applied attributes that you don’t want and are overriding the existing styles. If you set any attribute, it overrides the paragraph style attribute.

In the Internet Link character style, you can press the Reset to Parent and it will revert to the same settings as its parent, No Character Style, that is it will change nothing in appearance.

If you want to then change the colour of the font for the link then, select the Font Effects tab and alter just that single attribute, same with underline if required, then OK. As far as I am concerned, these are the only two settings (plus colour of underline if implemented) in Internet link that should be changed.

Whenever you specify anything in a style configuration, you explicitly set the attribute to this value. Take the example of a check box. You tick it (you force its value to 1). Later, you change your mind about it and want to revert to previous state. Intuitively, you think that unticking the box will remove the mark. In fact, you force the value to 0.

Contrary to intuition, controls are tri-state. The third state is "transparent, i.e. use ancestor value. Unfortunately, there is no visual clue about this third state.

It becomes even more complicated when the attribute has many value like font size. The possibilities are what the menu shows plus “transparent state”. But any selection will force the value.

The only way to revert to “transparent” is to press Reset to Parent. But this erases all control values in the tab. So you have to re-configure the attributes you didn’t want to reset.

When I reset to parent, it defaults to a font set earlier and modifies all assigned characters to match. I suppose I messed it up in this document, which is a little annoying, but such is life.

FrameMaker has a very clear UI for creating a character “style” (and the other “catalog” entries). It is worth considering:


vs LO’s (after clicking “reset to parent”)

(Inherit from “None”)

Note the Character Style Inspector shows:


Which looks like it would do the right thing, but it does not seem to.

The No Character Style (for western text) comes from the setting in Tools > Options > LibreOffice Writer > Basic Fonts (Western) > Default. I guess you have Copperplate set there.

In the Organiser tab, Internet Link should Inherit from None. If you change it to None then the links will revert to their paragraph styled font.
In the Sidebar, Internet Link should not be a subsidiary of any style.

The only way to assert the cause is to have a look at a sample file of yours. One important thing to note is the activation of Asian text layout (which was not mentioned) as it splits formatting into various script and complicates matters.

Regarding the UI, there are many more parameters in Writer than in FM, needing several tabs in the dialog to avoid clutter. Also, font family+angle+weight+compress nowadays end up in a selection of a specific font file and only exceptionally lead to synthesising glyphs from a base font (though this remains a fallback possibility). Is there also the inheritance feature in FM? If yes, inheritance makes design more powerful but also more complex. In particular, is there a visual clue in the UI that a specific attribute is not native (what I call "transparent state)? This is not done in Writer.

Thanks for all the expert help:

I did try setting it to Inherit from None and the links get reset to copperplate 12. However, in a new document the link format works just like you said it should. I’m not sure why I can’t reset the style to default, but the difference between a clean “internet link” style and my messed up one is obvious in the inspector view (messed up on top, on the bottom Character Styles doesn’t expand, none are set):

This isn’t a huge deal for a one-off document. I’ll be careful messing with Internet Link and Visited Internet Link styles in the future and just remove the 1990s style underline and bright blueness.

BTW, an entertaining thing to try is to open two documents and set the Internet Link style to different colors, then switch between documents… it doesn’t (seem to) change the on page formatting but the style preview on the background document sidebar takes the attributes of the foreground document’s style selections if you click in the document window of the foreground document. In this code there be dragons.

WRT to FM/LO: indeed, there are a lot more parameters available in LO and support for advanced font features is a big reason to use LO as well as fairly solid support for RTL and a few other features (plus keeping a Win VM around to run FM is not an acceptable way to work). I do miss the “frames” concept from frame maker and the ability to link text flows across pages making things like side-by-side translations easy to set up in FM and impossible in LO, but otherwise I’m not promoting the features as “better” nor more complete nor suggesting “Light Salmon” be a default color name (Lightly Fried Fish Fillets, maybe). I do think the UI paradigm of explicitly showing the “third mode” of a style parameter value as explicitly “As Is” (or “not set”) and for binary options a gray check on a light gray background is worth considering.

Enabling direct editing of the style inspector in an “about:config” way would be a pretty awesome power user feature (a web search for this didn’t turn up any hints that this could be done). This might be a good way to fix problems like this - a direct editor might have an “unset” or “delete entry” option that would revert to unset.

To that end, unpacking the document and looking at styles.xml, I see:

<style:style style:name="Internet_20_link" style:display-name="Internet link" style:family="text"><style:text-properties fo:color="#000031" loext:opacity="100%" fo:font-size="9pt" style:text-underline-style="none"/></style:style>

So i deleted that style from the document’s style.xml file, rebuilt the .odt file with the modified style.xml and got the original behavior back, then only edited the color/underline features and it seems to be working as expected - the Internet link style now makes the text a barely discernibly blue #000031 and links are exported to .pdf, but don’t make the document look like a hand-coded web page from 1996 and changes only that color characteristic, not font etc.

So, TL:DR, if you screw up your very special Internet Link and/or Visited Internet Link character styles, the problems can be written do the document file and default behavior can be restored by deleting those character styles from the styles.xml file bundled inside the .odt compressed document.

Also, if you want to get crazy, you can directly edit your styles that way. Not quite an about:styles like tabular editing capability, but semi-human readable.

Writer frames can be chained. The procedure is clearly explained in the built-in help.

I recently helped for such a document. The linked frames is not a good idea because text expansion is different from language to language. With frames it is impossible to synchronise two flows. The alternative solution is to reduce parallel flows to “logical blocks” of the source text. But then you end up with thousands of flows, this is unmanageable (by humans) and Writer becomes unstable. In addition, frames are not auto-adaptative and you must manage the frame sizes manually. I let you think about the consequences of any edit.

The correct solution is to use a 2-column table. Each row corresponds to a “logical block” like a paragraph of the source language. Therefore thanks to the cell paradigm, your translation remains always synchronised, with blank space at end of some paragraphs either in the source or destination language columns.

This thread direction is tangential to the original problem - which is solved, thank you all for the insight that lead me to understand the behavior I wanted was how it should work and the behavior I had was because I’d messed something up in my document.

I have used a two column table before, not quite the same thing and there are standing requests for improvement to parallel flows. I realize it is challenging and it is certainly OK that LO doesn’t do everything for everyone and is not a criticism. I’ll look more deeply at the frames support as it exists and learn something. Last time I looked it wasn’t possible to link flows the way I got used to in FM - again, not a criticism. It’s just an opportunity to review previously developed solutions to document structure problems and learn from other dev teams’ efforts.

My (personal) preference for parallel translation is to align anchors (usually headers) or text anchor points. This makes writing and editing fairly fluid as the document is continuous rather than broken into cells and it achieves a formatting I find more pleasing than tabular form. I can’t do that in LO (yet) but

The features it does have continue to improve over time thanks to edge use cases and thoughtful suggestions, just like FOSS should.

A table in Writer is just a “container” and has no implication on formatting. It only imposes a layout, very roughly similar to multi-column except you have no automatic spill over to some other cell. Every cell is an independent flow, the same as a frame, where you style text the way you like. If you don’t use borders, it is visually impossible to tell your text is written inside a table.